Ubuntu 18.04 根目錄只有 4G 大小


其實准確點兒的描述應該是:Ubuntu Server 18.04 ,設置 LVM,安裝完成后根目錄的容量為什么只有 4G?只有 Server 版有問題,Desktop 版沒有問題,Ubuntu 16.04 的 Server 版和 Desktop 版都沒有這樣的問題。

筆者在 vSphere 中安裝虛機 Ubuntu Server 18.04.2,設置磁盤大小為 200G,文件系統設置時選擇 LVM ,也就是 "Use An Entire Disk And Set Up LVM",如下圖所示:

其他都是默認值,安裝很順利,但是進入系統后檢查文件系統發現根目錄的容量只有區區 4G:

這是咋回事兒?說好的 200G 呢?

如何解決?

其實如果有些 LVM 的基礎知識處理這個問題是很簡單的。先看看 PV 的信息:

PV 的狀態沒有問題,接着檢查 VG 的容量:

VG 的容量也是正確的,並且大部分空閑。接着檢查 LV 的容量:

原來問題出在這里,199G 的 VG,而 LV 只分到了 4G。
問題找到了,解決方式也很簡單,先擴展 LV,再擴展文件系統!

直接把 VG 剩余的所有空間分給 LV:

$ sudo lvextend /dev/ubuntu-vg/ubuntu-lv /dev/sda3

再 resize 文件系統就可以了:

$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

檢查結果:

搞定!

是不是漏了什?

到底是哪里出了問題?Ubuntu Desktop 18.04 可沒有這樣的問題!不會是和虛擬環境 vSphere 有關吧?帶着種種疑問在網上搜了一通,其實在 Ubuntu 18.04 的 Release Notes 中就說明了這是個已知問題(Known issues):
LVM Entire Disk option does not use entire disk (1785321)

去看看這個問題的詳細信息,發現這貌似並不是一個 bug,而是一個 design。人家本來的目的是讓管理員能夠更加方便、合理的使用 LVM,從而改進了默認的設置(對比 Ubuntu Server 16.04):

The reason only 4GiB is allocated to the root file-system is that the remaining space is there to be allocated for other purposes by the system administrator.

E.g. The administrator may want to allocated separate block devices to host virtual machine or container images, and so on.

大意是說:只分配 4G 給根文件系統的原因是剩余的空間由系統管理員分配給其他用途。管理員可能希望分配單獨的塊設備來承載虛擬機或容器映像,等等。

只不過這個 design 讓筆者這種喜歡默認值的用戶突然感到了不適應(至少這個行為和 Ubuntu 16.04 不一樣,和 Ubuntu 18.04 Desktop 也不一樣)。頓時感覺無比 shallow,距離系統管理員還有不小的差距啊!既然被標記成了 issue ,估計在后面的版本中會有調整。

在安裝系統時解決該問題

其實如果在安裝系統時,仔細看看默認的配置(出問題前誰會看呢?)就會發現這個問題:

文件系統的詳細配置中已經指明了根目錄所掛載的文件系統所在的 LV 容量為 4G,編輯該 LV 的配置信息,把默認值改為允許的最大值就可以了:

其他的配置繼續應用默認值,這次安裝完成后根目錄的容量就是我們期望的值(不是 200G噢,實際只有 195G 左右)。

總結

在對這個問題的認知過程中,筆者剛開始一直受困於自己的經驗,認為 Ubuntu 16.04 的 Server 版和 Desktop 版都沒有這樣的問題,Ubuntu 18.04 的 Desktop 版也沒有這樣的問題,那就一定是 Ubuntu Server 18.04 的問題。這樣的習慣性思維導致了筆者無法以更廣闊的視角看待這個問題,如果筆者是一個真正的 Linux 系統管理員,說不定正喜大普奔呢!

參考:
https://www.cnblogs.com/sparkdev/p/10522489.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM