linux下 lvm 磁盤擴容

 

linux下 lvm 磁盤擴容

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

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


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

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

掛載正常,可以收工了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章