其实准确点儿的描述应该是: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)