移动云Linux云主机扩容
云盘(系统盘或数据盘)使用空间不足时,您可以扩容云盘的存储容量。本文介绍如何在不需要停止实例运行的情况下为Linux系统进行扩容云盘。
扩容前准备
1、建议您在扩容前对系统盘和数据盘进行备份,参考云主机备份和云硬盘备份
2、扩容前,登录云主机执行 df -hT 和 fdisk -l 查看云主机磁盘情况:
说明
磁盘分区方式分为两种:MBR和GPT
- MBR的全称是Master Boot Record(主引导记录),MBR早在1983年IBM PC DOS 2.0中就已经提出。MBR最大支持2.2TB的硬盘,超过此限制的硬盘容量MBR也是无法正确识别的。此外它只能分出4个主分区,再多的分区只能创建扩展逻辑分区。因此对于超过2TB的云硬盘初始化需要使用GPT方式。
- GPT的全称是(Globally Unique Identifier Partition Table)是一种由基于 Itanium 计算机中的可扩展固件接口(EFI)使用的磁盘分区架构,它的主要任务就是为了突破MBR的限制,满足大容量(最大支持18EB=18000PB)和多分区(Windows下最多128个分区)的需求。
- “system”为“Linux”表示分区形式为MBR。“system”为“GPT”表示分区形式为GPT。
本文以“BC-Linux 8.2 64位”操作系统为例,系统盘和数据盘信息如下:
磁盘 | 分区 | 大小 | 形式 |
/dev/sda | /dev/sda1 | 20G | MBR |
/dev/sdb | /dev/sdb1 | 10G | MBR |
控制台云盘扩容
在云主机控制台和云硬盘控制台分别对系统盘和数据盘进行在线扩容,参照:系统盘扩容和数据盘扩容
说明
- 控制台上扩容云盘容量后,您还不能直接使用已扩容的容量,需要在ECS实例内部扩容分区和文件系统。
通过控制台扩容成功后,仅扩大了云盘(系统盘和数据盘)的存储容量,还需要参考本节在云主机内部操作扩展分区和文件系统。对于Linux操作系统而言,需要将扩容部分的容量划分至已有分区内,或者为扩容部分的云硬盘分配新的分区。如果在云主机关机的时候扩容了系统盘,则开机后,Linux系统盘的新增容量可能会自动扩展至末尾分区内,此时新增容量可以直接使用。
本文以“BC-Linux 8.2 64位”操作系统为例,提供growpart和fdisk两种工具的扩容指导,不同操作系统的操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。
扩大已有MBR分区或GPT分区
以下面截图为例,系统盘“/dev/sda”原有容量20GB,只有一个分区“/dev/sda1”。将系统盘容量扩大至100GB,本示例将新增的80GB划分至已有的MBR分区内“/dev/sda1”内。(本方法同样适用数据盘)
- 执行命令growpart,检查当前系统是否已安装growpart扩容工具。若显示如图所示,则表示已安装growpart,无需重复安装,否则参照步骤2安装。
- 执行以下命令,安装growpart扩容工具。
- 执行以下命令,查看系统盘“/dev/sda”的总容量。
- 执行以下命令,查看系统盘分区“/dev/sda1”的容量。
- 执行以下命令,指定系统盘待扩容的分区,通过growpart进行扩容。
- 执行以下命令,扩展磁盘分区文件系统的大小。
- 执行以下命令,查看扩容后系统盘分区“/dev/vda1”的容量。
新增MBR分区
以下面截图为例,数据盘“/dev/sdb”原有容量10GB,只有一个分区“/dev/sdb1”,将数据盘容量扩大至50GG,本示例将新增的40GB划分至新的MRB分区。(本方法同样适用系统盘)
- 执行如下命令之后,进入fdisk分区工具。
- 表示磁盘有两种分区类型:“p”表示主分区。“e”表示扩展分区。输入“n”,按“Enter”,开始新建分区。说明磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。
- 以创建一个主要分区为例,输入“p”,按“Enter”,开始创建一个主分区。
- 以分区编号选择“2”为例,输入分区编号“2”,按“Enter”。
- 输入新分区的起始磁柱值,以使用默认起始磁柱值为例,按“Enter”。
- 输入新分区的截止磁柱值,以使用默认截止磁柱值为例,按“Enter”。
- 输入“p”,按“Enter”,查看新建分区。如上图所示,/dev/sdb 磁盘多了一个新的分区/dev/sdb2 40G。
- 输入“w”,按“Enter”,将分区结果写入分区表中。
- 执行以下命令,将新的分区表变更同步至操作系统。
- 执行以下命令,设置新建分区文件系统格式。
- (可选)执行以下命令,新建挂载目录。
- 执行以下命令,挂载新建分区。
- 执行以下命令,查看挂载结果。
新增GPT分区
如下图所示,数据盘“/dev/sdd”原有容量50GB,只有一个分区“/dev/sdd1”,分配了46.6GB。将数据盘容量扩大至100GB,本示例为新增的50GB和之前未分配的3.4GB全部分配给新的GPT分区“/dev/sdd2”。
- 执行以下命令,进入parted分区工具。
- 输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。
- 输入“p”,按“Enter”,查看当前磁盘分区情况
- 以为新增容量分配一整个分区为例,执行以下命令,按“Enter”。
- 输入“p”,按“Enter”,查看新建分区。
- 输入“q”,按“Enter”,退出parted分区工具。
- 执行以下命令,设置新建分区文件系统格式。
- (可选)执行以下命令,新建挂载目录。若需要挂载至新建目录下,执行该操作。mkdir 挂载目录以新建挂载目录“/opt/tmp4”为例:mkdir /opt/tmp4
- 执行以下命令,挂载新建分区。
- 执行以下命令,查看挂载结果。
设置开机自动挂载磁盘分区
您可以通过配置fstab文件,设置云主机系统启动时自动挂载磁盘分区,已有数据的云主机也可以进行设置,该操作不会影响现有数据。本文介绍如何在fstab文件中使用UUID来设置自动挂载磁盘分区。不建议采用在“/etc/fstab”直接指定设备名(比如/dev/sdb1)的方法,因为云中设备的顺序编码在关闭或者开启云主机过程中可能发生改变,例如/dev/sdb1可能会变成/dev/sdb2,可能会导致云服务器重启后不能正常运行。
- 执行如下命令,查询磁盘分区的UUID。
- 编辑/etc/fstab文件,在文件最后一行增加如下内容
- 验证自动挂载功能
本文由 vps主机对比评测网 刊发,转载请注明出处