其实准确点儿的描述应该是: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. Ubuntu 16.04 更改apt源

    1 修改apt源配置文件,把/etc/apt/sources.list替换为以下内容: sudo gedit /etc/apt/sources.list deb http://mirrors.aliy ...

  2. python_day04

    今日内容: 一.爬虫三部曲: 1.发送请求 2.解析数据 3.保存数据 4.解析详情页,获取视频地址 mport requests import re #正则模块 import uuid #uuid. ...

  3. 宋宝华: Linux内核编程广泛使用的前向声明(Forward Declaration)

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) 前向声明 编程定律 先强调一点:在一切可 ...

  4. 【Powershell 教程】学习资源汇总

    [Powershell 教程]学习资源汇总 一.书籍教程 1.<Windows PowerShell实战指南>第3版 作者:[美] Don,Jones(道·琼斯),Jeffery,Hick ...

  5. day20191109spring

    笔记: 1.Idea构建maven项目之web应用项目 src main java文件夹中定义 Java源程序 resources文件中定义 资源配置文件信息 test文件夹中定义 测试Java程序 ...

  6. 英语口语考试资料Family

    I Love my family   12 years  ago, I was born in a happy family, there was a gentle father, a beautif ...

  7. css多行文本溢出显示省略号(兼容ie)

    在日常编写页面中,我们经常遇到内容行数过多时,需要出现 “...” 来处理.但是又要考虑IE浏览器或IE内核浏览器的兼容性. 普通实现方法: display: -webkit-box; -webkit ...

  8. 宝塔面板的数据库连接本地Navicat Premium

    把宝塔面板的数据库连接本地Navicat Premium,这样就方便操作了.下面我教大家如何实现. 第一步:在阿里云的安全组添加安全规则,配置安全组放开3306端口 第二步:打开宝塔设置数据库的权限, ...

  9. java多线程与线程池

    1. 场景描述 以前多线程也常用,这次因需再页面上用到多线程,如下图,总结下,有需要的朋友可以参考下. 2. 解决方案 2.1 线程池概念 线程池官方定义不说了,通俗说下:池子的概念,事先(预定义)创 ...

  10. 基于jquery的弹幕实现

    前几天,需要做一个弹幕展示效果,看了网上很多资料,但是很不凑巧,都不能满足自己的需求和功能点,但是总不能放弃吧,那么就自己写一个,今天把成果分享给大家,首先说一下市面上比较流行的弹幕插件吧: 1.有关 ...