NASのHDDを容量の大きなHDDに換装したので2台の3TB HDDが余った。
DiskInfo で健康状態を確認してみる。特に問題なさそうで、使用時間もまだ1万時間にも届いていないので、準備中のUbuntu サーバーに実装してコンテンツ専用ドライブとして使うことにした。
- 元NAS 1台目
- 元NAS 2台目
- 問題ディスクの例
2台のHDDをそれぞれドライブベイ2と4に取り付けてサーバーPCを起動。ドライブの認識を確認する。
yuu@web2:~$ ls -la /dev/sd* brw-rw—- 1 root disk 8, 0 2月 11 18:20 /dev/sda brw-rw—- 1 root disk 8, 1 2月 11 18:20 /dev/sda1 brw-rw—- 1 root disk 8, 2 2月 11 18:20 /dev/sda2 brw-rw—- 1 root disk 8, 16 2月 11 18:20 /dev/sdb brw-rw—- 1 root disk 8, 17 2月 11 18:20 /dev/sdb1 brw-rw—- 1 root disk 8, 32 2月 11 18:20 /dev/sdc brw-rw—- 1 root disk 8, 33 2月 11 18:20 /dev/sdc1 brw-rw—- 1 root disk 8, 34 2月 11 18:20 /dev/sdc2 brw-rw—- 1 root disk 8, 48 2月 11 18:20 /dev/sdd brw-rw—- 1 root disk 8, 49 2月 11 18:20 /dev/sdd1 |
/dev/sdb と/dev/sdd が新しく追加したドライブ。
parted コマンドで/dev/sdb の全容量に対してRAID 用のパーティションを作成する。
yuu@web2:~$ sudo parted /dev/sdb [sudo] yuu のパスワード: GNU Parted 3.3 /dev/sdb を使用 GNU Parted へようこそ! コマンド一覧を見るには ‘help’ と入力してください。 (parted) unit GB (parted) mklabel gpt 警告: いま存在している /dev/sdb のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか? はい(Y)/Yes/いいえ(N)/No? y (parted) mkpart primary xfs 0% 100% (parted) set 1 raid on (parted) p モデル: ATA WDC WD30EFRX-68E (scsi) ディスク /dev/sdb: 3001GB セクタサイズ (論理/物理): 512B/4096B パーティションテーブル: gpt ディスクフラグ:番号 開始 終了 サイズ ファイルシステム 名前 フラグ 1 0.00GB 3001GB 3001GB xfs primary raid(parted) quit 通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。yuu@web2:~$ |
/dev/sdd に対しても同様の処理を行う。
mdadm コマンドでRAID1 アレイを作成する。
–create /dev/md1 にはRAIDアレイの名前を指定する。md0は既にあるのでmd1。
–level=1 RAIDの種類はミラーリングのRAID1を指定する。
–raid-device=2 /dev/sdb1 /dev/sdd1 でRAID1を構成する2台のデバイスを指定。
yuu@web2:~$ sudo mdadm –create /dev/md1 –level=1 –raid-device=2 /dev/sdb1 /dev/sdd1 mdadm: partition table exists on /dev/sdb1 mdadm: partition table exists on /dev/sdb1 but will be lost or meaningless after creating array 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 mdadm: partition table exists on /dev/sdd1 mdadm: partition table exists on /dev/sdd1 but will be lost or meaningless after creating array Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md1 started. yuu@web2:~$ |
コマンドが完了すると2台のデバイス間での同期が始まる。
次に作成したRAID1アレイをフォーマットする。
yuu@web2:~$ sudo mkfs.ext4 /dev/md1 mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 732533248 4k blocks and 183140352 inodes Filesystem UUID: be7b4534-682d-40f7-bc5e-63311a6f08cd Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done |
増設したドライブ、md1 が正常にRAID1として動作しているかどうかは以下のように確認できます。
yuu@web2:~$ cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md1: active raid1 sdd1[1] sdb1[0] ←sdd1とsdb1でRAID1アレイを構築 2930132992 blocks super 1.2 [2/2] [UU] ←2台のドライブ共に正常動作 bitmap: 0/22 pages [0KB], 65536KB chunkmd0 : active raid1 sda2[0] sdc2[1] 1952856064 blocks super 1.2 [2/2] [UU] bitmap: 1/15 pages [4KB], 65536KB chunkunused devices: <none> |
増設したRAID1アレイを使用できるようにマウントします。
始めにマウントするためのディレクトリを作り、そこにマウントします。
このドライブにはweb公開用のデータなどを入れる予定なので、ディレクトリ名は”contents”としました。
yuu@web2:~$ sudo mkdir /contents yuu@web2:~$ sudo mount /dev/md1 /contents |
マウントされていることを確認します。
yuu@web2:~$ sudo ls -la / 合計 4194392 drwxr-xr-x 21 root root 4096 2月 13 00:12 . drwxr-xr-x 21 root root 4096 2月 13 00:12 .. lrwxrwxrwx 1 root root 7 8月 1 2020 bin -> usr/bin drwxr-xr-x 4 root root 4096 2月 6 05:17 boot drwxr-xr-x 2 root root 4096 2月 5 22:10 cdrom drwxr-xr-x 3 root root 4096 2月 12 14:55 contents drwxr-xr-x 19 root root 4520 2月 11 20:09 dev drwxr-xr-x 100 root root 4096 2月 12 15:11 etc drwxr-xr-x 4 root root 4096 2月 9 22:29 home lrwxrwxrwx 1 root root 7 8月 1 2020 lib -> usr/lib lrwxrwxrwx 1 root root 9 8月 1 2020 lib32 -> usr/lib32 lrwxrwxrwx 1 root root 9 8月 1 2020 lib64 -> usr/lib64 lrwxrwxrwx 1 root root 10 8月 1 2020 libx32 -> usr/libx32 drwx—— 2 root root 16384 2月 5 22:09 lost+found drwxr-xr-x 2 root root 4096 8月 1 2020 media drwxr-xr-x 2 root root 4096 8月 1 2020 mnt drwxr-xr-x 2 root root 4096 8月 1 2020 opt dr-xr-xr-x 180 root root 0 2月 11 18:20 proc -rw-r–r– 1 root root 1391 2月 9 11:51 q drwx—— 5 root root 4096 2月 11 09:16 root drwxr-xr-x 32 root root 980 2月 12 14:15 run lrwxrwxrwx 1 root root 8 8月 1 2020 sbin -> usr/sbin drwxr-xr-x 6 root root 4096 2月 5 22:57 snap drwxr-xr-x 2 root root 4096 8月 1 2020 srv -rw——- 1 root root 4294967296 2月 5 22:23 swap.img dr-xr-xr-x 13 root root 0 2月 11 18:20 sys drwxrwxrwt 13 root root 4096 2月 13 00:09 tmp drwxr-xr-x 14 root root 4096 8月 1 2020 usr drwxr-xr-x 14 root root 4096 2月 10 10:26 var |
/contents の中を確認します。
yuu@web2:~$ ls -la /contents 合計 24 drwxr-xr-x 3 root root 4096 2月 12 14:55 . drwxr-xr-x 21 root root 4096 2月 13 00:12 .. drwx—— 2 root root 16384 2月 12 14:55 lost+found |
web公開用のコンテンツなどはこのドライブ置くことにします。
OS起動時に増設したRAIDドライブが自動的にマウントする設定をします。
HDDのUUIDを確認します。
yuu@web2:/$ sudo blkid /dev/md127 /dev/md1: UUID=”be7b4534-682d-40f7-bc5e-63311a6f08cd” TYPE=”ext4″ |
/etc/fstab を編集して以下の1行を書き加えます。各項目の間はTABで区切ります。
UUID=be7b4534-682d-40f7-bc5e-63311a6f08cd /contents ext4 defaults |
保存終了してOSを再起動し、増設したドライブが自動でマウントされていることを確認します。
yuu@web2:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 7877580 0 7877580 0% /dev tmpfs 1584304 2644 1581660 1% /run /dev/md0 1921155304 7692188 1815803932 1% / tmpfs 7921508 0 7921508 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 7921508 0 7921508 0% /sys/fs/cgroup /dev/sda1 523248 7988 515260 2% /boot/efi /dev/md1 2883089592 90164 2736476396 1% /contents /dev/loop0 56832 56832 0 100% /snap/core18/1944 /dev/loop1 71680 71680 0 100% /snap/lxd/19188 /dev/loop2 73088 73088 0 100% /snap/lxd/16099 /dev/loop3 31872 31872 0 100% /snap/snapd/10707 /dev/loop4 56832 56832 0 100% /snap/core18/1988 /dev/loop5 31872 31872 0 100% /snap/snapd/11036 tmpfs 1584300 0 1584300 0% /run/user/1000 |