操作場景
彈性云主機創建成功后,如果發現系統盤分區的容量大小和實際創建的系統盤大小不一致,可以將空白分區擴容到根分區,擴容系統盤的空白空間。
本節介紹了怎樣將空白分區在線擴容到非末尾的root分區。
操作步驟
以CentOS 6.5 64bit 100GB系統盤為例,root分區在非末尾分區(e.g: /dev/xvda1: root,/dev/xvda2: swap)的擴容場景。
- 執行以下命令,查詢擴容系統盤的分區情況。
parted -l /dev/xvda
[root@sluo-ecs-a611 ~]# parted -l /dev/xvda
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 41.0GB 40.9GB primary ext4 boot
2 41.0GB 42.9GB 2000MB primary linux-swap(v1)
其中,第一分區是根分區,第二分區是swap分區。
- 執行以下命令,編輯fstab分區表,刪除swap分區的掛載信息。
a. 執行以下命令,查詢fstab分區表。
tail -n 3 /etc/fstab
[root@sluo-ecs-a611 ~]# tail -n 3 /etc/fstab
UUID=7c4fce5d-f8f7-4ed6-8463-f2bd22d0ddea / ext4 defaults 1 1
UUID=5de3cf2c-30c6-4fb2-9e63-830439d4e674 swap swap defaults 0 0
b. 執行以下命令,編輯fstab分區表,并刪除swap分區的掛載信息。
vi /etc/fstab
tail -n 3 /etc/fstab
[root@sluo-ecs-a611 ~]# vi /etc/fstab
[root@sluo-ecs-a611 ~]# tail -n 3 /etc/fstab
UUID=7c4fce5d-f8f7-4ed6-8463-f2bd22d0ddea / ext4 defaults 1 1
- 執行以下命令,關閉swap。
swapoff -a
- 刪除swap分區。
a. 執行以下命令,查看分區。
parted /dev/xvda
[root@sluo-ecs-a611 ~]# parted /dev/xvda
GNU Parted 3.1
Using /dev/xvda
Welcome to GNU Parted! Type ′help′ to view a list of commands.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkpart PART-TYPE [FS-TYPE] START END make a partition
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a
particular partition
quit exit program
rescue START END rescue a lost partition near START and END
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
disk_set FLAG STATE change the FLAG on selected device
disk_toggle [FLAG] toggle the state of FLAG on selected device
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
(parted)
b. 按“p”。
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 41.0GB 40.9GB primary ext4 boot
2 41.0GB 42.9GB 2000MB primary linux-swap(v1)
c. 執行以下命令,刪除swap分區。
rm 2
(parted) rm2
d. 按“p”。
(parted) p
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 41.0GB 40.9GB primary ext4 boot
e. 執行以下命令,退出fstab分區表。
quit
(parted) quitInformation: You may need to update /etc/fstab.
- 執行以下命令,查詢刪除swap分區后的分區情況。
parted -l /dev/xvda
[root@sluo-ecs-a611 ~]# parted -l /dev/xvda
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 41.0GB 40.9GB primary ext4 boot
- 執行以下命令,安裝growpart工具。
工具growpart可能集成在cloud-utils-growpart/cloud-utils/cloud-initramfs-tools/cloud-init包里,可以直接執行命令yum install cloud-*確保growpart命令可用即可。
yum install cloud-utils-growpart
- 執行以下命令,使用工具growpart將第一分區的root分區進行擴容。
growpart /dev/xvda 1
[root@sluo-ecs-a611 ~]# growpart /dev/xvda 1
CHANGED: partition=1 start=2048 old: size=79978496 end=79980544 new: size=209710462,end=209712510
- 執行以下命令,檢查在線擴容是否成功。
[root@sluo-ecs-a611 ~]# parted -l /dev/xvda
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 107GB 107GB primary ext4 boot
- 執行以下命令,擴容文件系統。
resize2fs -f $分區名
假設分區名為/dev/xvda1,則命令如下:
[root@sluo-ecs-a611 ~]# resize2fs -f /dev/xvda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
....
[root@sluo-ecs-a611 ~] # df -hT //檢查文件系統擴容情況