Ubuntu:調整根 LVM(2?) 分割區的大小

Ubuntu:調整根 LVM(2?) 分割區的大小

我有一個在 VirtualBox 2.2.4 中運行的 Ubuntu 虛擬機,我在一個 8GB 的​​虛擬磁碟上創建了它,但這個虛擬磁碟太小了。

因此,我正在嘗試增加磁碟的大小。到目前為止,我已經這樣做了:

  1. 創建了一個新的更大的虛擬磁碟
  2. 將第二個磁碟加入機器中
  3. 使用 CloneZilla 將第一個磁碟複製到第二個磁碟
  4. 刪除第一個磁碟
  5. 從第二個(較大的磁碟)啟動

但現在我的新 100GB 虛擬磁碟上仍然有 8GB 分割區。

從這裡到擁有 100GB 分割區的最簡單途徑是什麼? :) 我收集 GPart 可以調整分割區大小,但它似乎不支援 LVM2 分割區,而我的似乎是。

謝謝

  • 亞歷克斯

答案1

一般來說,調整 LVM 磁碟區大小的方法如下:

假設/mountpoint是 on /dev/VolGroup00/mountpoint。您可以透過查看/etc/fstab或運行來找到這一點mount -l

您可能還需要調整實際物理磁碟區的大小,具體取決於您的設定。使用pvdisplay找出它是否足夠大,並在必要時使用pvresize(如下所示lvresize)。

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

這相當於卸載、調整底層 LVM 的大小,然後調整實際 ext3 分割區的大小。

有幾點要注意:

  1. 顯然,使用/與資料分區不同。您可能需要啟動磁碟,例如系統救援而不是現場實踐。另請參閱下面 Kristof 的評論 - 您實際上可以在不卸載的情況下執行此操作/
  2. lvresize 有幾個不同的語法選項,減少邏輯磁碟區可能會損害覆蓋的分區。諮詢您的本地手冊頁了解更多。

答案2

只是這樣做並遇到了與您相同的問題,但我的強迫症一方不想創建一個新的LVM 並將其添加到卷組中,而是想調整我當前的LVM 的大小,從而以簡單的名義保留單個分區。注意:如果可用空間沒有立即跟隨您正在調整大小的分割區,我認為這是不可能的!

為此,您需要一個可以刪除和建立分割區表的工具。由於我使用 GPT 這意味著我需要g磁碟。您還需要在卸載分割區的情況下執行此操作,因此您可能需要啟動 Ubuntu LiveCD 並從那裡運行它。

下列步驟以粗體顯示以 LVM 為例/dev/mms/根在設備上/dev/sda,我想擴展分區的地方/dev/sda3佔據我新發現的自由空間。

筆記:這些可能具有很大的破壞性,因此請確保您的輸入正確!

  1. gdisk /dev/sda(確保輸入正確的裝置!)這會將您帶入 gdisk,然後您可以在其中按順序執行以下步驟
    1. p -- 列印出你目前的分區資訊(供參考)
    2. d -- 用於刪除分割區表
    3. 3 -- 代表您要刪除的分割表的設備號碼(重要!)
    4. n -- 用於建立分區表
    5. 3-- 代表您想要建立的分割區表的裝置號碼(您可能想要使用與步驟 3 中刪除的相同的裝置號)
    6. p -- 列印您目前的分割區資訊(再次作為參考,將其與您開始時的資訊進行比較!)
    7. w -- 將變更儲存到磁碟(您確定嗎?!)
  2. pvresize /dev/sda3-- 在執行此操作之前,您可能必須重新啟動,以便您的作業系統識別新的分割區大小
  3. 光伏顯示-- 列印您當前的資訊(它應該顯示它現在正在使用完整的空間!)
  4. lvresize -l +100%FREE /dev/mms/root-- 調整我的 LVM 大小以佔據 100% 的新空間
  5. e2fsck -f /dev/mms/root-- 執行完整性檢查
  6. resize2fs -p /dev/mms/root-- 調整檔案系統大小以佔用整個 LVM

完成上述操作並重新啟動到調整大小的作業系統後,一切都按預期進行,並且我擁有了所有額外的可用空間!

我用來解決這一切的其他參考資料:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

答案3

我發現只有一種(而且只有一種)方法可以做到這一點,我嘗試了無數種方法。

首先,透過右鍵點擊 virtualbox 中的 ubuntu 來賓虛擬機器並前往「複製」來複製它。克隆完成後,使用(在主機作業系統上)擴展克隆的 vdi

VBoxManage修改hd“克隆的vdi的名稱”--調整“新根分區的大小以MB為單位”

然後 - 按照這篇文章中的步驟進行操作(他將 VMware 稱為一個平台,但忽略了這一點)

http://blog.campodoro.org/?p=36

這將建立另一個大小與您新增的額外空間完全相同的 lvm,並將其附加到現有 lvm 的末端。

檢查一切正常後,您可以刪除原始虛擬機器並升級您的克隆!

無需費力使用 fdisk 並擔心刪除或搞砸錯誤的分區。

在我找到這個解決方案之前,我一定已經破壞了大約 4 個克隆作業系統!

答案4

請注意,您實際上並不需要使用像 CloneZilla 這樣的克隆工具,您可以在新的虛擬磁碟上放置一個分割區(可選),然後使用該pvcreate命令將其(或虛擬磁碟本身)初始化到 LVM 中。然後使用vgextend將其新增至支援邏輯磁碟區的磁碟區組中,然後使用vgreduce從磁碟區組中刪除原始虛擬磁碟。這將執行遷移,並且可以在使用邏輯磁碟區時即時完成,這就是儲存虛擬化的美妙之處。完成後,您只需以上述方式擴展邏輯卷,這也可以使用比 ext3 更現代的檔案系統即時完成。

相關內容