🦄 2024 独立开发者训练营,一起创业!查看介绍 / 立即报名 →

阿里云 ECS 服务器磁盘扩容教程

在阿里云 ECS 服务器上的数据磁盘满了,可以再去给磁盘购买点空间,也就是扩容,这个过程现在并不容易。我花了至少两小时时间,因为一直不太敢执行磁盘相关的命令。下面来说一下给阿里云磁盘扩容的完整流程。

先登录阿里云控制台,找到你要扩容的磁盘,在更多下拉菜单那里,选择 “磁盘扩容”,选择想要的容量,并支付。下图里显示我有个数据盘,大小是 40G,这是我扩容之后的容量,之前它是一个 20G 的数据盘。

你需要 SSH 到使用了这个数据盘的服务器,要去执行一些命令。

查看服务器的磁盘情况

执行:

df -h

返回(摘取的内容):

/dev/xvda1       20G  8.4G   11G   45% /
/dev/xvdb1       20G  5.7G   13G   31% /var/discourse

上面的 /dev/xvda1 是我的服务器的系统盘,大小是 20G,下面的 /dev/xvdb1 是我的数据盘,这是我要扩容的磁盘,现在显示它的大小仍然是 20G,这个磁盘让我挂载到了 /var/discourse 这个目录下面。

执行:

fdisk -l

返回(摘取的内容):

磁盘 /dev/xvda:21.5 GB
设备 Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048    41943039    20970496   83  Linux

磁盘 /dev/xvdb:42.9 GB
设备 Boot      Start         End      Blocks   Id  System
/dev/xvdb1            2048    41943039    20970496   83  Linux

显示 /dev/xvdb 是 42.9GB,其实 /dev/xvdb1 是 /dev/xvdb 这个磁盘的一个分区,它现在的大小是 20G,我们要去删除掉这个分区,重新再创建一个新的分区,新的分区的大小可以设置成 42.9G,就是我扩容以后的磁盘容量。

重建磁盘分区

注意:执行下面的操作之前,一定先在阿里云的控制台去给你要处理的磁盘打个快照,这样出了问题可以恢复。

先卸载掉挂载的 /var/discourse,我把 /dev/xvdb1 挂载到这个位置上了,你的这个挂载点可能跟我的不一样,你要根据自己的实际情况去执行下面的命令。卸载:

umount /var/discourse

删除并重建分区,执行:

fdisk /dev/xvdb

返回:

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

上面的提示挺吓人,不过没关系,你的数据不会丢,即使误操作,损坏了数据,你也可以用快照恢复。

输入:

命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除

提示输入命令,输入 d,表示删除分区。

  1. 会继续提示,再提示输入命令,输入 n
  2. 然后让你选择 Partition type,分区的类型,这里输入 p,表示主分区
  3. 又让你选择分区号,输入 1
  4. 起始扇区,回车使用默认的值
  5. last 扇区,截止扇区,回车,使用默认值
  6. 提示输入命令,输入 wq,可以退出
命令(输入 m 获取帮助):n
Partition type:
 p primary (0 primary, 0 extended, 4 free)
 e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):
将使用默认值 83886079
分区 1 已设置为 Linux 类型,大小设为 40 GiB

命令(输入 m 获取帮助):wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

然后再执行命令:

e2fsck -f /dev/xvdb1

e2fsck 是检查 ext2/ext3/ext4 文件系统用的工具。

返回:

第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/xvdb1: 24604/1310720 files (15.7% non-contiguous), 1593030/5242624 blocks

执行命令:

resize2fs /dev/xvdb1

resize2fs 可以改变 ext2/ext3/ext4 文件系统的容量。

返回:

Resizing the filesystem on /dev/xvdb1 to 10485504 (4k) blocks.
The filesystem on /dev/xvdb1 is now 10485504 blocks long.

重新挂载磁盘

现在你的数据盘应该就是扩容之后的容量了,可以重新再挂载一下它:

mount /dev/xvdb1 /var/discourse

/var/discourse 是我要挂载的点,也就是在这个目录下存储的东西就相当于是放在数据盘上了,你可以根据自己的情况去设置这个挂载点。

再检查一下:

df -TH

返回(摘取的内容):

文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/xvda1     ext4       22G  9.0G   11G   45% /
/dev/xvdb1     ext3       43G  6.1G   34G   16% /var/discourse

总结

在扩容之前一定要为服务器的磁盘打个快照。阿里云官方的文档能有配套的视频操作就更好了。在做扩容的时候,让我担心的是数据会不会没,以前的 Windows 用户的经验,让我不太敢做磁盘的分区处理操作。

评论

现在阿里云的系统盘默认都是 40G

嗯,是啊。20G 真不够了。

正在对系统盘扩容,好像对快照做一个镜像然后提升配置后引入这个镜像即可,另外阿里云电话服务热线24小时在线,还是挺人性化的。

嗯,对阿里的服务还是挺放心的。

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅宁皓网公众号。

240746680

用 QQ 扫描二维码,
加入宁皓网 QQ 群。

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点