Centos Linux中VMware虚拟机为磁盘空间的扩容
用VMware或者VMware Player虚拟机安装Red Hat或者Centos系统,开始可能分配的系统空间较少,随着应用的增大,特别是安装大型应用时(例如oracle),容易导致系统空间不足,下面提供了在虚拟机中增加空间的一种方法。
使用的虚拟机是:VMware Workstation 12 Player
待增加空间的操作系统:CentOS 7.1 64位
- 打开Vmware,找到对应的虚拟机,右键点击“设置…”,进入虚拟机设置页面,选择“硬件”->“硬盘”设置项。
- 点击右侧“扩展(E)…”,填写你期望扩展的硬盘大小,我设置为50G
确认扩展后,打开虚拟机进入linux系统,以root用户登录,并进行下面的操作。
- #fdisk -l 最大分区为/dev/sda3,说明新创建的分区将会是sda4
- #fdisk /dev/sda
命令行提示下输入【m】
输入命令【n】添加新分区。
输入命令【p】创建主分区。
输入【回车】,选择默认大小,这样不浪费空间
输入【回车】,选择默认的start cylinder。
输入【w】,保持修改 - #reboot 重启linux,必须reboot,否则/dev/sda4无法格式化。
这时在/dev/目录下,才能看到了新的分区比如/dev/sda4 - #mkfs.xfs /dev/sda4 格式化(centos 7中默认的文件系统是xfs,其他的文件系统类似,如mkfs.ext4等)
下面有两种方式使用新增加的硬盘空间,第一种是新增加的磁盘作为一个独立的磁盘使用;第二种是把新增加的磁盘空间放到与现有的磁盘合并作为一个大磁盘使用。
独立磁盘法
- #mkdir /disk4 //在根目录下创建disk4目录
- #mount /dev/sda4 /disk4/ //将分区mount到/disk4/上
- 为了实现开机自动mount,使用vi修改/etc/fstab文件,增加下面:
/dev/sda4 /disk4 xfs defaults 0 0
- 合并分区法
采用LVM实现磁盘管理。LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
- #lvs
- #pvcreate /dev/sda4 //Physical volume “/dev/sda4” successfully created
- #vgextend centos /dev/sda4
(其中是当前需要扩充的lvm组名,可以通过df -h查看,例如我的是: /dev/mapper/centos-root) - #vgdisplay
— Volume group —
VG Name centos
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 6
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size 49.50 GiB
PE Size 4.00 MiB
Total PE 12672
Alloc PE / Size 7519 / 29.37 GiB
Free PE / Size 5153 / 20.13 GiB
VG UUID 3DVNL0-OwGS-669I-X6ZM-dIgi-JSP6-6wQKP9
(主要查看Free PE / Size 5153 / 20.13GB,说明最多有20.13GB的扩充空间,一般选择小于20.13GB) - #lvextend -L+19.8G /dev/centos/root /dev/sda4 //增加19.8G
Logical volume root successfully resized - #xfs_repair /dev/centos/root //做fsck,修复和检查
centos6.5下的ext4系统使用: #e2fsck -a /dev/centos/root - #xfs_growfs /dev/centos/root //执行调整
centos6.5下的ext4系统使用:#resize2fs /dev/centos/root - #df -h //查看系统磁盘空间是否已经变成了50GB