在 Fedora 31 上擴展 LVM 分區 > 2TB 以使用所有未分配的磁碟空間
我們有一個帶有 Perc H710 Mini 的戴爾 R420,它在 RAID 5 中配置了 3 個 1TB 驅動器。我添加了另一個 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
我在 SO 上找到了這個提示,它說要為未分配的磁碟空間創建一個新分區
我對此進行了測試,但一直在此錯誤中執行:
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
表示的是Logical Volume的總大小,而不是Logical Volume的擴展量我誤解了這裡的語法嗎?您可以從
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
從
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'