Top > Linux > RAID

* 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]

partedで地道にやる


 $ sudo parted /dev/sdg
 mklabel gpt
 print


ディスクの情報が見えるようになる

※類似デバイスの情報をprintしてmkpartする

 set 1 raid on
 print

大丈夫ならquitする

 $ sudo mdadm --manage /dev/md3 --add /dev/sdg1
 $ cat /proc/mdstat

recoverがはじまったらあとは待つ

** 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&#232;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]]

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes