在扩展数据盘扩展分区和文件系统前,请提前完成以下工作。
1.创建快照以备份数据,防止操作失误导致数据丢失。
2.通过西部云控制台扩容数据盘容量。
3.远程连接云服务器,根据操作系统安装growpart或者xfsprogs扩容格式化工具。
a. CentOS:
yum install -y epel-release
yum install -y cloud-utils-growpart
yum install -y xfsprogs
b. Ubuntu 14、Ubuntu 16、Ubuntu 18、Debian 9:
apt install cloud-guest-utils
apt install xfsprogs
c. Debian 8、OpenSUSE 42.3、OpenSUSE 13.1、SUSE Linux Enterprise Server 12 SP2:请使用上游版本(upstream)的growpart或者xfsprogs工具
4.检查实例的内核版本,例如运行uname -a命令查看内核版本。
a.内核版本大于3.6.0,请参考CentOS 7的操作步骤。
b.内核版本小于3.6.0,请参考CentOS 6的操作步骤(如CentOS 6、Debian 7和SUSE Linux Enterprise Server 11 SP4等发行版,需要经过一次控制台重启或者远程重启才能完成分区扩容。)
一、以Centos7.7为例:
1.检查实例的内核版本
2.查看当前Linux服务器分区: lsblk和df -h
3.通过growpart命令扩容:
运行growpart 命令,调用growpart为需要扩容的云盘和对应的第几个分区扩容。
示例命令表示为数据盘的第一个分区扩容:
growpart /dev/sdb 1 (这里请输入对应的硬盘,比如:/dev/xvdb)
如出现以上错误,请执行命令:LANG=en_US.UTF-8
再次运行命令:growpart /dev/sdb 1 (这里请输入对应的硬盘,比如:/dev/xvdb)
4.执行lsblk命令查看,硬盘已经扩容,再执行df -h命令查看文件系统的磁盘使用情况,发现分区还是原来的大小.
5.运行resize2fs 命令调用resize2fs扩容文件系统。
resize2fs /dev/sdb1 (这里请输入对应的分区,比如:/dev/xvdb1)
注意:如果您使用的是xfs文件系统,运行xfs_growfs /dev/vda1命令扩容文件系统。
6.再次运行 df -h 命令查看文件系统的磁盘使用情况,扩容成功。
二、以CentOS6.10为例:
1.检查实例的内核版本:
2.查看当前Linux服务器分区: lsblk和df -h
3.安装dracut-modules-growroot工具,如果您使用的是其他软件包管理器,请将yum修改为对应的命令。
yum install -y dracut-modules-growroot
4.覆盖已有的initramfs文件:
dracut -f
5.通过growpart命令扩容
运行growpart 命令,调用growpart为需要扩容的云盘和对应的第几个分区扩容。
示例命令表示为数据盘的第一个分区扩容:
growpart /dev/sdb 1 (这里请输入对应的硬盘,比如:/dev/xvdb)
6.reboot重启系统
7.执行lsblk命令查看,硬盘已经扩容,再执行df -h命令查看文件系统的磁盘使用情况,发现分区还是原来的大小.
8.运行resize2fs 命令调用resize2fs扩容文件系统。
resize2fs /dev/sdb1 (这里请输入对应的分区,比如:/dev/xvdb1)
注意:如果您使用的是xfs文件系统,运行xfs_growfs /dev/vda1命令扩容文件系统。
9.再次运行 df -h 命令查看文件系统的磁盘使用情况,扩容成功。