現在、ボリュームグループ(VG)に複数の論理ボリューム(LV)があります。このVGは、単一の物理ボリューム(PV)でホストされます。データをシャッフルするために使用できる予備のドライブがあります。
また、元のPVドライブと一致する新しいドライブもあります。既存のLVを移動して、LVが2つのPVにストライプ化されるようにしたいと思います。これは可能ですか?どうやってやるの?
これはコマンドラインからは不可能のようです。 striping
は、デフォルトのlinear
割り当てスキームとはかなり異なります。したがって、ファイルシステムを複数の物理ボリューム(PV
)に拡張することはできますが、ストライピングの「ロードバランシング」の利点は得られません。
ファイルシステムを拡張するには、次のようにします。
pvcreate /dev/mapper/md2_crypt
vgextend crypto /dev/mapper/md2_crypt
umount /dev/mapper/crypto-srv
fsck.ext4 -C0 -f /dev/mapper/crypto-srv
lvresize -l +100%FREE /dev/mapper/crypto-srv
resize2fs /dev/mapper/crypto-srv
mount /srv
上記の例では、md2_crypt
はRAID-1アレイ上の暗号ボリュームですが、任意のデバイスにすることができます。 crypto
はボリュームグループ(VG
)であり、crypto-srv
は/srv
にマウントされたファイルシステムを保持する論理ボリュームです。
注意:PVが
linear
論理ボリューム(LV
)で失敗すると、すべてのデータが失われる可能性があるため、実際には少なくともRAID-1アレイを使用する必要があります。
これはしない/srv
パーティションをPV全体にストライプ化します。これは、 linear
からstriped
への変換をサポートするユーザーランドツールがないためです 。論理的には、これはlvconvert
コマンドに含まれますが、たとえばlinear
からmirror
モードへの移動とその逆の移動のみがサポートされます。そして、すべての新しい開発が [〜#〜] btrfs [〜#〜] に入るので、これが文書化されているとしたら驚きます。
ただし、できるの1つは、newデータをドライブは縞模様になります。それはかなりトリッキーですが、それは可能です。 crypto-tmp
のLVである/tmp
をストライプ化するとします。まず、最初のPVでストライプ用のスペースを解放する必要があります。
pvmove -n crypto/tmp /dev/mapper/md1_crypt
これにより、PV全体でLVが再割り当てされます。私の場合は、2番目のPVにすべて移動しました。
root@foo:~# pvs --segments -o+lv_name,seg_start_pe,segtype
PV VG Fmt Attr PSize PFree Start SSize LV Start Type
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 0 2384 root 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 2384 256 swap 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 2640 2560 0 free
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 10.00g 5200 709901 srv 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.81t 0 2560 tmp 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.81t 2560 474077 0 free
これで、ファイルシステムを拡張し(たとえば、サイズを2倍にする)、LVMに新しいデータをストライプ化するように指示できます。
root@foo:~# lvresize -i 2 -l 5120 /dev/crypto/tmp
Using default stripesize 64.00 KiB
Extending logical volume tmp to 20.00 GiB
Logical volume tmp successfully resized
これで、/tmp
の新しいデータが2つのPVにまたがってストライプ化されます。
root@foo:~# pvs --segments -o+lv_name,seg_start_pe,segtype
PV VG Fmt Attr PSize PFree Start SSize LV Start Type
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 0 2384 root 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 2384 256 swap 0 linear
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 2640 1280 tmp 2560 striped
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 3920 1280 0 free
/dev/mapper/md1_crypt crypto lvm2 a-- 2.73t 5.00g 5200 709901 srv 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.80t 0 2560 tmp 0 linear
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.80t 2560 1280 tmp 2560 striped
/dev/mapper/md2_crypt crypto lvm2 a-- 1.82t 1.80t 3840 472797 0 free
ただし、元のデータはlinear
モードのままです。ファイルシステムをストライプ化されたエクステントに移動することは可能かもしれませんが、この時点で読者への演習を検討してください。 :)
ストライピングを使用したLVMボリュームの拡張 および Redhat LVMによるストライプの変更? も参照してください。
また、逆(striped
からlinear
への変換)も可能であることに注意してください。 ストライプ論理ボリュームを線形論理ボリュームに変換することは可能ですか? 。