工事中! 以下は仕掛かり中のメモ書きです
LVMパーティションをソフトウェアRAID1の上に作成するまでの手順。
RAID1の設定
単独RAID1立ち上げ
1 2 3 4 5 |
foo@bar:~$ sudo mdadm --create /dev/md1 --level=1 --raid-devices=1 --force /dev/sda1 mdadm: array /dev/md1 started. foo@bar:~$ sudo mdadm --detail --scan # UUIDはマスキングしています ARRAY /dev/md1 level=raid1 num-devices=1 UUID=00000000:00000000:00000000:00000000 |
LVM初期設定
PV(Physical Volume)作成(RAIDアレイを使用)
1 2 3 4 5 |
foo@bar:~$ sudo pvcreate -v /dev/md1 Wiping cache of LVM-capable devices Set up physical volume for "/dev/md1" with 2930271872 available sectors Zeroing start of device /dev/md1 Physical volume "/dev/md1" successfully created |
VG(Volume Group)作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
foo@bar:~$ sudo vgcreate -s16m data /dev/md1 Volume group "data" successfully created foo@bar:~$ sudo vgdisplay --- Volume group --- VG Name data System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 1.36 TB PE Size 16.00 MB Total PE 89424 Alloc PE / Size 0 / 0 Free PE / Size 89424 / 1.36 TB VG UUID ZcgQ57-QhgB-H2sa-1x87-oi8f-82yA-xxxxxx |
LV作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
foo@bar:~$ sudo lvcreate -nvideo -L512G data Logical volume "video" created foo@bar:~$ sudo lvdisplay /dev/data/video --- Logical volume --- LV Name /dev/data/video VG Name data LV UUID JSU0nb-5KLN-baZA-vyuv-TD0X-ktJZ-xxxxxx LV Write Access read/write LV Status available # open 0 LV Size 512.00 GB Current LE 32768 Segments 1 Allocation inherit Read ahead sectors 0 Block device 254:0 |
LVの初期化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
foo@bar:~$ sudo mke2fs -j -m 0 /dev/data/video mke2fs 1.40.8 (13-Mar-2008) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 33554432 inodes, 134217728 blocks 0 blocks (0.00%) reserved for the super user First data block=0 Maximum filesystem blocks=0 4096 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. |
LVリサイズ(拡張)
LVの拡張
1 2 3 |
foo@bar:~$ sudo lvextend -L 800G /dev/data/video Extending logical volume video to 800.00 GB Logical volume video successfully resized |
ext3ファイルシステムの拡張
ext2resizeコマンドでオンライン拡張ができる、とあったが、
1 2 3 4 |
foo@bar:~$ sudo ext2resize /dev/data/video ext2resize v1.1.19 - 2001/03/18 for EXT2FS 0.5b ext2_open: fs has unsupported feature(s) enabled: recover ext2resize: can't open /dev/data/video |
fs設定上の問題で使えないらしい。仕方が無いのでオフラインで拡張する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
foo@bar:~$ sudo resize2fs /dev/data/video resize2fs 1.40.8 (13-Mar-2008) Please run 'e2fsck -f /dev/data/video' first. foo@bar:~$ sudo e2fsck -f /dev/data/video e2fsck 1.40.8 (13-Mar-2008) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/data/video: 21/33554432 files (4.8% non-contiguous), 20204280/134217728 blocks foo@bar:~$ sudo resize2fs /dev/data/video resize2fs 1.40.8 (13-Mar-2008) Resizing the filesystem on /dev/data/video to 209715200 (4k) blocks. The filesystem on /dev/data/video is now 209715200 blocks long. |
リサイズが完了したのでマウントしてみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
foo@bar:~$ sudo mount -a foo@bar:~$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb1 5915324 2553304 3302396 44% / varrun 452592 260 452332 1% /var/run varlock 452592 0 452592 0% /var/lock udev 452592 36 452556 1% /dev devshm 452592 0 452592 0% /dev/shm /dev/mapper/data-video 832252328 76586376 755665952 10% /var/www/epgrec/video foo@bar:~$ sudo lvdisplay /dev/data/video --- Logical volume --- LV Name /dev/data/video VG Name data LV UUID JSU0nb-5KLN-baZA-vyuv-TD0X-ktJZ-xxxxxx LV Write Access read/write LV Status available # open 1 LV Size 800.00 GB Current LE 51200 Segments 1 Allocation inherit Read ahead sectors 0 Block device 254:0 |
片肺RAID1の立ち上げ
片肺状態でのアレイの状態
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
root@bar:/# mdadm -E --scan # UUIDはマスキングしています ARRAY /dev/md4 level=raid1 num-devices=1 spares=1 UUID=00000000:00000000:00000000:00000000 ARRAY /dev/md1 level=raid1 num-devices=1 spares=1 UUID=00000000:00000000:00000000:00000000 root@bar:/# cat /proc/mdstat Personalities : [raid1] md4 : active raid1 dm-6[0] 1003904 blocks [1/1] [U] md1 : active raid1 dm-2[0] 243191872 blocks [1/1] [U] unused devices: <none> </none> |
データの移動
rsyncを使用して、RAID構築前のデータを片肺状態のRAID1アレイにコピー
RAID1再構築
- データ移動完了後のディスクをRAID1アレイとして初期化。パーティションを片肺RAID1に合わせて切り直す。
- アレイにスペアとして追加する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
root@bar:/# mdadm /dev/md4 -a /dev/hdg1 mdadm: hot added /dev/hdg1 root@bar:/# mdadm /dev/md1 -a /dev/hdg2 mdadm: hot added /dev/hdg2 root@bar:/# cat /proc/mdstat Personalities : [raid1] md4 : active raid1 hdg1[1](S) dm-6[0] 1003904 blocks [1/1] [U] md1 : active raid1 hdg2[1](S) dm-2[0] 243191872 blocks [1/1] [U] unused devices: <none> </none> |
スペアでは同期が取れないので、アレイの設定を変更し、構成デバイスを1から2に変更
1 2 |
mdadm -G /dev/md1 -n 2 mdadm -G /dev/md4 -n 2 |
同期が始まった。
1 2 3 4 5 6 7 8 9 10 11 12 |
root@bar:/# cat /proc/mdstat Personalities : [raid1] md4 : active raid1 hdg1[2] dm-6[0] 1003904 blocks [2/1] [U_] [====>................] recovery = 20.0% (202368/1003904) finish=3.2min speed=4154K/sec md1 : active raid1 hdg2[2] dm-2[0] 243191872 blocks [2/1] [U_] resync=DELAYED unused devices: <none> </none> |