私は小柄を育てようとしました/dev/mapper/rhel-root
。 136GBの空き容量があります。テストのために、GNOME Disk GUIからext4、2GBをインストールしてから削除しました。pvresize --setphysicalvolumesize 1.8TB /dev/sda3
コマンドを使用して/dev/sda3
容量を1.7TBから1.8TBに増やしました。 、、、ダウンがあります/dev/mapper/rhel-root
。/dev/mapper/rhel-home
その後、ルートを100GBから101GBに増やしました。この時点でシステムがハングしてシステムを再起動しました。今、コンピュータを起動すると、存在しないと文句を言います。回復モードでログインしてファイルシステムを有効にしようとしましたが、ルートはアクティブではありませんが、残りの3つ(、、)はアクティブです。この問題を解決する方法を提案できますか?/dev/mapper/rhel-var
/dev/mapper/rhel-swap
/dev/sda3
lvextend -L+1G /dev/mapper/rhel-root
/dev/mapper/rhel-root
sda3
home
var
swap
お時間をいただきありがとうございます!
編集2:[解決策]ステップは次のとおりです。リカバリモードでfdisk
resize(d、n、t)を使用してください/dev/sda3
。その後、LV vgscan -ay /dev/sda3
(root
、、、、)を有効にします。次にそれを使用して、すべてのLVが正常にアクティブになっていることを確認します。前回は私がしなかったので活性化されませんでした。最後に、リカバリモードに入り、システムを正常に起動すると正常に起動します。LVは同じサイズで表示されます。だからファイルを拡張し(ファイルに99GBを追加したい)を使用してサイズを変更しました。これが私に多くの困難を与えたので、オプションを忘れないでください。var
swap
home
lvscan
root
fdisk
exit
df -Th
lvextend -L+99G /dev/mapper/rhel-root -r
root
root
-r
前と後:
[root@ldo etc]# lvscan
ACTIVE '/dev/rhel/home' [1.46 TiB] inherit
ACTIVE '/dev/rhel/var' [20.00 GiB] inherit
ACTIVE '/dev/rhel/root' [101.00 GiB] inherit
ACTIVE '/dev/rhel/swap' [96.00 GiB] inherit
[root@ldo ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 32G 0 32G 0% /dev
tmpfs tmpfs 32G 47M 32G 1% /dev/shm
tmpfs tmpfs 32G 12M 32G 1% /run
tmpfs tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 100G 76G 25G 76% /
/dev/sda2 xfs 10G 226M 9.8G 3% /boot
/dev/sda1 vfat 10G 11M 10G 1% /boot/efi
/dev/mapper/rhel-home xfs 1.5T 130G 1.4T 9% /home
/dev/mapper/rhel-var xfs 20G 3.9G 17G 20% /var
tmpfs tmpfs 6.3G 56K 6.3G 1% /run/user/0
/dev/sdb1 vfat 30G 4.5G 25G 16% /run/media/root/RHEL-7_8 SE
tmpfs tmpfs 6.3G 40K 6.3G 1% /run/user/1000
[root@ldo ~]# lvextend -L+99G /dev/mapper/rhel-root -r
Size of logical volume rhel/root changed from 101.00 GiB (25856 extents) to 200.00 GiB (51200 extents).
Logical volume rhel/root successfully resized.
meta-data=/dev/mapper/rhel-root isize=512 agcount=4, agsize=6553600 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=26214400, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=12800, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 26214400 to 52428800
[root@ldo ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 32G 0 32G 0% /dev
tmpfs tmpfs 32G 46M 32G 1% /dev/shm
tmpfs tmpfs 32G 12M 32G 1% /run
tmpfs tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 200G 76G 125G 38% /
/dev/sda2 xfs 10G 226M 9.8G 3% /boot
/dev/sda1 vfat 10G 11M 10G 1% /boot/efi
/dev/mapper/rhel-home xfs 1.5T 130G 1.4T 9% /home
/dev/mapper/rhel-var xfs 20G 3.9G 17G 20% /var
tmpfs tmpfs 6.3G 56K 6.3G 1% /run/user/0
/dev/sdb1 vfat 30G 4.5G 25G 16% /run/media/root/RHEL-7_8 SE
tmpfs tmpfs 6.3G 40K 6.3G 1% /run/user/1000
[root@ldo ~]# lvscan
ACTIVE '/dev/rhel/home' [1.46 TiB] inherit
ACTIVE '/dev/rhel/var' [20.00 GiB] inherit
ACTIVE '/dev/rhel/root' [200.00 GiB] inherit
ACTIVE '/dev/rhel/swap' [96.00 GiB] inherit
答え1
2つの質問があります。
/dev/sda3
パーティションのサイズを変更するのではなく、物理ボリュームの「フォーマット」のみを調整することです。parted
パーティションを使用するか、サイズ変更してfdisk
から、pvresize
LVM PVフォーマットをパーティションのサイズに合わせてサイズ変更する必要がありますpvresize /dev/sda3
(--setphysicalvolumesize
そうでない場合、PVはパーティションのサイズに合わせてサイズ変更されます)。rhel/root
その後、論理ボリュームを有効にする必要があります。論理ボリュームのファイルシステムのサイズを変更していません
root
。resize2fs /dev/mapper/rhel-root
ファイルシステムのサイズをLVサイズに調整するために使用されますroot
(resize2fs
ファイルシステムに適したツールに置き換えますrhel/root
)。
答え2
Vojtech Trefnyがすでに説明したように、PVのサイズを実際に収容できるパーティションよりも大きく調整することはお勧めできません。
幸いなことに、まだファイルシステムのサイズを変更していません。これにより、元に戻すのが簡単になります。
lvm vgchange -ay --partial --activationmode degraded
構造モードでは、表示に使用する必要があります/dev/mapper/rhel-root
。 (これらの追加オプションを使用すると、明らかに欠落している部品を含むLVを有効にすることができます。LVMは特に要求しない限りこれを望まない。)
その後、手動でインストールする必要がありますmount /dev/mapper/rhel-root /mnt/sysimage
。
その後、にあるLVM構成アーカイブにアクセスできます/etc/lvm/archive
。これで、ルートファイルシステムがにマウントされているので、/mnt/sysimage
実際のパスはです/mnt/sysimage/etc/lvm/archive
。構成アーカイブファイルはテキストファイルです。先頭に次の行がある最新のアーカイブファイルを見つけます。
description = "Created *before* executing 'pvresize --setphysicalvolumesize 1.8TB /dev/sda3'"
これを/tmp
構造環境にコピーします(または外部のどこでも/mnt/sysimage
可能です)。次に、問題のファイルシステムをアンマウントしますumount /mnt/sysimage
。
回復のためにVGを無効にします。lvm vgchange -an root
次に、LVM 構成をエラーが発生する前の状態に復元します。
lvm vgcfgrestore --file /tmp/<backupfile>.vg rhel
これで、再起動して起動した場所に戻ることができます。
拡張を実行する正しい方法は、A)最初に拡張することです。分割PVを含むか、B)ディスクの空き領域がパーティションのすぐsda3
後ろにない場合は、空き領域を新しいパーティションに挿入し、そのパーティションをLVM PV(pvcreate /dev/sdaX
Xは新しいパーティション)に入れてから、新しいパーティションを追加します。 PVを既存のVGに分割する:vgextend rhel /dev/sdaX
。その後、ルートLVとその中にあるファイルシステムを拡張できる必要があります。