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

 

Ubuntu 作为服务器系统使用的时候,系统盘的空间可能并不是很充裕,apt apt 着,根目录就满了。诚然,增加磁盘 / 分区并挂载是一个方案,但并不能解决所有问题(例如 apt)。同时,一些跑在云平台上的服务器并没有很好的离线操作磁盘的手段,这时候在线扩容就显得极为必要了。

数据无价!对磁盘进行任何操作前,请务必做好备份!


1. 磁盘根目录在线扩容

操作环境:Proxmox VE 虚拟化 / Ubuntu 18.04.5 LTS / GPT 分区表 / ext4 分区

1.1 增大物理磁盘容量

这部分没什么好说的,虚拟机就在设置里改,云平台就在对应的平台修改。修改好之后 Ubuntu 应该就可以直接识别到新的容量了。

1.2 将容量合并进分区

首先运行

fdisk -l

命令查看磁盘容量是否被识别:

从上图可以看到,磁盘容量已被正确识别为 64GiB,但分区表记录的磁盘容量仍为扩容前的 40GiB(见红色提示,错误已被识别到),分区大小也是同样的 40G。

1.2 修复分区表

运行

parted -l

查看分区情况。
parted 会立即提示磁盘的空间并没有被全部使用,这里输入 Fix 后回车,修复一下 GPT 分区表。

从上图中已经可以看到,分区表记录的磁盘容量已经正常。

1.3 扩容分区

现在就可以将空闲的磁盘容量合并到分区里了,这里利用界面和操作都更加友好的

cfdisk

来进行操作。
按上下键选中要扩容的分区,再按左右键选择 Resize 操作,回车。cfdisk 应该会自动填写此分区与未分配空间的总容量,也可以自己输入扩容后的大小,回车即可。

下图中的 sda2 分区已经变为 64G,分区扩容完毕。但此时的所有操作仅在内存中完成,我们需要选择 Write 来将更改保存到分区表。写入后退出 cfdisk。

再次执行

fdisk -l

,可见分区容量已变为 64G。

1.4 扩容文件系统

此时扩容并未结束,因为文件系统记录的分区容量仍为 40G,我们需要让文件系统知道分区已被扩容。

这里需要用到 resize2fs,以我的磁盘 sda2 为例,执行以下命令:

resize2fs -p /dev/sda2
resize2fs /dev/sda2
 
 

等待操作完成即可。根据上图提示,我们已经完成了对文件系统的在线扩容。


2. 修改磁盘 inode

对于 ext4 文件系统,inode 会在格式化时被写死,若要修改必须重新格式化,丢失所有数据,请务必注意。xfs 等文件系统提供 inode 的动态扩展功能。

2.1 查看磁盘 inode 情况

运行

df -i

查看各个分区的 inode 使用情况。

从上图可以看到我的 sdc1 分区已经用尽了所有 4,194,304 个 inode,此时表现为无法写入任何数据,提示磁盘已满(即使仍有可用空间)。

2.2 重新格式化分区

在格式化分区的时候,可以利用 -N 参数指定 inode 数量。
以格式化 sdb1 为具有 16,777,216 个 inode 的 ext4 分区为例,执行以下命令:

mkfs.ext4 /dev/sdb1 -N 16777216

mkfs 会提示磁盘已存在格式化后的文件系统,确认后等待格式化完成即可。

2.3 检查 inode 数量

运行以下命令:

dump2fs -h /dev/sdb1 | grep node

结果如下图,可以看到 Inode count 一项已经变为我们指定的值。

 

Ubuntu 18.04 磁盘根目录在线扩容 & 修改分区 inode 数量的更多相关文章

  1. Ubuntu 18.04 进入单用户模式修改密码

    Ubuntu 18.04 使用单用户模式修改密码 操作步骤 启动Ubuntu 18.04 ,长按 Shift 键(有的可能按 Esc 键:绝大多数按 Shift 键)进入单用户视图,选中 Ubuntu ...

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

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

  3. Ubuntu 18.04 根目录只有 4G 大小

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

  4. Ubuntu 18.04 LTS修改 国内源(以中科大源为例)

    国内有很多Ubuntu的镜像源,包括阿里的.网易的,还有很多教育网的源,比如:清华源.中科大源. 我们这里以中科大的源为例讲解如何修改Ubuntu 18.04里面默认的源. 可以进入这个链接进行下载: ...

  5. ubuntu 18.04 修改 固定ip

    Linux(ubuntu)下固定IP的方法   写在前面,问:为什么要固定ip.答:要知道固定IP的好处多多,随意搬动,固定共享地址,不怕断网等等 首先,我们要选取一个局域网内的IP,方法如下: 1. ...

  6. Ubuntu 18.04修改默认源

    安装Ubuntu 18.04后,使用国外源太慢了,修改为国内源会快很多. 修改阿里源为Ubuntu 18.04默认的源 备份/etc/apt/sources.list #备份 cp /etc/apt/ ...

  7. ubuntu 18.04 修改Apache默认目录

    ubuntu 18.04 修改Apache默认目录 安装是直接运行 sudu apt install apache2 安装之后要修改目录 vi /etc/apache2/sites-available ...

  8. Ubuntu 18.04下安装Steam顶级在线游戏平台

    Ubuntu 18.04下安装Steam顶级在线游戏平台 原创: 聆听世界的鱼 Linux公社 今天 Steam是由Valve公司开发的顶级在线游戏平台,是目前全球最大的综合性数字发行平台之一.它让你 ...

  9. Ubuntu 18.04修改默认源为国内源

    安装Ubuntu 18.04后,使用国外源太慢了,修改为国内源会快很多. 修改阿里源为Ubuntu 18.04默认的源 备份/etc/apt/sources.list 备份 cp /etc/apt/s ...

随机推荐

  1. .大内高手专栏: NET中间语言(IL)

    补充知识点:opcode 在前面我们已经知道了,由于计算机只认识0和1,所以,源代码"NOP"是无法直接运行的.当Assembler遇到"NOP"的时候,为了生 ...

  2. oracle 12c RAC 重启

    转至:https://blog.csdn.net/weixin_40283570/article/details/81511072 关闭顺序 :关闭PDB----->关闭数据库------> ...

  3. maven实现compile时将资源目录输出到target中

    由于现在项目采用的是 jboot 框架,升级最新版本2.1.5后,需要将原来的webroot资源改到 src/main/webapp目录下, 发现转移后,通过框架的app.java入口main函数无法 ...

  4. Maven打包异常:Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war

    出现下面异常,因为默认web.xml在  src/main/webapp  下所以才出现找不到的异常. 我的项目结构为 解决办法①:  在pom.xml里面制定 web位置即可 //先确保打包方式为w ...

  5. Docker入坑系列(一)

    Docker入坑系列(一) 引用嘛,当然是来引用别人说的东西啦. Docker 是一个开源项目,诞生于 2013 年初,它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linux ...

  6. .Net Core中无处不在的Async/Await是如何提升性能的?

    一.简介 Async/Await在.Net Core中真的是无处不在,到处都是异步操作,那为什么要用?有什么作用?别人说能提升性能?网上一堆文章看的绕晕了也没说清楚, 所以这里从理论,实践,原理一个个 ...

  7. LeetCode-011-盛最多水的容器

    盛最多水的容器 题目描述:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, ...

  8. 在线配置文档connectionStrings.com

    在线配置文档网址:https://www.connectionstrings.com/ 用于查询以什么样的格式将连接信息写入配置文件时App.config 例如C#中写连接SQL Server的格式: ...

  9. 微信小程序两点之间的距离

    1:申请key: https://lbs.qq.com/dev/console/application/mine 网址: https://note.youdao.com/ynoteshare/inde ...

  10. laravel html转pdf

    这两天项目中需要将HTML页面转换为PDF文件方便打印,我在网上搜了很多资料.先后尝试了laravel-dompdf和laravel-snappy两种扩展包,个人感觉laravel-snappy比较好 ...