
我讀過一些關於此的博客,但沒有遇到過與我類似的情況。
- 我已將 /dev/sda 上的驅動器擴展了 5GiB
- 我無需重新啟動即可透過執行以下命令使其可見: echo 1 > /sys/class/block/sda/device/rescan
請參閱下面的剩餘概要:
[root@proddboem01 ~]# fdisk -l |grep ^Disk\ /dev/sd*
Disk /dev/sda: 205 GiB, 220117073920 bytes, 429916160 sectors
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
[root@proddboem01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 205G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 102G 0 part
│ ├─VG--MAIN-root 252:0 0 8G 0 lvm /
│ ├─VG--MAIN-opt 252:2 0 50G 0 lvm /opt
│ ├─VG--MAIN-tmp 252:3 0 20G 0 lvm /tmp
│ ├─VG--MAIN-var 252:4 0 15G 0 lvm /var
│ └─VG--MAIN-home 252:5 0 2G 0 lvm /home
└─sda3 8:3 0 16G 0 part [SWAP]
sdb 8:16 0 100G 0 disk
└─VG--U01-u01 252:1 0 100G 0 lvm /u01
sr0 11:0 1 1024M 0 rom
[root@proddboem01 ~]# growpart -v /dev/sda 2
update-partition set to true
FLOCK: try exec open fd 9, on failure exec exits this program
FLOCK: /dev/sda: obtained exclusive lock
resizing 2 on /dev/sda using resize_sfdisk_dos
429916160 sectors of 512. total size=220117073920 bytes
## sfdisk --unit=S --dump /dev/sda
label: dos
label-id: 0x86eb8ee1
device: /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 2097152, type=83, bootable
/dev/sda2 : start= 2099200, size= 213909504, type=8e
/dev/sda3 : start= 216008704, size= 33554432, type=82
max_end=216008703 tot=429916160 pt_end=216008703 pt_start=2099200 pt_size=213909504
NOCHANGE: partition 2 is size 213909504. it cannot be grown
FLOCK: /dev/sda: releasing exclusive lock
[root@proddboem01 ~]#
我究竟做錯了什麼?
答案1
sda3
擋道了。swapoff
,刪除它,然後可以增加 的大小sda2
。
您可以sda3
稍後重新創建,或在您的 lvm 上建立一個邏輯卷,或使用交換檔案。第二個和第三個選項將使將來的更改變得更容易。
答案2
分割區必須是磁碟的一大塊,不能由多區塊組成。您新建立的空間位於磁碟的末尾,您要擴展的分割區位於磁碟的中間。所以有分區 3 阻礙。
sda 分割區:[sda1][sda2][sda3]{可用空間}
此時您只能增長分割區 3。
最好的解決方案是停用交換並刪除分割區 3
sda 分割區:[sda1][sda2]{可用空間}
然後你可以擴充分區2:
sda 分區:[sda1][sda2]
之後,我建議在磁碟區組 vg--main 中建立新的交換設備作為邏輯磁碟區。那麼下次增加磁碟的時候就不用再擔心了。
答案3
請嘗試使用oci-growfs。有關背景信息,請參閱 Oracle 知識庫。