VMware-6-5虚拟化实战之磁盘方面的管理
# 1,前言少叙。
公司里边采用 VMware 虚拟化的方案对服务器进行管理。一般常用的方式都是先创建一台虚拟机,然后对其初始配置进行一些规划以及预定义,然后将之转换为模板,以后创建主机的时候,直接从模板进行创建即可,方便而又高效。
但是有时候对于磁盘的使用以及管理,可能会有一些其他的一些情况出现,基本上无外乎,用着用着发现磁盘不够用了,那么可以直接添加新硬盘进行扩容,这种扩容的方案又分出来两种,这两种我也都已经在博客里分享过了。
1,服务器存储不够了之在原逻辑卷上扩容的操作 (opens new window)
2,服务器存储不够了之直接挂载一块儿新磁盘的操作 (opens new window)
# 2,问题分析。
今天想要说的是另外一种情况,那就是当我们初始定义在模板里边的磁盘是 50G,通过模板创建主机的时候感觉不够用,但是又不是通过添加一块新硬盘(sdb
)的方式进行增加的,而是直接将模板定义的 50G(在主机中映射为sda
)给改成了 200G,然后将主机开机了。
开机之后开始使用,会发现磁盘仍旧是50G
的大小。
如果使用fdisk -l
进行查看,会发现磁盘 sda 还剩下 150G 没有分配。
这种情况的话,主机应该是按原有的分配策略,在 sda(200G)的存储里划出 50G 进行挂载,从而遵从最开始所制定好了的存储分配策略。
好在,我们看到他默认是做成了逻辑卷的方式,那么,我们这个时候就可以直接对磁盘(sda)进行重新分区,格式化,增加到挂载的根分区当中。
# 3,分区。
接下来是一波老生常谈了的操作了。
fdisk /dev/sda #进入磁盘分区操作
p #新增一个分区
n #分区类型选择为主分区
回车 #可以填入3,也可以直接按其默认的直接回车
回车 #默认(起始扇区)
回车 #默认(结束扇区)这里因为只剩下100G了,所以就全部分配了
p #再次查看分区划分之后的情况
t #修改分区类型
回车 #也就是默认的刚刚创建分区标识3
L #列出所有分区类型
8e #填入8e,将刚创建的分区3修改为lvm
w #保存并退出
2
3
4
5
6
7
8
9
10
11
12
保存的时候会看到一个警告信息:
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.
此时用 ls 查看 sda3,发现还没有出现。使用 partprobe 命令进行加载。
partprobe
然后就能看到 sda3 被读到了,如果还没有,情况允许的话,可以重启主机进行加载。
# 4,格式化。
mkfs.ext3 -f /dev/sda3
格式化之后就可以进行扩容的操作了。
# 5,扩容。
操作之前首先查看一下原来的情况。
直接添加。
查看一下。
[root@eryajf ~]$pvscan
PV /dev/sda2 VG centos lvm2 [<49.66 GiB / 0 free]
Total: 1 [<49.66 GiB] / in use: 1 [<49.66 GiB] / in no VG: 0 [0 ]
[root@eryajf ~]$vgscan
Reading volume groups from cache.
Found volume group "centos" using metadata type lvm2
[root@eryajf ~]$lvscan
ACTIVE '/dev/centos/root' [<49.66 GiB] inherit
2
3
4
5
6
7
8
扩容操作。
pvcreate /dev/sda3 #把新加的分区创建为物理卷。
vgextend centos /dev/sda3 #将刚创建的物理卷添加到卷组centos中。(注意此处的centos是通过刚才vgscan得到的。)
pvscan #再次查看物理卷情况。
vgscan #再次查看卷组情况。
vgdisplay -v #详细查看卷组。
lvextend -l +38399 /dev/centos/root #直接在原有逻辑卷上进行扩容。38399是通过刚才详细查看卷组得到的free PE数。
xfs_growfs /dev/centos/root #通过此命令让操作系统识别刚刚扩容的分区。这个命令适用在centos 7系统中。如果是6的,则用resize2fs -f /dev/centos/root
df -h
2
3
4
5
6
7
8
ok。这样就实现了最开始的一种意外而导致的问题的解决。