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

Ubuntu 18.04 根目录只有 4G 大小的更多相关文章

  1. Ubuntu 18.04 根目录为啥只有 4G 大小

    其实准确点儿的描述应该是:Ubuntu Server 18.04 ,设置 LVM,安装完成后根目录的容量为什么只有 4G?只有 Server 版有问题,Desktop 版没有问题,Ubuntu 16. ...

  2. Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量

    Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量   Ubuntu 作为服务器系统使用的时候,系统盘的空间可能并不是很充裕,apt apt 着,根目录就满了.诚然, ...

  3. Ubuntu 18.04 LTS 常用软件安装杂记

    之前个人笔记本装的是 Linux Mint,用了一段时间但是体验不佳,所以打算换成 Ubuntu .作为一个 Linux 小白,当时配置一些软件环境费了不少时间.这次打算简单记录下,和大家分享一下我的 ...

  4. ubuntu 18.04 搭建flask服务器(大合集,个人实操)

    ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...

  5. 基于Ubuntu 18.04.5 LTS 部署Ceph集群测试及Ceph RDB的使用。

    1.ceph简介 Ceph在一个统一的系统中独特地提供对象.块和文件存储 1.1 ceph官网架构图 1.2 架构解释   CEPH 对象存储 CEPH 块设备 CEPH 文件系统 RESTful 接 ...

  6. Ubuntu 18.04编译AOSP源码

    总结一下我从Ubuntu 18.04下编译成功AOSP的过程,以及遇到的坑 我的电脑配置: OS: Ubuntu 18.04 bionic Kernel: x86_64 Linux 4.18.0-17 ...

  7. Ubuntu 18.04.1 搭建Java环境和HelloWorld

    一.搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technetwork/java ...

  8. Ubuntu 18.04学习笔记

    命令行快捷键 https://blog.csdn.net/wanlhr/article/details/80926804 Ubuntu18.04使用vi命令修改文件并保存 vi /opt/teamvi ...

  9. [转]Win7 + Ubuntu 18.04 LTS (Bionic Beaver)双系统安装方法

    这里介绍在win7的基础上,安装ubuntu 18.04 LTS,实现双系统启动. 首先,假设你已安装了windows 7系统. 一. 制作ubuntu U盘启动盘. 方法见http://blog.p ...

随机推荐

  1. 微信小程序-rpx

    rpx 是微信小程序解决自适应屏幕尺寸的尺寸单位.微信小程序规定屏幕的宽度为750rpx. 微信小程序同时也支持rem尺寸单位, rem 规定屏幕的宽度为20rem, 所以 1rem = (750/2 ...

  2. 无法优化的O(n!) 算法

    旅行商问题: 有一位旅行商,他需要前往5个城市. 要前往这5个城市,同时要确保旅程最短. 对于每种顺序,他都计算总旅程,再挑选出旅程最短的路线.5个城市有120种不同的排列方式.因此,在涉及5个城市时 ...

  3. mac软件推荐及chrome插件推荐

    通用软件 Alfred (超级好用的效率工具) 用mac这个软件一定要装,用习惯之后加上电脑本身的快捷键.效率提升的飞起. Alfred我常使用的功能有: 搜索chrome的书签 我搜索的书签大概分为 ...

  4. 第三个视频作品《小白快速入门greenplum》上线了

    1.场景描述 第三个视频作品出炉了,<小白快速入门greenplum>上线了,有需要的朋友可以直接点击链接观看.(如需购买,请通过本文链接购买) 2. 课程内容 课程地址:https:// ...

  5. Log4net 使用汇总(网络收集整理)

    原帖1:http://blog.csdn.net/wanzhuan2010/article/details/7587780 原帖2:http://grim1980.blog.sohu.com/2555 ...

  6. 【C/C++】之C/C++快速入门

    1    基本数据类型 C/C++语言中的基本数据类型及其属性如下表所示: 类型 取值范围 大致范围 整形 int -2147483648 ~ +2147483647 (即-231 ~ +(231-1 ...

  7. 英语口语考试资料Friendships

    Friendships Remember Friendships can be complicated. When you want to get to know someone, it helps ...

  8. 对python的初步了解

    一,Python简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具 ...

  9. Calling the Web Service dynamically (.NET 动态访问Web Service)

    针对.NET平台下的WebService访问,为达到不添加引用的情况下,动态调用外部服务. 主体方法: public class WebServiceHelper { //Calling the We ...

  10. 漫谈边缘计算(三):5G的好拍档

    边缘计算的热度迅速攀升,还有一个不得不提的因素,就是5G的发展. [5G推动云计算从集中化向分布式演进] 在第一篇文章(<漫谈边缘计算(一):边缘计算是大势所趋>)中我提到,传统的云计算技 ...