操作场景
弹性云主机创建成功后,如果发现系统盘分区的容量大小和实际创建的系统盘大小不一致,可以通过手动调整系统盘分区,扩容系统盘的空白空间。
扩容的方法有如下两种:
将空白分区划分成新分区,并将新分区格式化后挂载到root根分区的某个目录下。具体方法请参见本节内容。
将扩容的空白分区直接扩容到根分区。具体方法请参见FAQ:
− 如何将扩容系统盘的空白分区在线扩容到末尾的root分区?
− 如何将扩容系统盘的空白分区在线扩容到非末尾的root分区?
操作步骤
以镜像为CentOS 7.3 64bit的弹性云主机为例,用户在创建弹性云主机时,创建了容量为60GB的系统盘,但是查询系统盘分区后,显示的容量大小仅为40GB。
为使用增加的20GB容量,需调整系统盘分区,具体操作如下:
- 步骤 1 查看磁盘分区
- 登录Linux弹性云主机。
- 执行以下命令,切换至root用户。
sudo su -
- 执行以下命令,查看云主机的磁盘详情。
fdisk -l
回显类似如下,其中,“/dev/xvda”或“/dev/vda”表示系统盘。
图 查看磁盘详情
- 执行以下命令,查看磁盘分区。
parted -l /dev/xvda
图 查看磁盘分区
- 步骤 2 将系统盘扩容后的空间划分为一个新的分区
- 执行以下命令,进入fdisk模式。以“/dev/xvda”为例:
fdisk /dev/xvda
回显类似如下:
[root@ecs-8d6c ]# fdisk /dev/xvda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
- 输入“n”,按“Enter”,开始新建分区。
本例中由于系统盘原来已经有2个分区,所以系统自动添加第3个分区。
回显类似如下:
图 新建分区
- 输入新分区的起始磁柱编号,按“Enter”。
其中,起始磁柱编号必须大于原有分区的结束磁柱编号。本例中我们设置新分区的起始磁柱编号为默认值,直接按“Enter”,则回显类似如下:
图 输入新分区的起始磁柱编号
- 输入新分区的结束磁柱编号,按“Enter”。
本例中我们设置新分区的结束磁柱编号为默认值,直接按“Enter”,则回显类似如下:
图 输入新分区的结束磁柱编号
- 输入“p”,按“Enter”,查看新建分区。
回显类似如下:
图 查看新建分区
- 输入“w”,按“Enter”,保存并退出分区信息。
系统会自动将分区结果写入分区表中,完成分区创建。
回显类似如下:
图 完成分区创建
- 执行以下命令,查看磁盘分区。
parted -l /dev/xvda
图 查看新的磁盘分区
- 步骤 3 执行以下命令,将分区表的变更同步至操作系统
partprobe
- 步骤 4 执行以下命令,设置新建分区文件系统的格式
- 执行以下命令,查看文件系统的格式。
df -TH
图 查看文件系统的格式
- 以“ext4” 文件格式为例,命令行如下:
mkfs -t ext4 /dev/xvda3
说明格式化需要等待一段时间,请观察系统运行状态,不要退出。
回显类似如下:
[root@ecs-86dc ]# mkfs -t ext4 /dev/xvda3
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1790544 inodes, 7156992 blocks
357849 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
219 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
- 步骤 5 将新建分区挂载到需要增加空间的目录下
新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如果确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,待新分区挂载成功后,再将子目录和文件移动回来。
以新建目录/root/new为例:
- 执行以下命令,在/root下新建目录new。
mkdir /root/new
- 执行以下命令,将新分区挂载至“/root/new”目录。
mount /dev/xvda3 /root/new
回显类似如下:
[root@ecs-86dc ]# mount /dev/xvda3 /root/new
[root@ecs-86dc ]#
- 执行以下命令,查看挂载结果。
df -TH
回显类似如下:
图 查看挂载结果
- 步骤 6 根据需要,判断是否需要将新增磁盘设置为开机自动挂载
如果未设置开机自动挂载,重启弹性云主机后,用户需要将新建分区重新挂载至指定目录。
是,执行步骤7。
否,任务结束。
- 步骤 7 设置开机自动挂载新增磁盘
说明禁止将未经过格式化的磁盘设为开机自动挂载,否则会导致弹性云主机无法正常启动。
- 执行以下命令,获取文件系统类型、UUID。
blkid
图 查看文件系统类型
则新建分区的UUID=96e5e028-b0fb-4547-a82a-35ace1086c4f。
- 执行以下命令,使用vi编辑器打开“fstab”文件。
vi /etc/fstab
- 按“i”,进入编辑模式。
- 将光标移动至文件末尾,按“Enter”,并添加如下语句:
UUID=96e5e028-b0fb-4547-a82a-35ace1086c4f /root/new ext4 defaults 0 0
- 按“Esc”,执行以下命令,并按“Enter”,保存设置并退出编辑器。
:wq
说明将新增磁盘设置为开机自动挂载后,如果要卸载该磁盘,必须先删除新增磁盘的自动挂载配置信息,否则卸载该磁盘后,会导致弹性云主机无法正常启动。删除自动挂载配置信息的方法为:
1. 执行以下命令,使用vi编辑器打开“fstab”文件。
vi /etc/fstab
2. 按“i”,进入编辑模式。
3. 删除如下语句:
UUID=96e5e028-b0fb-4547-a82a-35ace1086c4f /root/new ext4 defaults 0 0
4. 按“Esc”,执行以下命令,并按“Enter”,保存设置并退出编辑器。
:wq