LVMでボリュームグループを作成して、その下で作成されたすべての論理ボリュームがシンプロビジョニングされる可能性があるかどうかを知りたいですか?
これは、LVMにシンプロビジョニングを含むRHEL6で使用されます。
私は代替案も受け入れています。
はい、シンプロビジョニング用のボリュームグループを作成できます。以下は、 ここ からコピーされた詳細な手順です。
# pvcreate /dev/sdd Writing physical volume data to disk "/dev/sdd" Physical volume "/dev/sdd" successfully created
これで、新しい物理ボリュームがあることがわかります。
# pvdisplay "/dev/sdd" is a new physical volume of "1.36 TiB" --- NEW Physical volume --- PV Name /dev/sdd VG Name PV Size 1.36 TiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Ndb90e-xkJX-Lagt-VePO-ZNLQ-udVn-SN65et
次に、ボリュームグループを作成する必要があります。
# vgcreate vg_1 /dev/sdd Volume group "vg_1" successfully created
物理ボリュームとボリュームグループの両方ができたので、いくつかの論理ボリュームを追加しましょう。まず、論理ボリュームプールを追加して、シンプロビジョニングされたボリュームをその中に保持します。
# lvcreate --size 10G --type thin-pool --thinpool thin_pool vg_1 Rounding up size to full physical extent 4.00 MiB Logical volume
「thin_pool」が作成されました
このテスト用に10GBのプールを作成しました。
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert thin_pool vg_1 twi-a-tz 10.00g 0.00
これで、thin_pool内に4GBの論理ボリュームであるシンボリューム自体を追加できます。
# lvcreate -V4G -T vg_1/thin_pool --name lv1 Logical volume "lvl"
作成した
すべてが作成されたので、次に何があるかを見てみましょう。
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lv1 vg_1 Vwi-a-tz 4.00g thin_pool 0.00 thin_pool vg_1 twi-a-tz
10.00g 0.00
Lvsを呼び出すと、lvの0%がこれまでに取得されていることがわかります。
次に、新しい論理ボリュームをフォーマットしてマウントします。
# mkfs.ext4 /dev/vg_1/lv1 # mount /dev/vg_1/lv1 /mnt
Dfを使用すると、4GBが使用可能であることがわかります。
# df -h ... /dev/mapper/vg_1-lv1 4.0G 136M 3.7G 4% /mnt
使用済みスペースはファイルシステムからのものであり、元のデータがいっぱいになっていることをlvsで確認できます。
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lv1 vg_1 Vwi-aotz 4.00g thin_pool 4.73 thin_pool vg_1 twi-a-tz
10.00g 1.89
ISOイメージを薄いlvにコピーすると、さらに拡大することがわかります。
# cp /home/sean/Downloads/ubuntu-12.10-beta2-server-AMD64.iso /mnt # lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert lv1 vg_1 Vwi-aotz 4.00g thin_pool 7.73 thin_pool vg_1 twi-a-tz
10.00g 6.37#df -h ..../dev/mapper/vg_1-lv1 4.0G 827M 3.0G 22%/ mnt
最後に、私たちの薄いプールを見ると、プール内で薄いlvが取っているスペースもわかります。
# lvdisplay --- Logical volume --- LV Name thin_pool VG Name vg_1 LV UUID kD3VC1-FBNj-wHER-iFhE-NjES-GDoS-sFCnwF LV Write Access read/write LV Creation Host, time Fedora, 2012-10-11 21:43:51 -0700 LV Pool transaction ID 1 LV Pool metadata thin_pool_tmeta LV Pool data thin_pool_tdata LV Pool chunk size 64.00 KiB LV Zero new blocks yes LV Status available # open 0 LV Size 10.00 GiB Allocated pool data 8.64% Allocated metadata 4.30% Current LE 2560 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:4 --- Logical volume --- LV Path /dev/vg_1/lv1 LV Name lv1 VG Name vg_1 LV UUID b7FLSq-dMTi-mEbl-vZxq-Ocol-9Y2o-AEBhgL LV Write Access read/write LV Creation Host, time Fedora, 2012-10-11 21:44:11 -0700 LV Pool name thin_pool LV Status available # open 1 LV Size 4.00 GiB Mapped size 21.60% Current LE 1024 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:5
今の答えは「そんなことはない」と思います。私はこの機能をUbuntu14.04で数日間使用していますが、シンプール機能がボリュームグループレベルではなく論理ボリュームの一種として追加されたようです。これは奇妙な抽象化ブレークIMOのようです(おそらく理由がありますが、ここでは推測しません)。とにかく、ボリュームグループのほぼ全体を占めるシンプールを作成し(同じ正確なサイズにするとlvcreateが文句を言う)、コマンドのエイリアスを作成するか、シンプール名を事前に入力してlvcreateを呼び出すスクリプトを作成します。基本的にあなたが欲しいものを持っています。