RAID5 構築
mdadm で RAID5 を構築
準備
HDD を 4 台接続しておく (VirtualBox で作っておく).
確認
新しい 3 台の HDD は /dev/sdc, /dev/sdd, /dev/sde として認識されている.
$ sudo parted -l Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 8590MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 8589MB 8588MB primary boot, raid Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdb: 8590MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 8589MB 8588MB primary boot, raid Error: /dev/sdc: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 8590MB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Error: /dev/sdd: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdd: 8590MB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Error: /dev/sde: unrecognised disk label Model: ATA VBOX HARDDISK (scsi) Disk /dev/sde: 8590MB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: Model: Linux Software RAID Array (md) Disk /dev/md0: 8583MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 32.3kB 7501MB 7501MB primary ext4 2 7501MB 8579MB 1078MB extended 5 7501MB 8579MB 1077MB logical linux-swap(v1)
HDD にパーティションテーブルを作成
$ sudo parted /dev/sdc GNU Parted 3.2 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel gpt (parted) unit GB (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 8.59GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags (parted) mkpart Partition name? []? raid06 File system type? [ext2]? ext4 Start? 0 End? 8.59 (parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 8.59GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 0.00GB 8.59GB 8.59GB ext4 raid06 (parted) quit Information: You may need to update /etc/fstab.
/dev/sdd, /dev/sde についても同様に.
(おまけ) コマンドラインで HDD にパーティションを作成
以下のようにするとコマンドラインでパーティションを作成できる
$ sudo parted -s -a optimal /dev/sda -- mklabel gpt mkpart raid6 ext4 1 -1
ソフトウェア RAID 設定
$ sudo mdadm --create /dev/md1 --level=raid5 --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sde1 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started.
注意: 下のようにすると (--raid-devices の数を減らして --spare-devices=1 を追加), ホットスワップを作れる.
$ sudo mdadm --create /dev/md1 --level=raid5 --raid-devices=2 --spare-devices=1 /dev/sdc1 /dev/sdd1 /dev/sde1
ファイルシステム作成
$ sudo mkfs -t ext4 /dev/md1 mke2fs 1.44.5 (15-Dec-2018) Creating filesystem with 4190720 4k blocks and 1048576 inodes Filesystem UUID: 64eab31a-076c-4e4f-b1bb-909c106d5e37 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
ファイルシステムのマウント
$ sudo mkdir /work01_raid5 $ sudo mount /dev/md1 /work01_raid5
RAID 情報の保存
$ sudo cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.org $ sudo -s # /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf # exit $ sudo dpkg-reconfigure mdadm
/etc/fstab への設定
UUID を確認
$ sudo blkid /dev/md1 /dev/md1: UUID="64eab31a-076c-4e4f-b1bb-909c106d5e37" TYPE="ext4"
以下を /etc/fstab に追記
UUID=64eab31a-076c-4e4f-b1bb-909c106d5e37 /work01_raid5 ext4 errors=remount-ro 0 1
悪くなさそう.