我继承了一台空间不足的服务器,在采取行动之前需要一些帮助来了解它的配置。
我需要在不重新启动服务器的情况下扩展逻辑卷。
LVS 显示名为 RHEL 的卷,大小为 295.62g。 LSBLK显示我实际上有两个大小为295.6的分区,所以我认为它处于镜像模式,但LVS没有反映这一点。那么这个设置如何呢? rhel 是否有效地使用了两个分区?我如何验证这一点?
另外,我看到一个没有分区的 sdb 磁盘,因此我的计划是在那里创建一个分区并将其添加到 LVM,但首先我想了解 /sda2/rhel-root 和 sda3/rhel-root 是如何工作的。 ..在同一个磁盘上进行镜像根本没有意义!肯定不可能是这样。
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root rhel -wi-ao---- <295,62g
swap rhel -wi-ao---- <3,38g
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 400G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 39G 0 part
│ ├─rhel-root 253:0 0 295,6G 0 lvm /
│ └─rhel-swap 253:1 0 3,4G 0 lvm [SWAP]
└─sda3 8:3 0 360G 0 part
└─rhel-root 253:0 0 295,6G 0 lvm /
sdb 8:16 0 200G 0 disk
# vgdisplay -v rhel
--- Volume group ---
VG Name rhel
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 10
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 298,99 GiB
PE Size 4,00 MiB
Total PE 76542
Alloc PE / Size 76542 / 298,99 GiB
Free PE / Size 0 / 0
VG UUID mDkink-qzyl-2KyS-DG5T-tf55-4it5-eGNqx3
--- Logical volume ---
LV Path /dev/rhel/root
LV Name root
VG Name rhel
LV UUID U4AI2b-eadM-TczV-g4ff-gudE-JWiU-dbz5sT
LV Write Access read/write
LV Creation host, time sms-linux-image.novalocal, 2021-07-01 17:16:09 -0400
LV Status available
# open 1
LV Size <295,62 GiB
Current LE 75678
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
--- Logical volume ---
LV Path /dev/rhel/swap
LV Name swap
VG Name rhel
LV UUID jSxEFM-frWb-MtJw-ae1g-Omfv-VNHD-SzbGt5
LV Write Access read/write
LV Creation host, time sms-linux-image.novalocal, 2021-07-01 17:16:09 -0400
LV Status available
# open 2
LV Size <3,38 GiB
Current LE 864
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Physical volumes ---
PV Name /dev/sda2
PV UUID vscfjc-VcNp-Kwdv-JjuB-gtbP-2SsB-6iq6td
PV Status allocatable
Total PE / Free PE 9983 / 0
PV Name /dev/sda3
PV UUID yLqH6J-EQc9-FZBS-2MTr-Tams-7Mhn-hSSXAM
PV Status allocatable
Total PE / Free PE 66559 / 0
答案1
这只是lsblk
显示部分位于一个设备上、部分位于另一设备上的文件系统的一种怪癖。
根文件系统的总大小295,6G
与显示的完全相同。现在,由于它在 LVM 上,因此文件系统的一部分在 LVM PV 内sda2
,另一部分在sda3
……但由于lsblk
目前没有对 LVM 进行深入分析,因此它不知道它的每个部分有多大。因为SIZE
列被理解为表示设备,它显示设备的大小/dev/mapper/rhel-root
,即使该设备未完全包含在一个物理分区中,因此lsblk
必须列出该设备两次。
您可能希望运行lsblk -s
以以文件系统为中心的方式而不是默认的以设备为中心的方式显示列表,并查看它是否可以帮助您可视化正在发生的情况。
话虽如此,看起来sda3
分区大小为 360G,而整个rhel
VG 只有298,99G
.这可能是由于之前对 的分区大小调整操作不完整造成的sda
。
尝试这个:
partprobe /dev/sda # to ensure the kernel has up-to-date view of the partition table
pvresize /dev/sda3 # to extend the LVM PV at sda3 to fill the entire partition if it's currently smaller
vgs # to see if the rhel VG now has free space available
如果这使得一些空间可用(=输出VFree
中vgs
不为 0),则您可以通过根据需要扩展 LV 来使用该容量。例如,将rhel
VG 的所有可用容量放入根文件系统:
lvextend --resizefs -l +100%FREE /dev/mapper/rhel-root
答案2
LSBLK 显示我实际上有两个大小为 295.6 的分区...
实际上并非如此:
├─sda2 8:2 0 39G 0 part
...
└─sda3 8:3 0 360G 0 part
显示的sda2
是39G,显示sda3
的是360G。这反映在来自 的信息中vgdisplay
,其中显示:
--- Physical volumes ---
PV Name /dev/sda2
PV UUID vscfjc-VcNp-Kwdv-JjuB-gtbP-2SsB-6iq6td
PV Status allocatable
Total PE / Free PE 9983 / 0
PV Name /dev/sda3
PV UUID yLqH6J-EQc9-FZBS-2MTr-Tams-7Mhn-hSSXAM
PV Status allocatable
Total PE / Free PE 66559 / 0
看着那(这Total PE / Free PE
。PE
代表“物理范围”。一个盘区通常为 4MB,因此Total PE
大致对应于我们在 中看到的分区大小lsblk
。
那么这个设置如何呢? rhel 是否有效地使用了两个分区?我如何验证这一点?
您可以rhel
从输出中验证是否正在使用两个分区
vgdisplay
,这表明两个分区都是rhel
卷组的成员(并且两个分区都已完全分配)。
另外,我看到一个没有分区的 sdb 磁盘,因此我的计划是在那里创建一个分区并将其添加到 LVM,但首先我想了解 /sda2/rhel-root 和 sda3/rhel-root 是如何工作的。 ..在同一个磁盘上进行镜像根本没有意义!肯定不可能是这样。
它们不是镜像的(考虑到大小的差异,也不可能镜像)。它们只是 VG 消耗的两块空间。
您不需要在 上创建任何分区sdb
。您最好将整个磁盘添加到 VG:
# pvcreate /dev/sdb
# vgextend rhel /dev/sdb