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邏輯卷的基本應用,擴展及縮減、快照功能實現方法