扩容 Linux 云服务器文件系统(GPT 分区表)
Note
面向云服务器的云硬盘,扩容后需要扩容文件系统,以便云服务器可以使用扩容的空间;
2. 面向有状态负载的云硬盘,扩容后将自动生效,无需手动扩容文件系统;
3. 操作前请确保已经扩容了云硬盘,详见 扩容云硬盘;
4. 适用于所有网易云官方 Linux 镜像(CentOS/Ubuntu/Debian)创建的云服务器。
Attention
在扩容前,建议做好数据备份(如创建快照等)
确认分区形式
GPT 分区操作指引
按需选择扩容原分区或新建分区。
Attention
对于未分区、直接格式化后就挂载的磁盘,可直接调整文件系统大小:
resize2fs -f -F /dev/vdc
1. 扩容原分区
1.1. 连接云服务器
使用 SSH 或 VNC 方式登录云服务器,详请参见:如何登录 Linux 云服务器 。
1.2. 查看数据盘信息
使用如下命令查看已挂载的数据盘信息:
fdisk -l
df -h
下方示例中可以看到挂载数据盘 /dev/vdc 的信息:
容量:160 GB(扩容前 100 GB)
分区:/dev/vdc1(100 GB)
挂载点:/data1
分区表:GPT
以下内容都将以该数据盘 /dev/vdc 作为示例。
1.3. 使用growpart工具对分区进行热扩容
使用如下命令扩容分区:
growpart /dev/vdc 1 # 示例中为“1”表示的是/dev/vdc的第一块分区
Attention
如果扩容分区失败,报错如下,说明系统未安装gdisk工具,需要安装
参考如下命令安装gdisk:
yum install -y gdisk 或 apt install -y gdisk
执行结果如下表示执行成功:
1.4. 扩容文件系统
使用如下命令扩容文件系统:
resize2fs -f -F /dev/vdc1
1.5. 扩容后检查
使用如下命令检查扩容后分区的文件系统:
df -h
fdisk -l /dev/vdc
2. 新建分区
2.1. 连接云服务器
使用 SSH 或 VNC 方式登录云服务器,详请参见:如何登录 Linux 云服务器 。
2.2. 查看数据盘信息
使用如下命令查看已挂载的数据盘信息:
df -h
parted {disk} #示例中为 parted /dev/vdc
p
下方示例中可以看到挂载数据盘 /dev/vdc 的信息:
容量:172 GB(扩容前 107 GB)
分区:/dev/vdc1(107 GB)
挂载点:/data1
分区表:GPT
以下内容都将以该数据盘 /dev/vdc 作为示例。
Note
记录 End 值用于作为新建分区的 Start 值。
2.3. 卸载目标分区
使用如下命令卸载已挂载的目标分区:
umount {dir} #示例中为 umount /data1
2.4. 数据盘分区
在 parted 下使用如下命令新建分区:
mkpart {part-type} {start} {end}
#本示例中为 mkpart primary 107GB 100%
#start 值为 /dev/vdc1 分区的 End 值
#更多用法详见 man parted
2.5. 格式化并创建文件系统
使用如下命令对新分区格式化并创建文件系统:
mkfs.{fstype} {device} #本示例中为 mkfs.ext4 /dev/vdc2
格式化时间取决于数据盘大小,也可以按需选择其他如 ext3 等文件格式(如何查看分区的文件系统 )。
2.6. 挂载新分区
Note
手动挂载数据盘的云服务器重启后,挂载将失效;若需开机自动 mount 数据盘,则必须将分区信息写入 /etc/fastab 中,详见 如何自动挂载数据盘 。
使用如下命令将所有分区挂载至云服务器文件夹:
mount {device} {dir} #本示例中为 mount /dev/vdc1 /data1 和 mount /dev/vdc2 /data2
使用 df -h 命令确认挂载成功: