Fedora

在 Fedora 31 上擴展 LVM 分區 > 2TB 以使用所有未分配的磁碟空間

  • March 23, 2020

我們有一個帶有 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

pvsvgs中可以看出,它們中沒有任何可用空間來擴展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'

引用自:https://serverfault.com/questions/1007847