赞
踩
本文分为 2 部分:1、对系统盘的扩容;2、对数据盘的扩容。
说明:
为了达到最好的实操效果,最好分别准备一台运行 Linux (CentOS 7.4) 系统和 Windows Server 2012 系统的 ECS 服务器。
阿里云 ECS 产品的其中一个优势是随时可对系统配置进行增减,因此,磁盘扩容就变得相对容易,也很安全。但是,在具体操作之前,我们需要了解对不同类型云盘扩容的一些限制条件,以更好地指导我们的操作。
在 你应该知道的阿里云ECS服务器 一文中,我们知道阿里云 ECS 服务器的磁盘,分为 系统盘 和 数据盘,在扩容时,对这 2 种磁盘应该使用不同的操作方式。简单来讲就是:
另外,在扩容操作时,阿里云服务器对这 2 种磁盘扩容之后的大小也有限制。下面我们就分别谈谈关于云盘扩容的容量限制。
上面提到 系统盘 只能通过 更换系统盘 的方式来扩容。在更换系统盘时,只能增加容量(或保持不变),不能减少磁盘容量,这是因为,系统盘容量变小之后,可能会存在数据丢失的情况,导致无法启动服务。
比如,一台运行 Ubuntu 16.4 的 ECS 实例,扩容前系统盘容量为 40 GiB,更换系统盘后,容量要求至少为 40 GiB。
系统盘扩容时,能设置的最小容量与系统盘当前容量和实例使用的镜像(即操作系统)有关,如下表所示:
表1:不同镜像的系统盘扩容容量限制
镜像 | 扩容的容量限制(GiB) |
---|---|
Linux(不包括CoreOS)+ FreeBSD | 最小 20 GiB,最大 500 GiB |
CoreOS | 最小 30 GiB,最大 500 GiB |
Windows Server | 最小 40 GiB,最大 500 GiB |
注:无论哪种镜像扩容,都不能低于系统盘扩容前的磁盘大小;同时,也不能大于 500 GiB。
对数据盘进行扩容时,和系统盘扩容一样,扩容之后的容量,只能增加(或不变),不能减少。我们知道,数据盘有普通云盘、SSD 云盘、ESSD 云盘和高效云盘这几种类型,根据云盘的类型不同,数据盘允许扩容的上限也不同,具体容量限制如下表所示:
表2:不同类型的数据盘扩容容量限制
云盘类别 | 扩容前容量 | 扩容后容量上限 |
---|---|---|
普通云盘 | 无限制 | 2000 GiB |
SSD 云盘 或 高效云盘 | ≤ 2048 GiB | 2048 GiB |
SSD 云盘 或 高效云盘 | > 2048 GiB | 不支持扩容 |
ESSD 云盘 | 无限制 | 32,768 GiB |
从上表可以看出,ESSD 云盘支持的容量上限最大,为 32,768 GiB;而普通云盘,扩容的容量最多为 2000 GiB。
系统盘保存着操作系统的镜像,而操作系统是任何服务器的提供服务的基础运行环境,因此,我们必须意识到,扩容系统盘是一项高风险的操作。在扩容前,运维人员务必要清楚地知道存在哪些风险,以及会对业务产生哪些影响。这里我做一个简单的说明。
更换系统盘会存在如下风险:
例外:关于上面「原快照不可用」这一点,需要说明的是,您手动创建的快照不会受影响,您仍可以用这些手动创建的快照来创建自定义镜像。
因此,我们在扩容系统盘之前,一定要考虑好对业务的影响,最好能预估操作时间(精确到小时为宜),在同业务部门沟通时,明确告知对方业务会中断的时间,业务运营方也好做相应的准备。
上面列出了更换系统盘存在的风险,现在,我们来看看更换系统盘时,您需要注意的地方。
另外,如果您用的是包年包月 ECS 实例,而且在之前做过 续费降配 操作,那么,在进入下一个计费周期前,您不能修改系统盘容量。
通常,我们执行云盘扩容操作,无论是系统盘扩容还是数据盘扩容,我们都希望保留原来的数据。因此,如果想在保留原来系统盘数据的情况下进行扩容,您必须按以下步骤更换系统盘。
说明:以下步骤均是在 ECS 云服务器管理控制台 下操作(即阿里云提供的 Web 控制台),无需登录远程实例。
第一步:登录阿里云并进入 ECS 实例
找到需要扩容的实例,单击实例ID,进入实例详情页(具体可参考 如何对阿里云ECS服务器(Linux系统)的数据盘进行分区及挂载? 一文中「如何查看数据盘的设备名?」那部分内容)。
第二步:为实例创建快照
更换系统盘是高风险操作,因此,在具体操作前,我们为系统盘创建一个快照(通俗点讲,就是为系统备个份),即便更换失败,也有回滚的机会。
为系统盘创建快照的步骤如下:
创建快照
系统快照创建好之后,我们可以在 快照和镜像 -> 快照列表 查看快照。
下图显示了刚才创建的名为 east-snap-20180727
的快照。
快照列表
第三步:创建自定义镜像
点击 快照列表 表格操作列的 创建自定义镜像 链接,将弹出「创建自定义镜像对话框」,如下图所示:
创建自定义镜像
在该对话框中,输入 自定义镜像名称 和 自定义镜像描述,然后点击 确定 按钮。现在,返回到 实例列表 页,在左侧导航栏里,选择 快照和镜像 -> 镜像 菜单,可以查看自定义镜像的创建进度和状态。
镜像列表
上图中,镜像 CentOS-7.4-64-PHP-FPM
状态为「可用」,进度为 100%,表明自定义镜像已创建成功。
第四步:更换系统盘
要更换系统盘,我们首先需要停止实例。
进入实例列表,在 操作 列,选择 更多 -> 实例状态 -> 停止 菜单:
实例「停止」菜单
此时,将弹出「停止实例」确定对话框,如下图所示:
「停止实例」对话框
点击 确定 按钮后,即可停止当前 ECS 实例(这个当中会有一个「正在停止...」的过程,耐心等待 30s 左右,即可停止实例)。
注:如果 ECS 实例是按量付费实例,当实例停止后,仍然会收取资源(如:CPU、内存等)占用费用。
确定实例已经停止后,找到实例列表的 更换系统盘 菜单(可依次点击 更多 -> 磁盘和镜像 -> 更换系统盘 菜单),如下图所示:
「更换系统盘」菜单
此时,将弹出「更换系统盘」对话框:
「更换系统盘」对话框
此对话框详细说明了更换系统盘的注意事项,请务必仔细阅读。为方便查看和理解,我对这些注意事项进行了重新排版,并摘抄如下(其中,重点内容已加粗):
阅读并理解上述注意事项后,点击 确定,更换系统盘 按钮,进入更换系统盘页面。在这个页面,需要指定以下几项:
CentOS-7.4-64-PHP-FPM
),下图中的 ①。50 GB
,下图中的 ②。¥64.01
下图是我的配置情况:
「更换系统盘」页面
上述设置确认无误后,单击 确定更换 按钮,将进入更换系统盘阶段。
更换系统盘大概需要 10 分钟左右的时间,在此期间,您可以通过 控制台 监控系统状态。在更换完成后,实例会自动启动。
系统盘更换完成后,如果是 Linux 系统,原来系统盘中的文件系统(File System)的挂载信息会丢失,因此,您需要在新系统盘的 /etc/fstab
文件写入新分区信息,并挂载文件系统(但是不需要对数据盘分区和格式化)。挂载磁盘的具体操作请参考:如何对阿里云ECS服务器(Linux系统)的数据盘进行分区及挂载?
数据盘,根据运行的操作系统,可分为 Windows 磁盘和 Linux 磁盘,对这 2 种系统的数据盘扩容有不同的操作方式和步骤,因此,本节内容将分为 2 部分讲解:1、对 Windows 系统数据盘扩容操作;2、对 Linux 系统数据盘扩容操作。
对于 Windows 服务器,对数据盘进行扩容分两步进行:
简单解释一下上面两步的操作。
第一步「在 ECS 实例管理控制台扩容数据盘」,是指增加数据盘的容量,比如由原来的 20 GiB 增加到 40 GiB,这是在 ECS 管理控制台的 磁盘列表 中完成的;第二步,则是通过 Windows 系统的 磁盘管理 工具完成,只有在完成第二步之后,新扩展的数据盘才能使用。
本小节内容的操作环境及配置如下:
具体操作如下。
第一步:在控制台上扩容数据盘
首先,登录阿里云账号,进入 ECS 云服务器管理控制台,然后,选择 存储 -> 云盘,进入 磁盘列表 页,找到需要扩容的磁盘,并在 操作 列中,依次点击 更多 -> 磁盘扩容 菜单:
ECS 控制台:磁盘扩容菜单
然后进入「磁盘扩容」页面,如下图所示:
ECS 控制台:磁盘扩容
在 「磁盘扩容」页面上,需要指定 扩容后容量,我这里输入的是 30 GB
(注:扩容后的容量只能比当前磁盘容量大)的值,指定新的磁盘容量后,系统会计算本次扩容需要的费用。当页面上显示扩容后的费用信息后,点击 确定扩容 按钮,完成扩容。
下图是扩容成功后的界面:
ECS 控制台:磁盘扩容成功
完成上述步骤后,磁盘列表里会显示扩容后的容量,但还需要做以下操作:
第二步:登录远程实例进行扩容
虽然已经在第一步对数据盘进行了扩容,但还不能使用。如果要使用,则需要登录远程 Windows 系统,对新扩容的磁盘进行 扩展卷 操作(就像我们个人使用的 PC 电脑,如果增加新硬盘,也需要对新增的硬盘进行相关操作才能使用)。
下面是具体操作步骤。
登录 Windows 系统
进入 ECS 实例列表,在「操作」一列,点击 远程连接 链接,在新打开的窗口中,输入远程连接密码,进入 Windows Server 登录界面,然后,输入正确的 Windows 登录密码,进入 Windows 系统桌面。
打开磁盘管理程序
进入 Windows 桌面后,右键点击 Windows 「开始」图标,选择「磁盘管理」:
Windows Server 2012 磁盘管理菜单
选择「磁盘管理」菜单后,将进入 Windows 磁盘管理程序。
完成扩展卷操作
首先,我们查看要扩容的磁盘(本例是 磁盘 1)的状态,如果是「基本」,则需要转换成动态磁盘。在 磁盘 1 空白处鼠标右击,选择 转换到动态磁盘 菜单,并按页面提示将基本磁盘转换为动态磁盘。
完成转换后,我们再在 磁盘 1 新加卷区域的空白处点击鼠标右键,在弹出的菜单中选择 扩展卷... 菜单,如下图所示:
磁盘管理:扩展卷菜单
此时会打开「扩展卷向导」:
磁盘管理:扩展卷向导
点击 下一步 按钮,选择要扩展的磁盘,如下图所示:
磁盘管理:选择扩展磁盘
在该界面,指定要扩展的容量大小,我们使用 磁盘 1 的全部可用空间 5120 MB
(即:5 GiB)。然后点击 下一步,完成扩展卷向导。
磁盘管理:完成扩展卷向导
查看扩容结果
完成上一步扩展卷向导后,返回磁盘管理界面,此时,我们可以看到,磁盘 1 的容量已经变成了 30 GiB
,盘符为 D盘
,如下图所示:
磁盘扩容结果
对于 Linux 服务器,对数据盘进行扩容也分两步进行:
在扩容数据盘前,请注意以下几点:
本小节内容的操作环境及配置如下:
本例中,磁盘扩容前后都只有一个主分区(/dev/vdb1
,ext4
文件系统),挂载点为 resizetest
,
第一步:在控制台上扩容数据盘的存储空间
这一步操作,和上面「Windows 系统下数据盘扩容」一节的 第一步:在控制台上扩容数据盘 的操作步骤一样,这里不再重复。如不清楚,请参考上一节内容。
第二步:登录远程实例扩容文件系统
在 ECS 控制台上完成磁盘扩容后,磁盘每个分区的文件系统并未扩容。您需要登录实例扩容文件系统。
1、登录远程 ECS 实例
首先,在 SSH 终端登录远程 ECS 实例(我本地电脑操作系统是 macOS High Sierra 10.13.6,使用系统自带的终端程序登录)。
输入命令:ssh root@[您实例的公网IP地址]
,按回车之后,输入实例登录密码,即可登录远程 ECS 实例。
2、卸载主分区
当前主分区是 /dev/vdb1
,我们要通过 umount
命令来卸载主分区。命令为:umount /dev/vdb1
命令执行完之后,我们可以使用 df -h
来查看是否卸载成功。如果在输出的结果中看不到 /dev/vdb1
的信息,则表示卸载成功。
3、删除原分区,创建新分区
这一步,我们使用 fdisk
命令删除原来的分区并创建新分区,步骤如下:
fdisk -l
命令罗列分区信息并记录扩容前数据盘的最终容量、起始扇区(First sector)位置。fdisk [数据盘设备名]
进入 fdisk
命令交互界面。本示例中,命令为 fdisk /dev/vdb
。d
并按回车键,删除原来的分区。说明:删除分区不会造成数据盘内数据的丢失。n
并按回车键,创建新分区,此时会让您选择分区类型(p
表示创建主分区,这是默认选项;e
表示创建扩展分区)。p
,然后按回车键。说明:如果要创建 4 个以上的分区,您应该创建至少一个扩展分区,即选择 e
。1
。2048
)。说明:如果发现 First sector 显示的位置和之前记录的不一致,说明之前可能使用 parted 来分区,那么就停止当前的 fdisk
操作,使用 parted
重新操作。62914559
)。Partition 1 of type Linux and of size 30 GiB is set
,这时候,输入 wq
退出交互界面,开始分区。整个执行过程,如下图所示:
使用 fdisk 命令进行分区
如果您使用的是 parted
工具,进入 parted
界面后,输入 p
列出当前的分区情况。如果有分区,则使用 rm+ 序列号
来删除老的分区表,然后使用 unit s
定义起始位置,单位使用扇区个数计量,最后使用 mkpart
命令来创建即可,如下图所示:
使用 mkpart 命令创建分区
说明:在有些操作系统里,修改分区后可能会重新自动挂载文件系统。建议先执行
df -h
命令查看一下文件系统空间和使用情况,如果文件系统重新被挂载,执行umount [文件系统名称]
再次卸载文件系统。
4、变更文件系统大小
在修改分区后,首先检查文件系统,命令如下:e2fsck -f /dev/vdb1
。
e2fsck
命令输出结果如下:
使用 e2fsck 命令检查文件系统
说明:使用
e2fsck
检查文件系统时,由于系统需要检查并订正文件系统元数据,所以,该操作速度比较缓慢、耗费的时间较长,请耐心等待。
然后,变更文件系统大小,命令如下:resize2fs /dev/vdb1
。输出结果如下图:
使用 resize2fs 变更文件系统大小
5、重新挂载磁盘
将扩容完成的文件系统挂载到原来的挂载点,本示例挂载点为 /resizetest
,命令如下:
mount /dev/vdb1 /resizetest
挂载之后,使用 df -h
命令查看文件系统空间和使用情况,如下图所示:
使用 df 命令查看文件系统使用情况
如果出现扩容后的文件系统信息,说明挂载成功,这时可以使用扩容后的文件系统了。
更多关于 Linux 系统下磁盘分区格式化的操作详情,请参考:如何对阿里云ECS服务器(Linux系统)的数据盘进行分区及挂载? 一文。
本文详细介绍了对阿里云 ECS 服务器的系统盘和数据盘扩容操作详细步骤。这里我们再梳理一下磁盘扩容操作的关键点。
扩容系统盘关键点:
扩容数据盘关键点:
umount
命令)fdisk
命令)resize2fs
命令)mount
命令)感谢阅读,希望对您有帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。