centos7中使用vg方式扩充root分区

 pv、vg、lv的意思

物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。

卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。

逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

1.首先查看我们的根分区大小是多少

[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        18G  1.1G   17G    6% /
devtmpfs                devtmpfs  479M     0  479M    0% /dev
tmpfs                   tmpfs     489M     0  489M    0% /dev/shm
tmpfs                   tmpfs     489M  6.7M  483M    2% /run
tmpfs                   tmpfs     489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               xfs       497M  125M  373M   25% /boot
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0
可以看到我们的根分区大小为17G

 2.添加一块物理的磁盘。在虚拟机中添加

 3.查看磁盘编号

ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb
可以看到sdb就是我们刚才添加的磁盘

 4.创建pv

[root@localhost ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created

 5.把pv加入vg中,相当于扩充vg的大小

    先使用vgs查看vg组

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   1   2   0 wz--n- 19.51g 40.00m
可以看到现在就一个vg组其中有两个lv卷,若不确定可以通过lvs查看是否是我们需要扩展的分区
[root@localhost ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 17.47g                                                    
  swap centos -wi-ao----  2.00g                                                   
可以看到这就是我们需要扩展的根分区,我这里还有个swap分区

 扩展vg,使用vgextend命令

[root@localhost ~]# vgextend centos /dev/sdb
  Volume group "centos" successfully extended
vgextend名字命令接的vg的名字,后面是磁盘的位置

 6.我们成功把vg卷扩展了,在用vgs查看一下

[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize  VFree 
  centos   2   2   0 wz--n- 39.50g 20.04g
[root@localhost ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 17.47g                                                    
  swap centos -wi-ao----  2.00g  

虽然我们把vg扩展了,但是lv还没有扩展

7.扩展lv,使用lvextend命令

[root@localhost ~]# lvextend -L +20G /dev/mapper/centos-root 
  Size of logical volume centos/root changed from 17.47 GiB (4472 extents) to 37.47 GiB (9592 extents).
  Logical volume root successfully resized.
-L 指定扩展多大的空间到lv中去,后面的/dev/mapper/centos-root是指定扩展的文件位置,可在df -h中看见

 查看lv大小

[root@localhost ~]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 37.47g                                                    
  swap centos -wi-ao----  2.00g   

 查看df  -h中变化没有

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   18G  1.1G   17G    6% /
devtmpfs                 479M     0  479M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.7M  483M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M   25% /boot
tmpfs                     98M     0   98M    0% /run/user/0

没有变化。

 那么我们要使用[root@localhost ~]# xfs_growfs /dev/mapper/centos-root 命令使系统重新读取大小

[root@localhost ~]# xfs_growfs /dev/mapper/centos-root 
meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=1144832 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=4579328, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4579328 to 9822208

 再使用df  -h查看

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   38G  1.1G   37G    3% /
devtmpfs                 479M     0  479M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  6.7M  483M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M   25% /boot
tmpfs                     98M     0   98M    0% /run/user/0

 到这里我们就成功扩展了。

 

 

 

备注:我们可以自行生产vg组以及在新的vg中生成lv

vgcreate       创建新的vg组

lvcreate        在新的vg中创建新的lv,但是要指定对vg名字

vgreduce      把pv从vg中移除,若vg中只有一个pv则直接使用vgremove

 

posted @ 2017-04-27 16:55  liutao97  阅读(6716)  评论(0编辑  收藏  举报