这篇帮助说明了如何初始化以及扩容Linux云服务器的硬盘。当我们对云服务器硬盘做变更操作,包括扩容现有硬盘、增加新的硬盘后,系统不会自动调整硬盘大小,需要执行一些命令行完成。该帮助适用于CentOS、Ubuntu、Debian等操作系统。
查看分区情况
首先远程登录到Linux云服务器,查看当前挂载情况、文件系统类型以及分区情况。以下面的云服务器为例,可以看到这台云服务器有一块硬盘:/dev/vda,大小为140G。已经创建了/dev/vda1的分区,大小为40G,文件系统为xfs。现在我们要把该分区扩容到140G。
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.6G 0 7.6G 0% /dev
tmpfs tmpfs 7.6G 16K 7.6G 1% /dev/shm
tmpfs tmpfs 7.6G 33M 7.6G 1% /run
tmpfs tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
/dev/vda1 xfs 40G 9.5G 31G 24% /
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 378K 0 rom
vda 253:0 0 140G 0 disk
└─vda1 253:1 0 40G 0 part /
扩容系统盘
1、安装growpart工具
部分云服务器的镜像中已默认安装好了growpart,其余版本需要自行安装,安装步骤如下。
- CentOS
yum install -y epel-release
yum install -y cloud-utils
- Ubuntu/Debian
apt-get install cloud-initramfs-growroot
2、扩容分区表
执行以下命令扩容系统盘/dev/vda的分区表。
LANG=en_US.UTF-8
growpart /dev/vda 1
3、扩容文件系统
- xfs文件系统
xfs_growfs /
- ext4文件系统
resize2fs /dev/vda1
4、确认是否扩容完成
仍然使用df -Th命令查看,/dev/vda1分区的Size已扩容为140G。
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 7.6G 0 7.6G 0% /dev
tmpfs tmpfs 7.6G 16K 7.6G 1% /dev/shm
tmpfs tmpfs 7.6G 41M 7.6G 1% /run
tmpfs tmpfs 7.6G 0 7.6G 0% /sys/fs/cgroup
/dev/vda1 xfs 140G 9.6G 131G 7% /
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
初始化数据盘
创建新的数据盘后,需要按照以下步骤初始化并挂载数据盘。我们先查看当前挂载情况、文件系统类型以及分区情况。以下面的云服务器为例,可以看到这台云服务器有两块硬盘:/dev/vda和/dev/vdb,大小分别为50G和20G。已经创建了/dev/vda1的分区,大小为50G,文件系统为xfs。现在我们要初始化第二块硬盘:/dev/vdb,创建相应的分区。
[[email protected]~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 411M 0 411M 0% /dev
tmpfs tmpfs 423M 0 423M 0% /dev/shm
tmpfs tmpfs 423M 12M 412M 3% /run
tmpfs tmpfs 423M 0 423M 0% /sys/fs/cgroup
/dev/vda1 xfs 50G 2.1G 48G 5% /
tmpfs tmpfs 85M 0 85M 0% /run/user/0
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdb 253:16 0 20G 0 disk
vda 253:0 0 50G 0 disk
└─vda1 253:1 0 50G 0 part /
1、把硬盘挂载到/data目录下
- xfs文件系统
mkfs.xfs /dev/vdb
mkdir /data
mount -t xfs /dev/vdb /data
- ext4文件系统
mkfs -t ext4 /dev/vdb
mkdir /data
mount /dev/vdb /data/
2、编辑/etc/fstab,加入以下内容
- xfs文件系统
/dev/vdb /data xfs defaults,noatime 0 0
- ext4文件系统
/dev/vdb /data ext4 defaults,noatime 0 0
3、确认是否扩容完成
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 411M 0 411M 0% /dev
tmpfs tmpfs 423M 0 423M 0% /dev/shm
tmpfs tmpfs 423M 12M 412M 3% /run
tmpfs tmpfs 423M 0 423M 0% /sys/fs/cgroup
/dev/vda1 xfs 50G 2.1G 48G 5% /
tmpfs tmpfs 85M 0 85M 0% /run/user/0
/dev/vdb xfs 20G 33M 20G 1% /data
扩容数据盘
变更配置前数据盘已经存在,对数据盘进行了升级操作,则按照以下步骤扩容数据盘。我们先查看当前挂载情况、文件系统类型以及分区情况。以下面的云服务器为例,可以看到这台云服务器有两块硬盘:/dev/vda和/dev/vdb,大小分别为50G和30G。已经创建了相应的分区,大小分别为50G和20G,文件系统为xfs。现在我们要把第二块硬盘的分区扩容到30G。
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 411M 0 411M 0% /dev
tmpfs tmpfs 423M 0 423M 0% /dev/shm
tmpfs tmpfs 423M 12M 412M 3% /run
tmpfs tmpfs 423M 0 423M 0% /sys/fs/cgroup
/dev/vda1 xfs 50G 2.1G 48G 5% /
/dev/vdb xfs 20G 33M 20G 1% /data
tmpfs tmpfs 85M 0 85M 0% /run/user/0
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdb 253:16 0 30G 0 disk /data
vda 253:0 0 50G 0 disk
└─vda1 253:1 0 50G 0 part /
1、扩容文件系统
- xfs文件系统
xfs_repair /dev/vdb
xfs_growfs /data
- ext4文件系统
e2fsck -f /dev/vdb
resize2fs /dev/vdb
2、确认是否扩容完成
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 411M 0 411M 0% /dev
tmpfs tmpfs 423M 0 423M 0% /dev/shm
tmpfs tmpfs 423M 12M 412M 3% /run
tmpfs tmpfs 423M 0 423M 0% /sys/fs/cgroup
/dev/vda1 xfs 50G 2.1G 48G 5% /
/dev/vdb xfs 30G 33M 30G 1% /data
tmpfs tmpfs 85M 0 85M 0% /run/user/0