1つのパーティションを持つ12TBデバイスでLVMを構成しました。次に、1つのパーティションを持つ2番目の12TBデバイスにLVMを拡張しようとしました。 vgextendは機能しましたが、lvextendは2番目のデバイスのスペースを認識しません。
2番目のデバイスを分割する方法は次のとおりです。
# parted /dev/mapper/3600a09803830304d2f2b456f61565846
GNU Parted 2.1
Using /dev/mapper/3600a09803830304d2f2b456f61565846
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary xfs 0% 100%
(parted) set 1 lvm on
(parted) print
Model: Linux device-mapper (multipath) (dm)
Disk /dev/mapper/3600a09803830304d2f2b456f61565846: 12.9TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 12.9TB 12.9TB primary lvm
(parted) quit
Information: You may need to update /etc/fstab.
ボリュームグループの拡張は機能しました:
# vgextend datalake /dev/mapper/3600a09803830304d2f2b456f61565846p1
Physical volume "/dev/mapper/3600a09803830304d2f2b456f61565846p1" successfully created
Volume group "datalake" successfully extended
論理ボリュームの拡張は機能しませんでした:
# lvextend -l100%FREE /dev/datalake/volume
New size (3071999 extents) matches existing size (3071999 extents)
Run `lvextend --help' for more information.
後でxfs_growfsを実行しようとしましたが、ファイルシステムは同じサイズのままでした。
# xfs_growfs /datalake
meta-data=/dev/mapper/datalake-volume isize=256 agcount=32, agsize=98303967 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=3145726944, imaxpct=5
= sunit=1 swidth=16 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
24Tのスペースが表示されるはずですが、12Tしか表示されません。
# df -h /datalake
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/datalake-volume
12T 34M 12T 1% /datalake
このボリュームグループのpvの出力:
# pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/3600a09803830304d2f2b456f61565846p1 datalake lvm2 a-- 11.72t 11.72t
/dev/mapper/3600a09803830304e2f5d464474527471p1 datalake lvm2 a-- 11.72t 0
このボリュームグループのvgsの出力:
# vgs
VG #PV #LV #SN Attr VSize VFree
datalake 2 1 0 wz--n- 23.44t 11.72t
このボリュームグループのlvsの出力:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
volume datalake -wi-ao---- 11.72t
論理ボリュームを24TB全体に拡張するにはどうすればよいですか?
lvextend
またはlvresize
を使用する場合は、+
を使用するか、lvmボリュームに割り当てられたより多くのスペースまたは拡張を指定する必要があります
例:
lvextend -l +100%FREE /dev/datalake/volume
または+
なし
lvextend -l <total number of extends to catch up> /dev/datalake/volume
最初の方法を使用することを好みます。この方法では、割り当てられた拡張と新しい拡張の数を知る必要がないためです。