web-dev-qa-db-ja.com

lvm2パーティションを縮小できません

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

上記の出力から、ディスクに空き領域がまったくないことがわかりますが、これはファイルマネージャーに表示されるものです。

enter image description here

ディスクのほぼ全体が空ですが、なぜコンソールにあるのですか?

どれだけのスペースがあるかを見積もることができず、縮小することもできません。 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
1
Suncatcher

LVMパーティションを縮小するには、次のことを行う必要があります。

  1. LinuxライブCD/DVDで起動する
  2. XFSファイルシステムをバックアップします(XFSの縮小はサポートされていません)
  3. 論理ボリュームを縮小する
  4. 物理ボリュームを縮小します
  5. パーティションを縮小します
  6. XFSファイルシステムを復元する

通知:開始する前に、/etc/fstabをチェックして、ルートファイルシステムデバイスがどのようにマウントされているかを確認してください。 /dev/sample-group/rootの場合は、問題ありません。ただし、ファイルシステムラベルを使用している場合は、必ず-Lオプションとmkfs.xfsを使用して同じラベルを指定する必要があります。 UUIDなどを使用している場合は、新しいIDを取得したら、/etc/fstabを調整する必要があります。

XFSファイルシステムをバックアップします

次のように、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ファイルシステムを復元する

これで、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

最後に、指を交差させて再起動します。

4
Emmanuel Rosa