红联Linux门户
Linux帮助

RHEL6.1下LVM扩容

发布时间:2014-12-16 21:49:25来源:linux网站作者:voostar

打算给系统装一个Oracle,发现磁盘空间不足。在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区。为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这样做。

扩容之前的磁盘状况

[root@localhost ~]# df -h

文件系统             容量 已用 可用已用%%挂载点

/dev/mapper/VolGroup-lv_root 5.3G  2.5G  2.6G  50% /

tmpfs                 538M     0  538M   0% /dev/shm

/dev/sda1             485M   30M  430M   7% /boot

[root@localhost ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes

 ...............

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        1045     7875584   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 5779 MB, 5779750912 bytes

........

Disk /dev/mapper/VolGroup-lv_swap: 2281 MB, 2281701376 bytes

.........

此次扩容的方案为:

1、加1个5G的空间给/

2、加1个10G的空间给/Oracle

(一)   在VM中加一个15G的磁盘

重启后#fdisk –l可以看到新的磁盘已经认出来了。

Disk /dev/sdb: 16.1 GB, 16106127360 bytes

............................

Disk /dev/sdb doesn't contain a valid partition table

 

(二)创建物理卷(PV)

pvcreate /dev/sdb

查看系统PV的情况:

[root@localhost ~]# pvdisplay

  --- Physical volume ---

  PV Name               /dev/sda2  //原有硬盘上的PV

  VG Name               VolGroup

  PV Size               7.51 GiB / not usable 3.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              1922

  Free PE               0

  Allocated PE          1922

  PV UUID               SGH1dY-4tp2-Nr1a-w93Z-V4LA-pQBh-VGzzTH

 

  "/dev/sdb" is a new physical volume of "15.00 GiB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb

  VG Name                //新建的PV的VG name是空的,下一步就是把PV加入VG

  PV Size               15.00 GiB

  Allocatable           NO

  PE Size               0  

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               8TZUlz-YyUp-RBvf-lSzm-7MgG-DSZS-qNqX1Z

 

查看原VG的情况

[root@localhost ~]# vgdisplay

  --- Volume group ---

  VG Name               VolGroup //注意记录此名字,扩容时将新的pv加入指定的名字

  System ID            

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  3

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                2

  Open LV               2

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               7.51 GiB

  PE Size               4.00 MiB

  Total PE              1922

  AllocPE / Size       1922 / 7.51 GiB

  Free  PE / Size       0 / 0  

  VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

(三)#扩展卷组,将/dev/sdb物理卷添加到VolGroup卷组中

 

[root@localhost ~]# vgextend VolGroup /dev/sdb

  Volume group "VolGroup" successfully extended

再查看VG情况,可以看到VG大小变化,空余空间。

[root@localhost ~]# vgdisplay

  --- Volume group ---

  VG Name               VolGroup

  System ID            

  Format                lvm2

  Metadata Areas        2

  Metadata Sequence No  4

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                2

  Open LV               2

  Max PV                0

  Cur PV                2

  Act PV                2

  VG Size               22.50 GiB

  PE Size               4.00 MiB

  Total PE              5761

  AllocPE / Size       1922 / 7.51 GiB

  Free  PE / Size       3839 / 15.00 GiB

  VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

 

(四)将新的VG空间划入LV(扩容lv_root)

#直接扩展5G给/root分区,不用umount,也不需要重启

#lvextend -L +5G  /dev/mapper/VolGroup-lv_root

或者

# lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root

 

[root@localhost ~]# lvextend -L +5G  /dev/mapper/VolGroup-lv_root

  Extending logical volume lv_root to 10.38 GiB

  Logical volume lv_root successfully resized

 

#检查/root逻辑卷

#e2fsck -f /dev/mapper/VolGroup-lv_root

 

#重新定义分区大小

#resize2fs /dev/mapper/VolGroup-lv_root

(五)LV卷空间分配(新增lv_Oracle)

在VG中还有新增的10G没有用,可以将VG中的空余空间划分为LV,并将新的LV挂载在目录下。

[root@localhost VolGroup]# vgs

  VG       #PV #LV #SN Attr   VSize  VFree

  VolGroup   2   2   0 wz--n- 22.50g10.00g

//可以通过#vgs命令查看vg信息统计,可以看到VFree还有10G。

 

将VG空余的空间化分为LV

(五)挂载LV到目录下

接下来就是要把lv_Oracle挂到/oracle,目录下

#cd /

# mkdir oracle

#chmod 777 /oracle

创建/oracle目录并修改权限

# vi /etc/fstab

可以看到目前挂载分区的情况

//我们可以参照/的分区把oracle的加上去。加入这行:

/dev/mapper/ VolGroup-lv_oracle      /oracle    ext4 defaults  0 0

 

然后把lv_oracle格式化成ext4

#mkfs.ext4 /dev/mapper/VolGroup-lv_oracle

将lv_oracle  mount到目录/oracle上

# mount /dev/mapper/VolGroup-lv_oracle /oracle之后查看一下分区情况

可以重启系统检查一下是否正常。

#df –h

挂载正常,可以收工了。