10.23. RAID ボリュームの再形成
RAID の再形成とは、RAID レベルを変更せずに、RAID 論理ボリュームの属性を変更することを意味します。変更できる属性には、RAID レイアウト、ストライプのサイズ、ストライプの数などがあります。
手順
RAID 論理ボリュームを作成します。
# lvcreate --type raid5 -i 2 -L 500M -n my_lv my_vg Using default stripesize 64.00 KiB. Rounding size 500.00 MiB (125 extents) up to stripe boundary size 504.00 MiB (126 extents). Logical volume "my_lv" created.RAID 論理ボリュームを表示します。
# lvs -a -o +devices LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices my_lv my_vg rwi-a-r--- 504.00m 100.00 my_lv_rimage_0(0),my_lv_rimage_1(0),my_lv_rimage_2(0) [my_lv_rimage_0] my_vg iwi-aor--- 252.00m /dev/sda(1) [my_lv_rimage_1] my_vg iwi-aor--- 252.00m /dev/sdb(1) [my_lv_rimage_2] my_vg iwi-aor--- 252.00m /dev/sdc(1) [my_lv_rmeta_0] my_vg ewi-aor--- 4.00m /dev/sda(0) [my_lv_rmeta_1] my_vg ewi-aor--- 4.00m /dev/sdb(0) [my_lv_rmeta_2] my_vg ewi-aor--- 4.00m /dev/sdc(0)オプション: RAID 論理ボリュームの
stripesイメージとstripesizeを表示します。# lvs -o stripes my_vg/my_lv #Str 3# lvs -o stripesize my_vg/my_lv Stripe 64.00k要件に応じて次の方法を使用して、RAID 論理ボリュームの属性を変更します。
RAID 論理ボリュームの
stripesイメージを変更します。# lvconvert --stripes 3 my_vg/my_lv Using default stripesize 64.00 KiB. WARNING: Adding stripes to active logical volume my_vg/my_lv will grow it from 126 to 189 extents! Run "lvresize -l126 my_vg/my_lv" to shrink it or use the additional capacity. Are you sure you want to add 1 images to raid5 LV my_vg/my_lv? [y/n]: y Logical volume my_vg/my_lv successfully converted.RAID 論理ボリュームの
stripesizeを変更します。# lvconvert --stripesize 128k my_vg/my_lv Converting stripesize 64.00 KiB of raid5 LV my_vg/my_lv to 128.00 KiB. Are you sure you want to convert raid5 LV my_vg/my_lv? [y/n]: y Logical volume my_vg/my_lv successfully converted.maxrecoveryrate属性とminrecoveryrate属性を変更します。# lvchange --maxrecoveryrate 4M my_vg/my_lv Logical volume my_vg/my_lv changed.# lvchange --minrecoveryrate 1M my_vg/my_lv Logical volume my_vg/my_lv changed.syncaction属性を変更します。# lvchange --syncaction check my_vg/my_lvwritemostly属性とwritebehind属性を変更します。# lvchange --writemostly /dev/sdb my_vg/my_lv Logical volume my_vg/my_lv changed.# lvchange --writebehind 100 my_vg/my_lv Logical volume my_vg/my_lv changed.注記すべてのボリュームタイプですべての操作がサポートされているわけではありません。続行する前に、特定のボリュームタイプの要件と制限を確認してください。
検証
RAID 論理ボリュームの
stripesイメージとstripesizeを表示します。# lvs -o stripes my_vg/my_lv #Str 4# lvs -o stripesize my_vg/my_lv Stripe 128.00kmaxrecoveryrate属性を変更した後、RAID 論理ボリュームを表示します。# lvs -a -o +raid_max_recovery_rate LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert MaxSync my_lv my_vg rwi-a-r--- 10.00g 100.00 4096 [my_lv_rimage_0] my_vg iwi-aor--- 10.00g [...]minrecoveryrate属性を変更した後、RAID 論理ボリュームを表示します。# lvs -a -o +raid_min_recovery_rate LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert MinSync my_lv my_vg rwi-a-r--- 10.00g 100.00 1024 [my_lv_rimage_0] my_vg iwi-aor--- 10.00g [...]syncaction属性を変更した後、RAID 論理ボリュームを表示します。# lvs -a LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert my_lv my_vg rwi-a-r--- 10.00g 2.66 [my_lv_rimage_0] my_vg iwi-aor--- 10.00g [...]