CentOS7.4インストーラーによって作成されたlvm2パーティションを縮小する必要があります。私はlvmコマンドで見たものと混同しています:
pvdisplay
root@ubuntu:/home/ubuntu# pvdisplay
--- Physical volume ---
PV Name /dev/sdb2
VG Name sample-group
PV Size 28.32 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 7250
Free PE 0
Allocated PE 7250
PV UUID xutuoL-6546d-rttert-n7tH-eeXu-24t3-dgf33
vgdisplay
root@ubuntu:/home/ubuntu# vgdisplay
--- Volume group ---
VG Name sample-group
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 28.32 GiB
PE Size 4.00 MiB
Total PE 7250
Alloc PE / Size 7250 / 28.32 GiB
Free PE / Size 0 / 0
VG UUID ytjytj-QWT5-sdf-vSMj-rKtj-gfhdfh-76885
lvdisplay
root@ubuntu:/home/ubuntu# lvdisplay
--- Logical volume ---
LV Path /dev/sample-group/swap
LV Name swap
VG Name sample-group
LV UUID JIZL0D-kNfL-aEsR-y6Rl-1mzx-wWpO-ngcElh
LV Write Access read/write
LV Creation Host, time cube, 2018-04-20 07:15:29 +0000
LV Status available
# open 0
LV Size 2.93 GiB
Current LE 751
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Path /dev/sample-group/root
LV Name root
VG Name sample-group
LV UUID 4OIJBb-6MSa-y5Ua-62bI-O6Lf-pjWZ-Qnz4Gv
LV Write Access read/write
LV Creation Host, time cube, 2018-04-20 07:15:30 +0000
LV Status suspended
# open 0
LV Size 25.39 GiB
Current LE 6499
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
上記の出力から、ディスクに空き領域がまったくないことがわかりますが、これはファイルマネージャーに表示されるものです。
ディスクのほぼ全体が空ですが、なぜコンソールにあるのですか?
どれだけのスペースがあるかを見積もることができず、縮小することもできません。 kvpmで試してみましたが、同じように表示されます。
UPDATE:parted resizepart
ステップでのEmmanuelの操作の後、スローされます
Error: can't have the end before the start (start sector=2099200 length=-2073809)
そして、これがpvs/vgsが示すものです:
PV VG Fmt Attr PSize PFree
/dev/sdb2 sample-group lvm2 a-- 4.00g 1.06g
更新2:
パーティションのサイズは正常に変更されましたが、xfsdumpがファイルシステムの復元を拒否するようになりました。
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.6 (dump format 3.0) - type ^C for status and control
xfsdump: WARNING: most recent level 0 dump was interrupted, but not resuming that dump since resume (-R) option not specified
xfsdump: level 0 dump of ubuntu:/mnt/root
xfsdump: dump date: Sat May 26 18:14:53 2018
xfsdump: session id: 2c905a06-6e7d-400e-8a03-5e0e20ea4583
xfsdump: session label: "new"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 20800 bytes
xfsdump: positioned at media file 0: dump 0, stream 0
xfsdump: ERROR: media contains valid xfsdump but does not support append
xfsdump: dump size (non-dir files) : 0 bytes
xfsdump: NOTE: dump interrupted: 8 seconds elapsed: may resume later using -R option
xfsdump: Dump Summary:
xfsdump: stream 0 /media/ubuntu/SYSTEM/root.backup ERROR (operator error or resource exhaustion)
xfsdump: Dump Status: INTERRUPT
LVMパーティションを縮小するには、次のことを行う必要があります。
通知:開始する前に、/etc/fstab
をチェックして、ルートファイルシステムデバイスがどのようにマウントされているかを確認してください。 /dev/sample-group/root
の場合は、問題ありません。ただし、ファイルシステムラベルを使用している場合は、必ず-L
オプションとmkfs.xfs
を使用して同じラベルを指定する必要があります。 UUIDなどを使用している場合は、新しいIDを取得したら、/etc/fstab
を調整する必要があります。
次のように、xfsdump
を使用して、ファイルシステムを(理想的には別のデバイスに)バックアップします。
mkdir /mnt/backup
mkdir /mnt/root
mount /dev/sample-group/root /mnt/root
mount /dev/some-backup-device /mnt/backup
xfsdump -f /mnt/backup/root.backup /mnt/root
umount /mnt/root
ルート論理ボリュームをlvreduce
で縮小することは可能ですが、それを削除して、必要なサイズを使用して再作成する方が簡単です。したがって、論理ボリュームを削除し、残りの論理ボリュームを収容するのに十分な大きさに物理ボリュームを縮小し(スワップ)、パーティションを目的のサイズに縮小し、物理ボリュームのサイズを変更して、のすべてのスペースを使い果たします。パーティションを作成し、最後に論理ボリュームを再作成します。それは大変なことのように思えますが、サイズ変更の単位を正確に指定する必要がなくなり、不一致の場合にエラーが発生する可能性があります。
この例では、新しい論理ボリュームのターゲットサイズは約10GB(3GBスワップ+ 10GBルート= 13GBパーティション)です。
lvremove /dev/sample-group/root
pvresize --setphysicalvolumesize 4GB /dev/sdb2
parted /dev/sdb resizepart 2 13GiB
pvresize /dev/sdb2
lvcreate -ay -l 100%FREE -n root sample-group
100%FREE
は、lvcreate
に、ボリュームグループに残っているすべてのスペース(この例では最大10GB)を使用するように指示します。必要に応じて調整してください。
これで、XFSファイルシステムを復元する準備が整いました。
wipefs /dev/sample-group/root
mkfs.xfs /dev/sample-group/root
mount /dev/sample-group/root /mnt/root
xfsrestore -f /mnt/backup/root.backup /mnt/root
umount /mnt/root
umount /mnt/backup
最後に、指を交差させて再起動します。