* RAID(md)関連 [#v7783f6c] ** RAID6デバイス作成例 [#s66b12d2] $ sudo mdadm --verbose --create /dev/md3 --level=raid6 --raid-devices=4 /dev/sd[cdef]1 スッと終わるので様子を確認します。 $ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md3 : active raid6 sdf1[3] sde1[2] sdd1[1] sdc1[0] 5860268032 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU] [>....................] resync = 0.5% (17578916/2930134016) finish=237.6min speed=204288K/sec resyncが終わるまでおとなしく待ちましょう。 ** RAID6デバイス追加例 [#da9e6b03] sdgというディスクが新規に増えた場合のやり方(※このやり方では途中で再起動を必要とするのでgdiskやpartedを使った方がよいかもしれない) $ sudo sgdisk /dev/sda -p -i 1 $ sudo sgdisk /dev/sdg -p -i 1 /dev/sda と /dev/sdg のパーティション情報を確認し、/dev/sdgを消去してよいことを確認する。 ''実行すると確認無しにパーティションの内容が完全に消去されるので注意して実行すること'' $ sudo sgdisk -Z /dev/sdg パーティション情報をコピーする。 $ sudo sgdisk -R=/dev/sdg /dev/sda 固有IDまでコピーされているのでユニークなものに変更する。 $ sudo sgdisk -G /dev/sdg 無事に完了したかどうかを確認する。 $ sudo sgdisk /dev/sda -p -i 1 $ sudo sgdisk /dev/sdg -p -i 1 disk typeを fd00 になっているか、既存の他のディスクのパーティションサイズと合っているか確認する。 ※ここで再起動するまでkernelに認識されず反映されない可能性がある。lsblkで確認する。 次に作成したパーティションをRAID管理下に追加する。 $ sudo mdadm --manage /dev/md3 --add /dev/sdg1 $ cat /proc/mdstat スペアディスクとして追加されてるハズなので、radi-devicesを増やせばRAID6の操作は完了。 $ sudo mdadm --grow /dev/md3 --raid-devices=7 $ cat /proc/mdstat reshapeがはじまる。それなりに時間がかかる(下記の場合だと1303分≒21.7時間)ので座して待つ。 md3 : active raid6 sdg1[8] sdd1[1] sdc1[0] sde1[2] sda1[7] sdb[5] sdf[6] 11720536064 blocks super 1.2 level 6, 512k chunk, algorithm 2 [7/7] [UUUUUUU] [>....................] reshape = 1.3% (39886848/2930134016) finish=1303.9min speed=36941K/sec LVMを利用している場合はこのあとPV(Physical Volume)を増加させる必要がある。 $ sudo pvresize /dev/md3 更にVGを増やしてLVを増やしてresize2fsをして……みたいな手順があるがその辺の手順についてはRAIDとは関係ないので [[Linux/LVM]] を参照。 ** 詳細表示 [#vf29f183] $ sudo mdadm --detail /dev/md3 Raid LevelやUUIDをここから確認できます。 ** EFIの場合に/bootをRAID1化する方法 [#ed329ff8] ※ここでは新規ディスクを /dev/sdX として記載する。 EFIの場合はルートディスクのパーティション構成が異なり、 /dev/sdX1 <- /boot/efi, vfat /dev/sdX2 <- /boot, ext2 /dev/sdX3 <- / (root volume) など のように、EFIパーティションが先頭にでき /boot が /dev/sdX2 になるので充分注意すること(一般的には /dev/sdX1 なのでその前提で記載されている場合が多い)。 まずはRAID1パーティションを作成する。まだ1台しか存在しない状態で作成するので missing を付与する。 $ sudo mdadm --verbose --create /dev/md1 --level=raid1 --raid-devices=2 /dev/sdX2 missing $ cat /proc/mdstat md1が存在していることを確認する。 次に、事前にEFIパーティション(通常 /dev/sdX2 )をマウントしておいた上で、grub-install、およびupdate-grubを行う。 grub-installを行う。 ''このコマンドは起動する可能性がある全てのHDDに対して行う。'' $ sudo grub-install --efi-directory=/boot/efi --target=x86_64-efi /dev/sdX 終わったら /boot をマウントする。 /etc/fstab の編集が終わっていることが前提。 ※2重マウントに注意すること。 http://wiki.bit-hive.com/north/pg/vfsmount%A4%CE%A5%EA%A5%B9%A5%C8%B4%C9%CD%FD%A4%CE%B8%A1%BE%DA(%A4%BD%A4%CE2) $ mount /boot/ 一通り終わったら update-grub を実施しておく。 $ sudo update-grub initramfs-toolsのraid1を有効化(または追記)する。 $ sudo vi /etc/initramfs-tools/modules update-initramfsする。念のためupdate-grubもしたほうが良いかも。 $ sudo update-initramfs -k all -u $ sudo update-grub ** 参考サイト [#g119981c] - 自己満足的自宅サーバーディスク構成変更(3)~システムパーティションの移動 - No hack, No chance -- http://sdk0815.blogspot.jp/2014/01/blog-post_5619.html -grub-install: "cannot find EFI directory" (CSM mode) / Installation / Arch Linux Forums --https://bbs.archlinux.org/viewtopic.php?id=178423 -LVMボリュームをSoftware RAID1の上に載せ替えてみた - Qiita --http://qiita.com/yuya_presto/items/66e9ac0cb180be3aa84b -Ubuntu 14.04 LT Desktop でSoftware RAID - Seishi Ono's blog --http://blog.seishiono.net/entry/2014/05/03/223948 -LinuxMania: RAIDボリュームからのブートとパーティション --http://www.linuxmania.jp/raid_md_grub.html -Ubuntu12.04によるHDDチェック、RAIDの解除 - Ubuntu忘備録 --http://blog.michinari-nukazawa.com/2013/12/ubuntu-check-hdd-not-partition-and.html -LinuxでソフトウェアRAIDを組んだり、パーティションをきったり。 - 日々量産 --http://d.hatena.ne.jp/ryousanngata/20121105/1352050873 -Linux mdadm で高速に RAID1 array を構築する - Qiita --http://qiita.com/nya/items/62e28175f3792772bfaf -Septième Sens: Linux (Ubuntu 11.04)で2TB超のHDをソフトウェアRAID化する (3) --http://septieme-sens.blogspot.jp/2011/08/linux2tbhdraid1-3.html -parted と gdisk で GPT ディスクのパーティショニング --http://mattintosh.hatenablog.com/entry/20140926/1411686000 -GPT パーティションテーブルを別のディスクにコピーする --http://d.sunnyone.org/2014/07/gpt.html [[Linux]] |