YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-03-20 (水)


[一語一絵/IT系]

RAID再構築 / 2011-07-27 (水)

昨年低速病が発症したWD15EADSLinuxでは特に問題無かったことからGT110bのデータドライブとして復活しているのだが、昨年12月に入手したWD15EARSはパーティションの開始セクタが8の倍数になっていないと本来のパフォーマンスが発揮されないAFT(Advanced Format Technology)ドライブになっていたので、WD15EADSとWD15EARSのRAIDミラーリングペアを解消し、改めてWD20EARS×2で組み直す事に。

まず最初に暫定マウントの/mnt/sharedからunmountして、/dev/md2を止め、/dev/sddなWD20EARSを開放。

root@GT110b:~# umount /mnt/shared
root@GT110b:~# mdadm --stop /dev/md2
root@GT110b:~# mdadm --misc --zero-superblock /dev/sdd
一度mdadmで使用したHDDを使いまわす場合は--zero-superblockでsuperblockをクリアする事が肝要。さもないと、RAIDの亡霊に悩まされる事になる。

そしてpartedで/dev/sddのパーティション設定。

root@GT110b:~# parted /dev/sdd
GNU Parted 2.2
/dev/sdd を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
警告: いま存在している /dev/sdd のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? yes
(parted) unit MiB
(parted) mkpart md0 ext4 1 -1
(parted) set 1 raid on
(parted) unit s
(parted) print
モデル: ATA WDC WD20EARS-00S (scsi)
ディスク /dev/sdd: 3907029168s
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始   終了         サイズ       ファイルシステム  名前     フラグ
1    2048s  3907028991s  3907026944s                    md0  raid

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

root@GT110b:~#
"unit MiB"で開始位置を1MBに設定したが、"unit s"で見た開始セクタが2048と、8の256倍になっている事に注目。

続いて2TBのRAID1、/dev/md0を作成。

root@GT110b:~# mdadm --create --assume-clean /dev/md0 --level=1 --raid-devices=2 missing /dev/sdd1
root@GT110b:~# mkfs.ext4 /dev/md0
root@GT110b:~# mkdir /mnt/home.new
root@GT110b:~# mount /dev/md0 /mnt/home.new
UUIDを取得して起動時のRAID構成を設定し、
root@GT110b:~# echo "MAILADDR raidadmin@bravotouring.com" > /etc/mdadm/mdadm.conf
root@GT110b:~# echo DEVICE /dev/sd[a-z]* >> /etc/mdadm/mdadm.conf
root@GT110b:~# mdadm --detail --scan >> /etc/mdadm/mdadm.conf
root@GT110b:~# cat /etc/mdadm/mdadm.conf
MAILADDR raidadmin@bravotouring.com
DEVICE /dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb /dev/sdc /dev/sdd
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=073dfe34:bb84ba69:266f9421:62606ea4
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=1c57aac9:48170711:ae8dc6f6:0f0b59ea
起動時にマウントされるよう/etc/fstabもblkidベースのUUIDで書き換える。
root@GT110b:~# blkid -o value -s UUID /dev/md0 /dev/md1
6796a910-a5f5-48d3-8b2d-e11bf74d4775
d9f9be15-d707-4705-8b8d-4bd5b316368a
root@GT110b:~# blkid -o value -s UUID /dev/md0 /dev/md1 >> /etc/fstab
root@GT110b:~# cat /etc/fstab
~~
# /home was on /dev/md1
UUID=d9f9be15-d707-4705-8b8d-4bd5b316368a /home           ext3    defaults        0       2
# /mnt/shared was on /dev/md0
UUID=6796a910-a5f5-48d3-8b2d-e11bf74d4775 /mnt/shared     ext4    defaults        0       2

最後に確認。

root@GT110b:~# /sbin/parted --list
モデル: ATA WDC WD1602ABYS-1 (scsi)
ディスク /dev/sda: 160GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了   サイズ  タイプ    ファイルシステム  フラグ
1    1049kB  154GB  154GB   primary   ext3              boot
2    154GB   160GB  6146MB  extended
5    154GB   160GB  6146MB  logical   linux-swap(v1)


モデル: ATA WDC WD15EARS-00M (scsi)
ディスク /dev/sdb: 1500GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
1    1049kB  1500GB  1500GB                    primary  raid


モデル: ATA WDC WD15EADS-00P (scsi)
ディスク /dev/sdc: 1500GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: loop

番号  開始   終了    サイズ  ファイルシステム  フラグ
1    0.00B  1500GB  1500GB  ext3


モデル: ATA WDC WD20EARS-00S (scsi)
ディスク /dev/sdd: 2000GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
1    1049kB  2000GB  2000GB                    md0  raid


モデル: 不明 (unknown)
ディスク /dev/md0: 2000GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: loop

番号  開始   終了    サイズ  ファイルシステム  フラグ
1    0.00B  2000GB  2000GB  ext4


モデル: 不明 (unknown)
ディスク /dev/md1: 1500GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: loop

番号  開始   終了    サイズ  ファイルシステム  フラグ
1    0.00B  1500GB  1500GB  ext3

root@GT110b:~#

【参照】