linux下 lvm 磁盤擴容

打算給系統裝一個oracle,發現磁盤空間不足。在安裝系統的時候我選擇的是自動分區,系統就會自動以LVM的方式分區。爲了保證系統後期的可用性,建議全部新系統安裝都採用LVM,以後生產上的設備我也打算這樣作。html

參於LVM基本介紹與經常使用命令請參考:http://blog.haohtml.com/archives/11957oracle


LVM結構圖app

擴容以前的磁盤情況ide

[root@localhost ~]# df -hspa

文件系統             容量 已用 可用已用%%掛載點3d

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

tmpfs                 538M     0  538M   0% /dev/shmhtm

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

[root@localhost ~]# fdisk -lget

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的空間給/

二、加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

Extending logical volume lv_root to 10.38 GiB

Logical volume lv_root successfully resized

也可使用命令

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

此時,若是有df命令查看的話,會發現root空間並無增長的.還須要執行如下兩步操做才能夠.

#檢查/root邏輯卷

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

#從新定義分區大小

#resize2fs /dev/mapper/VolGroup-lv_root

 

 

查看/目錄大小


能夠看到/目錄已經從原來的5.3G擴容到了11G。

 

(五)LV卷空間分配(新增lv_oracle

在VG中還有新增的10G沒有用,能夠將VG中的空餘空間劃分爲LV,並將新的LV掛載在目錄下。

# vgs

VG       #PV #LV #SN Attr   VSize  VFree

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

//能夠經過#vgs命令查看vg信息統計,能夠看到VFree還有10G。

 

將VG空餘的空間化分爲LV

#lvcreate -L 10G -n lv_oracle VolGroup


圖四

//少了一點點空間…

//能夠用-l 分,它是按pv塊數來分的。一個pv默認是4M,但是從vgdisplay中去查vg中還剩多少pv以及總數是多少。


圖五

//查到剩餘2559個PE,因而執行

# lvcreate -l 2559 -n lv_oracle VolGroup

Logical volume "lv_oracle" created

提示建立成功後,用vgs和lvs命令分別查看。

圖六

 

(五)掛載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

掛載正常,能夠收工了。


轉載:http://www.cnblogs.com/einyboy/archive/2012/05/31/2528661.html

相關文章
相關標籤/搜索