1. 程式人生 > >lvm邏輯卷的基本應用,擴展及縮減、快照功能實現方法

lvm邏輯卷的基本應用,擴展及縮減、快照功能實現方法

mapper tcl 磁盤擴容 align fsck 縮減 mark 替換 1.5

lvm:邏輯卷管理

作用:將多個物理磁盤組合成一個邏輯磁盤,使其擁有更大的磁盤空間

邏輯磁盤結構如下:

技術分享圖片

一、

下面一Centos6 為例來創建 lvm,首先在虛擬機上添加3塊硬盤,大小自定。

1、fdisk - l : 查看系統上的磁盤使用情況

我的系統上添加的三塊磁盤為 /dev/sdb 、 /dev/sdc 、 /dev/sdd

在每塊磁盤上新建分區分別/dev/sdb1、 /dev/sdb2、 /dev/sdc1、 /dev/sdd1(註意分區格式必須為 liunx LVM 格式,不然是不能用於創建lvm磁盤的)

2、現在可以開始創建pv 了

pvcreate /dev/sdb1

技術分享圖片表示創建pv成功

pvcreate /dev/sdb2

pvcreate /dev/sdc1

pvcreate /dev/sdd1

創建完成後可用 pvs 命令查看pv的簡要信息:

技術分享圖片

也可以用 pvdisplay 命令查看其詳細信息:

技術分享圖片

3、開始創建vg

使用命令 vgcreate <vgname> [pvpath][pvpath]...

技術分享圖片

同樣可以通過pvs、pvdisplay顯示其信息:

技術分享圖片

4、現在就可以開始創建邏輯卷了

創建邏輯卷命令 lvcreate -L #[mgt] -n NAME VolumeGroup

-L : 指定大小

-n :指定名稱

例如創建一個6G大小的邏輯卷testlv :lvcrete -L 6g -n testlv testvg

技術分享圖片

此時邏輯卷 testlv 創建成功,

創建完成後就會在/dev/mapper目錄下生成一個設備文件,文件名是以vg-lv的名稱命名的如下所示:

ls /dev/mapper :查看新添加的邏輯卷

技術分享圖片

5、現在可以對lvm磁盤進行格式化操作了

現在將其掛載為 ext4文件格式

命令為 : mke2fs -t ext4 /dev/mapper/testvg-testlv

技術分享圖片

6、此時可以掛載使用了,在根目錄下創建一個test文件,將其掛載上去

命令為: mount /dev/mapper/testvg-testlv /test

技術分享圖片

df -h 查看當前系統上磁盤使用情況:

技術分享圖片

可見剛才創建的6G的lvm磁盤創建成功!!

將/etc/fstab 文件復制到/test 目錄下測試看看;


二、

1、擴展邏輯磁盤大小:

下面要擴展lvm磁盤的空間大小將其增加1G大小

要擴大lvm首先要保證虛擬組vg有足夠大的空間以滿足lvm擴大的需求,如果vg不夠大,那麽就要先擴大vg ,vg不夠大就要添加pv了,層次關系如第一張圖所示

命令:lvextend -L +1G /dev/mapper/testvg-testlv

技術分享圖片

擴展成功後用 df -h 命令查看;並不會顯示分區已經擴大了

需要用命令 : resize2fs /dev/mapper/testvg-testlv 擴展後通知文件系統更改分區大小

技術分享圖片

此時用 df -h 命令查看磁盤使用情況:可見lvm擴容成功

技術分享圖片


三、

上面完成了磁盤擴容,下面演示lvm磁盤縮減功能:將lvm磁盤縮減至500M大小

要縮減磁盤首先要保證要縮減到的磁盤空間不能比現存文件空間小,就是要查看現在磁盤空間還剩多少,剩余的空間可以縮減掉。


1、首先要卸載磁盤,

mount /dev/mapper/testvg-testlv

技術分享圖片

2、要強行檢查磁盤是否存在損壞並修復,

e2fsck -f /dev/mapper/testvg-testlv

技術分享圖片

3、告訴文件系統要將lvm縮減到多大?(將其縮為500M)

resize2fs /dev/mapper/testvg-testlv 500M

技術分享圖片

4、文件系統縮減完成後再將lvm縮減至500M

命令格式為: lvreduce -L [-]#[mg] /dev/VG_NAME/LV_NAME

lvreduce -L 500M /dev/mapper/testvg-testlv

技術分享圖片

5、然後在掛載回去 :mount /dev/mapper/testvg-testlv /test

技術分享圖片

6、縮減完成使用

進入test目錄查看文件完好無損

df -h 查看系統分區情況

技術分享圖片

可見 /test 已縮減至500M (註意df -h 顯示系統分區會有%10左右的差距)

lvs 查看邏輯磁盤信息:

技術分享圖片


四、

下面演示lvm磁盤快照功能:(對一個磁盤進行快照後,當更改文件時,會將其原文件保存至快照盤中,當需要時可將其替換更改後的文件,以達到還原的目的。)

快照盤大小的設定應根據其文件改變率來定奪,改變率越大那麽快照盤就應該越大,最大與其整個要快照的磁盤一樣大就行。

1、創建快照盤,下面我們的/dev/mapper/testvg-tsetlv 分區進行快照。

命令格式為: lvcreate -L #[mg] -p r -s -n snapshot_lv_name original_lv_name
-L :指定大小
-p :指定權限
-s :指定為快照
-n :指定名稱

命令為: lvcreate -L 200m -p r -s -n testsnap /dev/mapper/testvg-testlv

技術分享圖片

創建完成

2、創建完成後將其掛載到根目錄下backup目錄上,

mkdir /backup

mount /dev/mapper/testvg-testsnap /backup

技術分享圖片

cd /backup 目錄下

技術分享圖片

可見已經快照下/dev/mapper/testvg-testlv 分區下的文件,當/test 目錄下的文件發生更改時/backup中的文件不會發生改變,可以用還原/test 目錄中的文件


完畢!!!

管理pv的命令還有很多例如:

pvchange pvcreate pvmove pvresize pvscan
pvck pvdisplay pvremove pvs

管理vg命令:
vgcfgbackup vgconvert vgexport vgmerge vgrename
vgcfgrestore vgcreate vgextend vgmknodes vgs
vgchange vgdb vgimport vgreduce vgscan
vgck vgdisplay vgimportclone vgremove vgsplit

管理lv的命令:
lvchange lvdisplay lvmchange lvmdiskscan lvmsadc lvremove lvs
lvconvert lvextend lvmconf lvmdump lvmsar lvrename lvscan
lvcreate lvm lvmconfig lvmetad lvreduce lvresize



lvm邏輯卷的基本應用,擴展及縮減、快照功能實現方法