Ubuntu18.04でソフトウェアRAIDを組む
スポンサーリンク
Ubuntu18.04でmdadmソフトウェアRAIDを組んでデータストレージとして使う
構成
- CPU: Ryzen Threadripper 1950X
- M/B: ASUS PRIME X399-A
- HDD: Western Digital Gold WD1005FBYZ *4
ディスクの確認
/dev/sdc~/dev/sdfまでのHDD4本でRAID10を作る。
$ sudo parted -l | grep /dev/sd Disk /dev/sda: 2000GB Disk /dev/sdb: 240GB Disk /dev/sdc: 1000GB Disk /dev/sdd: 1000GB Disk /dev/sde: 1000GB Disk /dev/sdf: 1000GB
ファイルシステムの作成
まずHDD4本に対してpartedでパーティションを作成する。
(参考: LinuxでHDDのパーティションテーブル作成とフォーマット方法)
また、RAIDのフラグをオンにする。
$ sudo parted /dev/sdc (parted) mklabel gpt Y (parted) mkpart ext4 0% 100% (parted) set 1 raid on
次に、ファイルシステムを作成する
$ sudo mkfs -t ext4 /dev/sdc1
これを/dev/sdc~/dev/sdfの4本に対して実行。
RAIDアレイの構築
下記コマンドで、RAID10を4本のHDDで構築できる。
ファイルシステムを作成していないとそのHDDが出力に出力されない
$ sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd[cdef]1 mdadm: /dev/sdc1 appears to contain an ext2fs file system size=976760832K mtime=Thu Jan 1 00:00:00 1970 mdadm: /dev/sdd1 appears to contain an ext2fs file system size=976760832K mtime=Tue Feb 26 06:19:05 2019 mdadm: /dev/sde1 appears to contain an ext2fs file system size=976760832K mtime=Thu Jan 1 00:00:00 1970 mdadm: /dev/sdf1 appears to contain an ext2fs file system size=976760832K mtime=Thu Jan 1 00:00:00 1970 Continue creating array? (y/n) y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
構築経過は下のコマンドで確認できる。3時間ちょっとかかりそう。
$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid10 sdf1[3] sde1[2] sdd1[1] sdc1[0] 1953257472 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] [>....................] resync = 0.3% (5872256/1953257472) finish=197.5min speed=164280K/sec bitmap: 15/15 pages [60KB], 65536KB chunk unused devices: <none>
mdadmを設定する
$ sudo bash -c 'mdadm -Es | grep md/0 >> /etc/mdadm/mdadm.conf'
RAIDアレイの初期化
RAIDアレイを確認する
$ sudo parted -l Error: /dev/md0: unrecognised disk label Model: Linux Software RAID Array (md) Disk /dev/md0: 2000GB Sector size (logical/physical): 512B/4096B Partition Table: unknown Disk Flags:
パーティションを作成(不要?)
$ sudo parted /dev/md0 (parted) mklabel gpt (parted) mkpart ext4 0% 100% (parted) quit
フォーマット
$ sudo mkfs -t ext4 /dev/md0 mke2fs 1.44.1 (24-Mar-2018) Found a gpt partition table in /dev/md0 Proceed anyway? (y,N) y Creating filesystem with 488314368 4k blocks and 122085376 inodes Filesystem UUID: ac9462a0-e789-475e-86a6-55e4abb4ffc6 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
マウント(テスト)
$ sudo mount /dev/md0 /mnt
自動マウント
UUIDを確認
$ sudo blkid | grep /dev/md0 /dev/md0: UUID="ac9462a0-e789-475e-86a6-55e4abb4ffc6" TYPE="ext4"
/etc/fstabを編集
$ sudo vim /etc/fstab UUID=ac9462a0-e789-475e-86a6-55e4abb4ffc6 /mnt ext4 defaults,noatime 0 0