非lvm分区扩容有目前我知道两种方式。一种是在线扩容(不卸载的情况下),一种是离线扩容(卸载后扩容)。
警告:磁盘操作有风险,请谨慎操作。如果是数据库磁盘,操作前请买好火箭票,丢了数据请直接射向火星避难。
在线扩容,非阿里云服务器也可以使用下面的方式:
阿里云文档地址:https://help.aliyun.com/document_detail/113316.html
支持在线扩容的操作系统
支持在线扩容的Linux公共镜像(或基于公共镜像制作的自定义镜像)包括:
- Alibaba Cloud Linux:Alibaba Cloud Linux 2.1903 LTS 64位
- CentOS:
- CentOS 6:CentOS 6.8及以上版本
- CentOS 7:CentOS 7.2及以上版本
- CentOS 8及以上版本
- Red Hat Enterprise Linux:
- RHEL 6:RHEL 6.9及以上版本
- RHEL 7:RHEL 7.4及以上版本
- RHEL 8及以上版本
- Ubuntu:Ubuntu 16及以上版本
- Debian:Debian 8及以上版本
- SUSE:SUSE 12 SP2及以上版本
- OpenSUSE:OpenSUSE 42.3及以上版本
要扩容的磁盘分区, /dev/vda1
1、安装gdisk工具(安装不了就把源换成阿里云的)
yum install gdisk -y
2、安装growpart工具。
yum install -y cloud-utils-growpart
3、Debian 9及以上版本、Ubuntu14及以上版本运行以下命令。
apt-get update
apt-get install -y cloud-guest-utils
4、执行扩容分区命令,注意 vda 后面的是空格 1
growpart /dev/vda 1
5、扩容ext*(例如ext4)文件系统:运行以下命令扩容文件系统。
resize2fs /dev/vda1
6、扩容xfs文件系统:运行以下命令扩容文件系统。扩容 xfs 盘,命令后面跟的是磁盘的挂载点,而不是磁盘的设备名称。如:/media/vdc
为/dev/vda1
的挂载点,命令如下。
xfs_growfs /media/vdc
7、查看挂载的磁盘的大小。
df -hT
使用 linux 自带工具进行离线扩容:
阿里云原文档地址:https://help.aliyun.com/document_detail/25452.html
有些情况下,可能需要使用 linux 自带的工具进行扩容,如服务器不能上网的情况下。
1、使用fdisk重新分区。
fdisk /dev/vdb
2、重新分区。下面的步骤适用于磁盘内只有一个分区的情况,如果是2个分区,新分区的起始位置必须和旧分区的起始位置相同,结束位置必须大于旧分区的结束位置,否则会导致扩容失败。详见阿里云文档: https://help.aliyun.com/knowledge_detail/147323.html?spm=a2c4g.11186623.0.0.1bb51ce3zc90VB
- 输入p:打印分区表。
- 输入d:删除分区。
- 输入p:确认分区已删除。
- 输入n:新建分区。
- 输入p:选择分区类型为主分区。
- 选择分区号。默认选取了1。
- 输入w:保存修改并退出。
3、检查文件系统
e2fsck -f /dev/vdb1
4、ext*文件系统(例如ext3和ext4)扩容文件系统。
resize2fs /dev/vdb1
5、xfs 扩容文件系统,xfs 扩容,使用 xfs_growfs 命令,命令后面跟的是挂载点,而不是磁盘设备。如:/media/vdc
为 /dev/vdb1
的挂载点,命令如下。
xfs_growfs /media/vdc
6、将磁盘挂载到目录,查看大小。