虚拟机ubuntu server 14.04 64bit 根目录扩容
前言
为什么需要扩容?使用VMware Workstation安装linux虚拟机时需要设置虚拟的硬盘空间多大,比如一开始设置为50G,在开发过程渐渐的觉得50G不够用了,这就需要给根目录扩容了,比如扩容到200G。
注意!修改磁盘分区有风险,建议先在虚拟机关机状态备份一份虚拟机文件,再来扩容。万一操作不当把原有的文件给格式化了,还能有备份。
一、修改VMware Workstation设置
修改虚拟机的设置,把硬盘改为200G。注意,只完成这一步是不够的,还需要继续完成下面的操作。
二、linux终端执行命令
把新增加的150G(200G - 50G)合并到根目录
2.1 查看当前磁盘列表
fdisk -l
列表中有以下部分信息(没全部列出):
Disk /dev/sda: 214.7 GB, 214748364800 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 419430399 209464321 5 Extended
/dev/sda5 501760 419428351 209463296 8e Linux LVM
Disk /dev/mapper/ubuntu14--vg-root: 47.9 GB, 47852814336 bytes
可以看出磁盘/dev/sda已经变成200G多了,但是根目录ubuntu14–vg-root才47.9 GB。大致有150G是未分配的。
2.2 增加新分区
fdisk /dev/sda
根据提示输入相应的信息(此时输入m可查看help):
1、根据提示先输入 n 并回车,表示增加分区
2、再根据提示输入 p 并回车,表示主分区
3、根据提示输入磁盘分区号,我不输入直接回车,默认3
4、输入磁盘分区的起始物理地址,上面sda1、sda2、sda5的最大物理地址是419428351,所以这里我输入419428352,表示新的分区的地址时接在后面的
5、输入磁盘分区的结束物理地址,这里直接回车就好,默认是最末的物理地址,这样能把后面的所有空间全部包含进来
6、输入 w 并回车,开始写分区并退出
2.3 再次查看磁盘列表
fdisk -l
发现多了一个磁盘/dev/sda3,但是ubuntu14–vg-root还是47.9 GB
2.4 重新读取分区表
partprobe /dev/sda
2.5 格式化分区
mkfs -t ext3 /dev/sda3
2.6 新建物理卷
先执行 pvdisplay 发现物理卷还没有刚才新建的sda3,执行以下命令创建
pvcreate /dev/sda3
再执行 pvdisplay 就发现已经有sda3了
2.7 把sda3添加到卷组
先执行 vgdisplay 查看卷组,有以下信息
VG Name ubuntu14-vg
卷组名称是ubuntu14-vg,执行以下命令
vgextend ubuntu14-vg /dev/sda3
再执行 vgdisplay 查看,有以下信息
Free PE / Size 39218 / 153.20 GiB
这是free的空间
2.8 开始扩容根目录
lvs
信息列表中,VG 有 ubuntu14-vg ,LV 有 root ,这就是要扩容的根目录。执行以下命令
lvextend -L +150G /dev/ubuntu14-vg/root /dev/sda3
resize2fs /dev/ubuntu14-vg/root
支持根目录扩容完毕。可以验证一下。
输入 fdisk -l 结果为:
Disk /dev/mapper/ubuntu14--vg-root: 208.9 GB, 208914087936 bytes
输入 df -h 结果为:
/dev/mapper/ubuntu14--vg-root 192G 34G 150G 19% /
验证完毕!