华为云磁盘扩容

3 minute - manually

华为云帮助文档

https://support.huaweicloud.com/usermanual-evs/evs_01_0109.html#evs_01_0109__section13346184710300

查看分区表类型

1
parted -l

回显有可能是

1
2
3
Partition Table: msdos
Partition Table: gpt
Partition Table: loop

msdos 对应华为云帮助中的 MBR.
gpt 对应华为云帮助中的 GPT.
如果显示 Partition Table: loop, 是因为格式化时没指定分区 id, 格式化了整个磁盘.

查看磁盘的分区信息

1
2
3
4
5
lsblk

# 回显
# vdb 挂载到了 /foo
vdb    253:16   0  200G  0 disk /foo

停掉写磁盘的服务

1
systemctl stop service0

卸载磁盘分区

1
umount /dev/vdb1

如果提示: umount: /foo: target is busy, 考虑强制卸载,参照后面的 ### 强制卸载

强制卸载

用 fuser 查看使用 /data 目录的进程

1
2
3
4
5
fuser -m /foo

# 杀掉进程, 或强制卸载
kill -9 xxxx
umount -l /foo

确认磁盘分区的卸载结果

1
2
3
4
5
lsblk

# 回显
# vdb 没有挂载
vdb    253:16   0  200G  0 disk

如果第 1 步查到的分区表类型是 gpt, 执行No.7,如果分区表类型是 loop 可以跳到 No.8

进入 parted 分区工具。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
parted /dev/vdb
# 输入"unit s",按"Enter",设置磁盘的计量单位为磁柱。
(parted) unit s

# 输入"p",按"Enter",查看当前磁盘分区情况。
(parted) p

# 如果提示需要修复,执行Fix
Fix
# 记录待扩大分区"/dev/vdb2"的初始磁柱值 (start) 和截止磁柱值 (End) 
Number  Start  End         Size        File system  Flags
 1      0s     419430399s  419430400s  ext4

# 输入"rm"和分区编号,此处以"1"为例,按"Enter"。
(parted)  rm 1

# 重新划分分区,执行以下命令,按"Enter", xxxs 为上一步记录的初始磁柱值。
(parted)  mkpart ext4 xxxs 100%

# 查看分区
(parted)  p

# 退出parted
(parted)  q

退出parted 后用lsblk再次检查挂载状态

1
lsblk

退出 parted 后分区有可能被自动挂载,再 umount 一次

1
umount /dev/vdb1

检查磁盘分区文件系统的正确性, 磁盘扩容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 执行以下命令,检查磁盘分区文件系统的正确性,
e2fsck -f /dev/vdb1

#  如果回显 /dev/vdb is in use , vim /etc/fstab, 注释掉/data 的挂载, 重启

# 执行以下命令,扩展磁盘分区文件系统的大小。
resize2fs /dev/vdb1

# 挂载磁盘到目录 
mount /dev/vdb1 /data

# 查看分区容量
df -TH

启动写磁盘的服务

1
2
3
systemctl start service0
# 检查服务状态
systemctl status service0

系统盘扩容

1
growpart /dev/vda 1;resize2fs /dev/vda1

https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0044524728.html#zh-cn_topic_0044524728__section31113372194023