其實準確點兒的描述應該是:Ubuntu Server 18.04 ,設置 LVM,安裝完成後根目錄的容量爲何只有 4G?只有 Server 版有問題,Desktop 版沒有問題,Ubuntu 16.04 的 Server 版和 Desktop 版都沒有這樣的問題。ubuntu
筆者在 vSphere 中安裝虛機 Ubuntu Server 18.04.2,設置磁盤大小爲 200G,文件系統設置時選擇 LVM ,也就是 "Use An Entire Disk And Set Up LVM",以下圖所示:ionic
其餘都是默認值,安裝很順利,可是進入系統後檢查文件系統發現根目錄的容量只有區區 4G:ui
這是咋回事兒?說好的 200G 呢?spa
其實若是有些 LVM 的基礎知識處理這個問題是很簡單的。先看看 PV 的信息:.net
PV 的狀態沒有問題,接着檢查 VG 的容量:3d
VG 的容量也是正確的,而且大部分空閒。接着檢查 LV 的容量:code
原來問題出在這裏,199G 的 VG,而 LV 只分到了 4G。
問題找到了,解決方式也很簡單,先擴展 LV,再擴展文件系統!blog
直接把 VG 剩餘的全部空間分給 LV:rem
$ sudo lvextend /dev/ubuntu-vg/ubuntu-lv /dev/sda3
再 resize 文件系統就能夠了:get
$ 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 系統管理員,說不定正喜大普奔呢!
參考:
LVM Entire Disk option does not use entire disk (1785321)