如何在Linux虚拟机上扩展根文件系统linux
v 问题描述shell
经过Azure平台部署的Linux虚拟机默认的根文件系统容量有限,须要进行扩展。ide
v 问题分析ui
因为Azure平台部署的Linux虚拟机默认根文件系统容量比较小,客户在使用过程当中,常常会出现根文件系统用满,致使虚拟机不可用的状况,须要进行手动对根文件系统进行扩容。spa
v 解决方案orm
注意:在执行以下操做前,必定要针对虚拟机的系统盘进行备份。如下步骤基于CentOS 7,其余Linux版本,可能会略有区别。ci
1. 经过Azure portal关闭虚拟机。rem
2. 执行如下Powershell脚本,对系统盘进行扩展:部署
Get-AzureVM -ServiceName "vfldev" -Name "vfldev" | get-AzureOSDisk get
## 用正确的service name和vm的name来取代上述参数
Update-AzureDisk –DiskName "vfldev-vfldev-0-201503091934500547" -Label "ResiZedOS" -ResizedSizeInGB 100
## 用步骤一获取的OSdisk的名字来取代上述的DiskName,并输入想要扩容的size
3. 经过Azure portal启动虚拟机。
4. 登录虚拟机,切换成root用户,查看当前的虚拟机的根文件系统容量
[root@resizeSDA chpaadmin]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 30G 1.1G 27G 4% /
devtmpfs 832M 0 832M 0% /dev
tmpfs 840M 0 840M 0% /dev/shm
tmpfs 840M 8.3M 832M 1% /run
tmpfs 840M 0 840M 0% /sys/fs/cgroup
/dev/sdb1 69G 53M 66G 1% /mnt/resource
5. 打开分区表
[root@resizeSDA chpaadmin]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00093e4e
## 请记录分区信息
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 62914559 31456256 83 Linux
## 删除分区
Command (m for help): d
Selected partition 1
Partition 1 is deleted
## 新建分区
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-209715199, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
Using default value 209715199
Partition 1 of type Linux and of size 100 GiB is set
## 到这里,修改分区结束,打印分区信息,确认信息无误
Command (m for help): p
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00093e4e
## 注意,这里的start的值,必定要跟此前的分区表里的信息一致
Device Boot Start End Blocks Id System
/dev/sda1 2048 209715199 104856576 83 Linux
##激活分区
Command (m for help): a
Selected partition 1
## 再次打印分区,确认已激活
Command (m for help): p
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00093e4e
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 209715199 104856576 83 Linux
## 若是信息有误,或者不肯定,请及时联系咱们,若是信息确认无误,写入分区表
Command (m for help): wr
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
6. 分区表修改完毕,重启虚拟机。
[root@resizeSDA chpaadmin]# init 6
7. 登录虚拟机,切换到root用户,检查当前根文件系统的容量。
[root@resizeSDA chpaadmin]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 30G 1.1G 27G 4% /
devtmpfs 832M 0 832M 0% /dev
tmpfs 840M 0 840M 0% /dev/shm
tmpfs 840M 8.3M 832M 1% /run
tmpfs 840M 0 840M 0% /sys/fs/cgroup
/dev/sdb1 69G 53M 66G 1% /mnt/resource
8. 修改根文件系统的大小。
[root@resizeSDA chpaadmin]# resize2fs /dev/sda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 13
The filesystem on /dev/sda1 is now 26214144 blocks long.
9. 检查根文件系统大小。
[root@resizeSDA chpaadmin]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 99G 1.1G 93G 2% /
devtmpfs 832M 0 832M 0% /dev
tmpfs 840M 0 840M 0% /dev/shm
tmpfs 840M 8.3M 832M 1% /run
tmpfs 840M 0 840M 0% /sys/fs/cgroup
/dev/sdb1 69G 53M 66G 1% /mnt/resource
10. 至此,根文件系统扩容完毕。