RAID 1 を構成する2023/07/17 |
稼働中のシステムに HDD 2 台を増設して RAID 1 を構成します。
|
|
[1] | 当例では、以下のような構成のシステムに、新たに sdb, sdc を追加して RAID 1 を構成します。 増設ディスクは内蔵ディスク または iSCSI ディスクでも OK です。 |
root@dlp:~# df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 794M 580K 794M 1% /run /dev/mapper/debian--vg-root 77G 1.2G 72G 2% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda1 455M 58M 373M 14% /boot tmpfs 794M 0 794M 0% /run/user/0 |
[2] | 増設した 2 台のハードディスクにパーティションを作成し、RAID フラグをセットしておきます。 |
root@dlp:~#
root@dlp:~# apt -y install parted parted --script /dev/sdb "mklabel gpt" root@dlp:~# parted --script /dev/sdc "mklabel gpt" root@dlp:~# parted --script /dev/sdb "mkpart primary 0% 100%" root@dlp:~# parted --script /dev/sdc "mkpart primary 0% 100%" root@dlp:~# parted --script /dev/sdb "set 1 raid on" root@dlp:~# parted --script /dev/sdc "set 1 raid on"
|
[3] | RAID 1 を構成します。 |
root@dlp:~# mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
# 状態確認 ( [UU] となっていれば OK ) root@dlp:~# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc1[1] sdb1[0] 83817472 blocks super 1.2 [2/2] [UU] [=>...................] resync = 6.6% (5601664/83817472) finish=6.2min speed=207469K/sec unused devices: <none> # 同期が完了すると以下のようなステータスになる # 以上で RAID 1 設定完了 root@dlp:~# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc1[1] sdb1[0] 83817472 blocks super 1.2 [2/2] [UU] unused devices: <none> |
[4] | 例えば、いずれか一方のハードディスクが故障した場合は、以下のようにして RAID ARRAY を再構成できます。 |
# 異常発生時にはステータスが以下のようになる root@dlp:~# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc1[1] sdb1[0] 83817472 blocks super 1.2 [2/1] [U_] unused devices: <none> # 故障ディスクを新しいディスクと交換し [2] の手順でパーティション作成する # その後は以下のように RAID ARRAY に追加する root@dlp:~# mdadm --manage /dev/md0 --add /dev/sdc1
mdadm: added /dev/sdc1
root@dlp:~# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc1[1] sdb1[0] 83817472 blocks super 1.2 [2/2] [UU] [====>................] resync = 24.9% (20902592/83817472) finish=7.4min speed=140632K/sec unused devices: <none> |
[5] | 使用する場合は、通常通り、任意のファイルシステムでフォーマットして、任意のマウントポイントにマウントします。 |
# 例として ext4 でフォーマットして /mnt にマウント root@dlp:~# mkfs.ext4 /dev/md0 root@dlp:~# mount /dev/md0 /mnt root@dlp:~# df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 3.9G 0 3.9G 0% /dev tmpfs tmpfs 794M 612K 794M 1% /run /dev/mapper/debian--vg-root ext4 77G 1.3G 72G 2% / tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda1 ext2 455M 58M 372M 14% /boot tmpfs tmpfs 794M 0 794M 0% /run/user/0 /dev/md0 ext4 79G 24K 75G 1% /mnt # fstab に記載する場合は # md*** の名前はハードウェア構成の変更等により変わるため UUID で記載する root@dlp:~# blkid | grep md /dev/md0: UUID="b86ccee3-a201-4dee-a44e-f253db4502db" BLOCK_SIZE="4096" TYPE="ext4"
root@dlp:~#
vi /etc/fstab # 調べた UUID で記述
/dev/mapper/debian--vg-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/vda1 during installation
UUID=182de54c-3813-4973-9711-87b5c4f1a7c0 /boot ext2 defaults 0 2
/dev/mapper/debian--vg-swap_1 none swap sw 0 0
/dev/disk/by-uuid/b86ccee3-a201-4dee-a44e-f253db4502db /mnt ext4 defaults 0 0
# 以上で md*** の名前が変わった場合も正常にマウントされる root@dlp:~# df -hT /mnt Filesystem Type Size Used Avail Use% Mounted on /dev/md127 ext4 79G 24K 75G 1% /mnt |
Sponsored Link |