| RAID 1 を構成する2024/05/08 | 
| 
稼働中のシステムに HDD 2 台を増設して RAID 1 を構成します。
 | |
| [1] | 当例では、以下のような構成のシステムに、新たに sdb, sdc を追加して RAID 1 を構成します。 増設ディスクは内蔵ディスク または iSCSI ディスクでも OK です。 | 
| root@dlp:~# df -h  Filesystem Size Used Avail Use% Mounted on tmpfs 392M 1.1M 391M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 28G 6.1G 20G 24% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda2 2.0G 95M 1.7G 6% /boot tmpfs 392M 12K 392M 1% /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 : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[1] sdb1[0]
      83817472 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  2.1% (1801344/83817472) finish=6.0min speed=225168K/sec
unused devices: <none>
# 同期が完了すると以下のようなステータスになる # 以上で RAID 1 設定完了 root@dlp:~# cat /proc/mdstat  
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
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/sdc1root@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 tmpfs tmpfs 392M 1.1M 391M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv ext4 28G 6.1G 20G 24% / tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda2 ext4 2.0G 95M 1.7G 6% /boot tmpfs tmpfs 392M 12K 392M 1% /run/user/0 /dev/md0 ext4 79G 24K 75G 1% /mnt # fstab に記載する場合は # md*** の名前はハードウェア構成の変更等により変わるため UUID で記載する root@dlp:~# blkid | grep md  /dev/md0: UUID="de532c2c-67a6-44bf-84d8-8d5eba55e752" BLOCK_SIZE="4096" TYPE="ext4" 
root@dlp:~#  vi /etc/fstab  # 調べた UUID で記述 
/dev/disk/by-id/dm-uuid-LVM-OVORwCq99gl1jfieBtHmuXzxuK5vy6IBH9gC1yhsecDaXjqfv9aWK3K1rd7AZczP / ext4 defaults 0 1
# /boot was on /dev/vda2 during curtin installation
/dev/disk/by-uuid/53b66f54-ce3a-4717-87c8-c841549386bf /boot ext4 defaults 0 1
/swap.img       none    swap    sw      0       0
/dev/disk/by-uuid/de532c2c-67a6-44bf-84d8-8d5eba55e752 /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 | 
|  |