Centos

在沒有捲組的情況下擴展 VMWare 中的磁碟空間

  • April 21, 2017

我在 VMWare Fusion 中以訪客身份安裝了 CentOS7。需要增加我的磁碟大小。遵循本指南。轉到第3 步)使用新分區擴展您的邏輯卷並創建一個物理卷。但是我sudo vgdisplay的顯示如下:

[sudo] password for user:

即布基斯。看起來我沒有任何卷組。

我試著做sudo vgcreate vg1 /dev/sda3 /dev/sda4,但我得到了以下結果:

[sudo] password for user: 

 Can't open /dev/sda3 exclusively.  Mounted filesystem?

我在這方面不是很精通。有誰知道我該如何進行?將不勝感激任何幫助。

這是輸出fdisk -l

  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448     4810751     2097152   82  Linux swap / Solaris
/dev/sda3         4810752    41943039    18566144   83  Linux
/dev/sda4        41943040   104857599    31457280   8e  Linux LVM

file -sL每個分區的輸出

[user@localhost ~]$ sudo file -sL /dev/sda1
/dev/sda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
[user@localhost ~]$ sudo file -sL /dev/sda2
/dev/sda2: Linux/i386 swap file (new style), version 1 (4K pages), size 524287 pages, no label, UUID=<blacked-out>
[user@localhost ~]$ sudo file -sL /dev/sda3
/dev/sda3: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
[user@localhost ~]$ sudo file -sL /dev/sda4
/dev/sda4: LVM2 PV (Linux Logical Volume Manager), UUID: <blacked-out>, size: 32212254720

編輯

的輸出df -hTP | grep -v tmpfs

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda3      xfs        18G   18G  257M  99% /
/dev/sda1      xfs       297M  204M   94M  69% /boot
.host:/        vmhgfs    233G  167G   66G  72% /mnt/hgfs

的輸出lsblk

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0  300M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
├─sda3   8:3    0 17.7G  0 part /
└─sda4   8:4    0   30G  0 part 
sr0     11:0    1 1024M  0 rom  

如果你想讓 /dev/sda3 變大,你必須刪除或移動 /dev/sda4。Mattias 沒有明確指出的一點是,當您的磁碟尚未使用 LVM 時,他的指南對您沒有幫助。您不能輕易擴展 /dev/sda3 而不冒破壞數據的風險。可以做到,但要高級一些。

你在使用 /dev/sda4 嗎?它似乎是一個未使用的 30GB 分區,您可能已創建並標記為 LVM,但尚未配置。

騰出更多空間的最簡單方法是在 /dev/sda4 上初始化 LVM。


如何在未使用的分區上設置 LVM

警告: 確保 /dev/sda4 沒有您要保留的任何數據。這些步驟具有破壞性。

volgr0是我用於卷組的任意名稱。

logvol0是我用於邏輯卷的任意名稱。

  1. 將 /dev/sda4 初始化為物理卷pvcreate /dev/sda4
  2. 創建卷組並將步驟 1 中的 PV 分配給它vgcreate volgr0 /dev/sda4
  3. 在新卷組上創建邏輯卷lvcreate -L +20G -n logvol0 volgr0
  4. 初始化(格式化)邏輯卷mkfs.xfs /dev/volgr0/logvol0

你現在有一個 10GB 的邏輯卷,可以像普通磁碟分區一樣使用(例如 /dev/hda3、/dev/vda2 等)。它的設備映射器路徑可能是 /dev/mapper/volgr0-logvol0 或者你可以使用符號連結 /dev/volgr0/lgvol0 (取決於您的確切作業系統和配置,但這對於 Fedora/Cent/RHEL/SciLinux 來說非常典型)

現在只需在此卷上的目前文件系統中安裝一個文件夾並使用它,例如mount /dev/volgr0/logvol0 /opt. 這會將 /opt 目錄掛載到您的 lvol0 上。


如何擴展正常分區的大小

警告: **確保 /dev/sda4 沒有您要保留的任何數據。這些步驟具有破壞性。**事實上,備份整個 .vmdk 是個好主意。

  1. 使用 Live OS 映像重新啟動 VM。對於這類事情,我自己更喜歡System Rescue CD ,但還有很多其他不錯的選擇。
  2. 使用 fdisk,刪除 /dev/sda3 和 /dev/sda4
  3. 使用 fdisk,使用所有可用磁碟空間創建一個新分區 #3(它將是 /dev/sda3)(接受 fdisk 提供的預設值)
  4. 使用本地作業系統重新啟動 VM
  5. 調整你的 /dev/sda3 文件系統的大小xfs_growfs /dev/sda3(Mattias寫過這個)

瞧!

是的,使用 fdisk 從救援映像中刪除分區是可怕的……但在這種情況下,您所做的只是刪除分區表本身中的條目,而不是實際的分區。

所以,最後我想經常重複一個教訓:當有疑問時,繼續使用 LVM。

引用自:https://unix.stackexchange.com/questions/360291