我们有一台配备 Perc H710 Mini 的 Dell R420,配置了 3 个 1TB 硬盘,组成了 RAID 5。我又添加了一个 1TB 硬盘,多亏了戴尔讨论板提供的帮助不多,RAID 5 已正确重新配置,现在有 2.47 TiB。我使用了众所周知的策略,只需打开 Gparted 并将现有分区滑动到 1.9TB,然后使用命令lvextend -r -l +100%FREE
将其达到该大小。但我们想将剩余的未分配磁盘空间用于我们的 /home 分区。
首先我遇到了这个错误:
parted ---pretend-input-tty /dev/sda resizepart 2 100%
Error: partition length of 5266759680 sectors exceeds the msdos-partition-table-imposed maximum of 4294967295
我发现这个提示,表示要为未分配的磁盘空间创建一个新分区
我测试了这一点但仍然运行出现此错误:
lvextend -L1844.1G /dev/mapper/fedora_newserver-home
Rounding size to boundary between physical extents: 1.80 TiB.
Insufficient free space: 214489 extents needed, but only 0 available
来自本教程:
注意,
-L
参数lvextend
表示逻辑卷的总大小,而不是逻辑卷扩展的大小
我是不是误解了这里的语法?您可以看到fdisk
整个逻辑卷为 2.47 TB。我正在尝试将新可用的空间添加到主分区。
fdisk -l
Disk /dev/sda: 2.47 TiB, 2698581639168 bytes, 5270667264 sectors
Disk model: PERC H710
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa23c34a0
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 3907583 3905536 1.9G 83 Linux
/dev/sda2 3907584 4006645759 4002738176 1.9T 8e Linux LVM
其他SF 建议有一个单行命令的示例来实现我想要做的事情,但想看看是否有更可取的方法。
我删除了 Gparted 中上面的额外分区,以便我可以再试一次。
按要求:
pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 fedora_newserver lvm2 a-- 1.86t 0
vgs
VG #PV #LV #SN Attr VSize VFree
fedora_newserver 1 5 0 wz--n- 1.86t 0
谢谢@NasirRiley!我不得不稍微修改一下你的说明。
pvcreate /dev/sda3
WARNING: ext4 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sda3.
Physical volume "/dev/sda3" successfully created.
然后:
vgextend fedora_newserver /dev/sda3
Volume group "fedora_newserver" successfully extended
接下来,我们还没有得到整个未分配的空间:
lvextend -l +100%FREE /dev/mapper/fedora_newserver-home
Size of logical volume fedora_newserver/home changed from 1.21 TiB (317766 extents) to 1.80 TiB (472065 extents).
Logical volume fedora_newserver/home successfully resized.
下一个命令出错:
xfs_growfs /dev/mapper/fedora_newserver-home xfs_growfs: /dev/mapper/fedora_newserver-home is not a mounted XFS filesystem
然后:
lvdisplay | sed -n '/home/,/Size/p'
LV Path /dev/fedora_newserver/home
LV Name home
VG Name fedora_newserver
LV UUID j94360-O22L-
LV Write Access read/write
LV Creation host, time ourserver.edu, 2018-03-03 13:55:06 -0500
LV Status available
# open 1
LV Size 1.80 TiB
我们还没有完全到达那里:
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 24G 4.0K 24G 1% /dev
tmpfs 24G 23M 24G 1% /dev/shm
tmpfs 24G 3.1M 24G 1% /run
/dev/mapper/fedora_newserver-root 280G 41G 240G 15% /
tmpfs 24G 4.2M 24G 1% /tmp
/dev/mapper/fedora_newserver-home 1.3T 859G 383G 70% /u/newserver
/dev/sda1 1.9G 256M 1.5G 15% /boot
/dev/mapper/fedora_newserver-var 187G 73G 114G 39% /var
/dev/mapper/fedora_newserver-usr_local 187G 58G 129G 32% /usr/local
以下是最终奏效的方法:
lvextend -r -l +100%FREE /dev/mapper/fedora_neweserver-home
Size of logical volume fedora_newserver/home unchanged from 1.80 TiB (472065 extents).
Logical volume fedora_newserver/home successfully resized.
meta-data=/dev/mapper/fedora_newserver-home isize=512 agcount=7, agsize=48828160 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0
= reflink=0
data = bsize=4096 blocks=325392384, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=95367, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 325392384 to 483394560
现在我们到了:
df -h|grep home
/dev/mapper/fedora_newserver-home 1.9T 860G 985G 47% /u/newserver
不确定为什么 xfs 命令失败,我们显然正在使用 XFS,也许它是在 LVM 中?
从blkid
:
/dev/mapper/fedora_newserver-home: LABEL="home" UUID="5aab1b3f-5cb5" TYPE="xfs"
好的,修改后的 XFS 命令不起作用:
xfs_growfs /home
xfs_growfs: /home is not a mounted XFS filesystem
嗯,必须使用实际的挂载点:
xfs_growfs /u/newserver
meta-data=/dev/mapper/fedora_newserver-home isize=512 agcount=10, agsize=48828160 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0
= reflink=0
data = bsize=4096 blocks=483394560, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=95367, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
答案1
pvs
从和可以看出vgs
,其中没有可用空间来扩展逻辑卷fedora_newserver-home
。您需要使用parted
(或fdisk
)创建一个新分区,/dev/sda3
并使用 中的剩余空间/dev/sda
。考虑到您已经创建了其他分区,我认为您知道如何执行此操作。
之后,创建一个新的物理卷:
pvcreate /dev/sda3
将其添加到fedora_newserver
卷组:
vgextend fedora_newserver /dev/sda3
并扩展fedora_newserver-home
卷组以使用剩余的可用空间:
lvextend -l +100%FREE /dev/mapper/fedora_newserver-home
xfs_growfs /dev/mapper/fedora_newserver-home
(您可能需要在实际的挂载点上使用它。我假设它在家里,直到您将它添加到您的问题中。)
xfs_growfs /u/newserver
然后你可以通过以下方式查看增加的空间:
lvs | grep home
或者:
lvdisplay | sed -n '/home/,/Size/p'