扩大原有分区 (MBR分区与GPT分区)
本示例以“CentOS 7.6 64bit”操作系统为例,原有数据盘/dev/vdb已有分区/dev/vdb1,容量为10GB,且已在控制台将该数据盘扩容至20GB。本示例介绍如何将新增的10GB容量划分至已有的MBR分区或GPT分区/dev/vdb1内。
-
输入
growpart
命令,检查此云主机是否已安装growpart扩容工具。若出现图中回显信息,则说明已经安装,无需手动安装。
注意若没有图示信息,请执行命令“yum install cloud-utils-growpart”手动安装growpart工具。
-
执行命令
fdisk -l
,查看磁盘的分区信息,回显信息如图所示:
-
执行命令
df -TH
,查看数据盘分区/dev/vdb1的容量,回显信息如图所示:从图中看出,磁盘分区/dev/vdb1容量为10GB,但是磁盘/dev/vdb的容量为20GB,需要扩容磁盘分区/dev/vdb1的空间。
-
执行命令
growpart /dev/vdb 1
,指定数据盘待扩容的分区,数据盘为/dev/vdb,分区的编号为1,通过growpart进行扩容,回显信息如图所示: -
执行命令
resize2fs /dev/vdb1
,将原有分区/dev/vdb1的文件系统进行扩充。回显信息如图所示:
说明
当磁盘分区文件系统为xfs格式时,需要使用xfs_growfs 磁盘分区扩容。
当磁盘分区文件系统为ext格式时,需要使用resize2fs 磁盘分区扩容。
-
执行命令
df -TH
,查看扩容后数据盘分区“/dev/vdb1”的容量,回显信息如图所示:
此时数据盘分区/dev/vdb1的容量已经扩容至20GB。
若需要设置开机自动挂载磁盘分区,请参见设置开机自动挂载磁盘。
新增MBR分区
本示例以“CentOS 7.6 64bit”操作系统为例,原有数据盘/dev/vdb已有分区/dev/vdb1,容量为20GB,且已在控制台将该数据盘扩容至30GB。本示例介绍如何为新扩容的10GB容量分配一个新的MBR分区。
-
执行命令
fdisk -l
,查看磁盘的分区信息。回显如下:
当前系统盘/dev/vdb的磁盘容量为30GB。
-
执行命令
fdisk /dev/vdb
进入fdisk分区工具,回显信息如图所示: -
输入“n”,按“Enter”键,进行新建分区操作。回显如下:
注意p代表主分区,e代表扩展分区,磁盘使用MBR分区形式时,最多可以创建4个主分区,或者3个主分区加1个扩展分区。并且,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。
-
输入“p”,按“Enter”键,开始创建一个主分区。回显信息如图所示:
-
输入分区编号“2”,保持默认值,按“Enter”键。回显信息如图所示:
-
确认新分区的磁柱编号,包含起始磁柱编号与截止磁柱编号,这里都保持默认,按“Enter”键确认。用户也可在此自定义编号数值,注意,起始磁柱值必须小于分区的截止磁柱值。回显信息如图所示:
-
输入“p”,按“Enter”键,可查看新建分区。新建分区为/dev/vdb2,回显信息如图所示:
-
输入“w”,按“Enter”键,将分区的结果写入分区表中。回显如下:
以上回显信息表示分区创建完成。注意如果用户在实际分区操作过程中有误,可以输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留,不影响后续操作。
-
执行命令
partprobe
,将新的分区表变更同步至操作系统。 -
执行命令
mkfs -t ext4 /dev/vdb2
,设置新建分区/dev/vdb2的文件系统格式为ext4,回显信息如图所示:说明对于容量较大的云硬盘,mkfs命令可能执行时间较长,如需要缩短命令执行时间,您可以为mkfs命令添加如下参数:
ext2、ext3、ext4文件系统:添加-E nodiscard参数
xfs文件系统:添加-K参数
格式化需要等待一段时间,请观察系统运行状态,若回显中提示为done,如图则表示格式化完成。
-
执行命令
mkdir /mnt/sdc1
,新建挂载目录/mnt/sdc1。 -
执行命令
mount /dev/vdb2 /mnt/sdc1
,将新建分区/dev/vdb2挂载到需要增加空间的目录下,本示例中我们挂载至/mnt/sdc1下。注意建议用户将新增加的分区挂载至空目录,或者使用mkdir命令新建目录。当新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,如已经指定挂载目录,且该目录不为空,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。
-
执行命令
df -TH
,查看挂载结果。回显信息如下图所示:
若需要设置开机自动挂载磁盘分区,请参见设置开机自动挂载磁盘。
新增GPT分区
本示例以“CentOS 7.6 64bit”操作系统为例,原有数据盘/dev/vdb已有一个GPT分区/dev/vdb1,容量为10GB,且已在控制台将该数据盘扩容至20GB。本示例介绍如何为新增的10GB空间分配新的GPT分区/dev/vdb2。
-
执行命令
lsblk
,查看磁盘的分区信息,回显信息如下图所示: -
执行命令
parted /dev/vdb
,进入parted分区工具,回显信息如下图所示: -
输入指令“unit s”,按“Enter”键,设置磁盘的计量单位为磁柱。
-
输入“p”,按“Enter”键,查看当前数据盘的磁盘分区情况,回显信息如下图所示:
当出现如图中的“Error”信息时,请在“Fix/Ignore/Cancel?”后输入“Fix”。GPT分区表信息通常存储在磁盘开头,同时也会在磁盘末尾备份一份。当磁盘容量增加后,末尾位置也会向后延伸,因此需要根据系统提示的信息输入“Fix”,将分区表信息的备份修正至新的磁盘末尾位置,具体回显信息如图所示:
如果输入“Fix”之后出现了“Warning”信息时,继续输入“Fix”,不能忽略,只有输入“Fix”之后,系统才会自动将扩容部分的容量分区形式设置为GPT,具体回显信息如图所示:
-
用户需要记住这里给出的具体分区信息中的截止磁柱值,即End列的值,此示例中为20969471s。
-
输入mkpart指令,格式为:“mkpart 磁盘分区名称 起始磁柱值 截止磁柱值”,按“Enter”键。
注意命令参数请根据实际情况设置。本示例中,如步骤5所示,数据盘原有分区的截止磁柱值为20969471s,因此对于新增的/dev/vdb2分区,起始磁柱值设置为20969472s,即原有分区的下一个位置。截止磁柱值设置为100%,代表全部容量。磁盘分区名称设定为“data”。因此,本示例中,输入指令为“mkpart data 20969472s 100%”。
-
如出现询问信息,则在Yes/No处输入“Yes”,同意其将分区放置在磁盘末尾的操作。
-
输入“p”,按“Enter”键,查看新建分区,回显信息如图所示:
-
输入“q”,按“Enter”键,即可退出parted分区工具,回显信息如图所示:
-
执行命令
mkfs -t ext4 /dev/vdb2
,为新建分区/dev/vdb2设置文件系统,文件系统格式为ext4。回显信息如图所示:说明若要为文件系统设置xfs格式,需要执行命令 `mkfs -t xfs` 。磁盘分区格式化需要等待,当回显中进程提示为done,则表示格式化完成,过程中请勿退出。
对于容量较大的云硬盘,mkfs命令可能执行时间较长,如需要缩短命令执行时间,您可以为mkfs命令添加如下参数:
ext2、ext3、ext4文件系统:添加-E nodiscard参数
xfs文件系统:添加-K参数
-
执行命令
mkdir /mnt/sdc1
,新建挂载目录为/mnt/sdc1。 -
执行命令
mount /dev/vdb2 /mnt/sdc1
,将新建分区/dev/vdb2挂载至新建目录/mnt/sdc1中。操作及回显信息如图所示:
注意建议用户将新增加的分区挂载至空目录,或者使用mkdir命令新建目录。当新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,如已经指定挂载目录,且该目录不为空,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。
- 执行命令
df -TH
,查看挂载结果,回显信息如图所示:
若需要设置开机自动挂载磁盘分区,请参见设置开机自动挂载磁盘。