歡迎您光臨本站 註冊首頁

Linux邏輯卷管理(LVM)詳細教程

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
測試環境:RHEL5.3;硬碟8G,1000M一個分區分成6個
一、創建邏輯卷的步驟:
1)通過pvcreate命令將linux分區處理成物理卷(PV);
2)通過vgcreate命令將創建好的物理卷處理成卷組(Vg);
3)通過lvcreate命令將卷組分成若干個邏輯卷(Lv);
之後我們可以對邏輯卷進行格式化,掛載,刪除等操作,我們可以動態的調整邏輯卷的大小,並且該操作不會影響我們在邏輯卷(Lv)上的數據.
二、物理卷創建管理操作:
1)pvcreate創建物理卷:( 把普通Linux分區變成物理卷)
格式:pvcreate /dev/sdb{1,2,3...}
———————————————————————————————
[root@station1 ~]# [root@station1 ~]# pvcreate /dev/sdb{1,2,3,5,6,7}
Physical volume "/dev/sdb3" successfully created
Physical volume "/dev/sdb5" successfully created
Physical volume "/dev/sdb6" successfully created
Physical volume "/dev/sdb7" successfully created
————————————————————————————————
2)pvscan查看物理卷信息:會顯示所有物理卷的情況.
格式:pvscan
————————————————————————————————
[root@station1 ~]# pvscan
PV /dev/sdb1 lvm2 [964.81 MB]
PV /dev/sdb2 lvm2 [964.84 MB]
PV /dev/sdb3 lvm2 [964.84 MB]
PV /dev/sdb5 lvm2 [964.81 MB]
PV /dev/sdb6 lvm2 [964.81 MB]
PV /dev/sdb7 lvm2 [964.81 MB]
Total: 6 [5.65 GB] / in use: 0 [0 ] / in no VG: 6 [5.65 GB]
————————————————————————————————
3)pvdisplay查看各個物理卷的詳細參數:
格式:pvdisplay [/dev/sdb{1,2,3...}] 不跟參數則顯示所有的物理卷信息
————————————————————————————————


[root@station1 ~]# pvdisplay /dev/sdb1
"/dev/sdb1" is a new physical volume of "964.81 MB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 964.81 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID FKaYKk-d46E-KHCQ-WRnn-jUUE-Cd1d-mM8mPN
————————————————————————————————————
4)pvremove刪除物理卷:當物理卷里的擴展快沒有被使用時可以刪除.
格式:pvremove /dev/sdb5
——————————————————————————————
[root@station1 ~]# pvscan
PV /dev/sdb7 VG vg1 lvm2 [960.00 MB / 960.00 MB free]
PV /dev/sdb1 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb3 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb5 lvm2 [964.81 MB]
PV /dev/sdb6 lvm2 [964.81 MB]
Total: 6 [5.65 GB] / in use: 4 [3.76 GB] / in no VG: 2 [1.88 GB]
[root@station1 ~]# pvremove /dev/sdb5
Labels on physical volume "/dev/sdb5" successfully wiped
[root@station1 ~]# pvscan
PV /dev/sdb7 VG vg1 lvm2 [960.00 MB / 960.00 MB free]
PV /dev/sdb1 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb3 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb6 lvm2 [964.81 MB]
Total: 5 [4.70 GB] / in use: 4 [3.76 GB] / in no VG: 1 [964.81 MB]
————————————————————————————————
三、卷組的創建管理:
1)vgcreate創建卷組:
格式:vgcreate [-s <8M|16M|...>] vg0 /dev/sdb{1,2,3...}
-s:指定擴展塊(PE)的大小,默認為4MB;(相當與磁碟上的簇,擴展邏輯卷的基本單位. 後面的值可以是8M 16M 32M 64M .....最多65532個擴展塊.


vg0:新創建的卷組的名字.
/dev/sdb{1,2,3...}:需要的物理卷可以寫多個;
————————————————————————————————
[root@station1 ~]# vgcreate vg0 /dev/sdb{1,2,3}
Volume group "vg0" successfully created
————————————————————————————————
2)vgdisplay查看各個卷組的詳細參數:
格式:vgdisplay /dev/vg0
————————————————————————————————
[root@station1 ~]# vgdisplay /dev/vg0
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 1
VG Access read/write
VG Status resizable
Cur PV 3
Act PV 3
VG Size 2.82 GB
PE Size 4.00 MB //擴展快大小 默認4MB
Total PE 723
Alloc PE / Size 0 / 0
Free PE / Size 723 / 2.82 GB
VG UUID w4q8ET-UBLY-rHwg-2ZVv-NOw4-dd1e-1ABr2f
[root@station1 ~]# vgcreate -s 16M vg1 /dev/sdb{5,6,7}
Volume group "vg1" successfully created
[root@station1 ~]# vgdisplay /dev/vg1
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 1
VG Access read/write
VG Status resizable
Cur PV 3
Act PV 3
VG Size 2.81 GB
PE Size 16.00 MB //指定擴展塊大小為16MB
Total PE 180
Alloc PE / Size 0 / 0
Free PE / Size 180 / 2.81 GB
VG UUID x97eh2-JYxW-4Ygh-5axx-TquS-0vxR-YdFyJ1
———————————————————————————————————
3)vgscan查看卷組的信息:
格式:vgsacn
————————————————————————————————
[root@station1 ~]# vgscan
Found volume group "vg1" using metadata type lvm2
Found volume group "vg0" using metadata type lvm2


—————————————————————————————————
4)vgreduce縮小卷組:把物理卷重卷組中刪除.
格式:vgreduce vg0 /dev/sdb3
——————————————————————————————————
[root@station1 ~]# vgreduce vg0 /dev/sdb3
Removed "/dev/sdb3" from volume group "vg0"
——————————————————————————————————
4)vgextend擴展卷組:把某個物理卷添加到卷組中.
格式:vgextend vg0 /dev/sdb2 將物理卷/dev/sdb2添加到vg0卷組
——————————————————————————————————
[root@station1 ~]# vgextend vg0 /dev/sdb3
Volume group "vg0" successfully extended
——————————————————————————————————
5)vgremove刪除卷組:
格式:vgremove /dev/vg1
——————————————————————————————————
[root@station1 ~]# pvscan
PV /dev/sdb7 VG vg1 lvm2 [960.00 MB / 960.00 MB free]
PV /dev/sdb5 VG vg1 lvm2 [960.00 MB / 960.00 MB free]
PV /dev/sdb6 VG vg1 lvm2 [960.00 MB / 960.00 MB free]
PV /dev/sdb1 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb3 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
Total: 6 [5.64 GB] / in use: 6 [5.64 GB] / in no VG: 0 [0 ]
[root@station1 ~]# vgremove /dev/vg1
Volume group "vg1" successfully removed
[root@station1 ~]# pvscan
PV /dev/sdb1 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb3 VG vg0 lvm2 [964.00 MB / 964.00 MB free]
PV /dev/sdb5 lvm2 [964.81 MB]
PV /dev/sdb6 lvm2 [964.81 MB]
PV /dev/sdb7 lvm2 [964.81 MB]


Total: 6 [5.65 GB] / in use: 3 [2.82 GB] / in no VG: 3 [2.83 GB]
——————————————————————————————————
四、邏輯卷的創建及管理:
1)lvcreate創建邏輯卷命令:
格式1:lvcreate -L 512M -n data vg0
-L 512M:設置邏輯卷的大小為512M.
-n data:設置邏輯卷的名字為data ;表示法:/dev/卷組名/data
vg0 :設置是有那個卷組生成的邏輯卷.
——————————————————————————————————
[root@station1 ~]# lvcreate -L 1000M -n data vg0
Logical volume "data" created
//創建一個容量為1000MB的邏輯卷data
——————————————————————————————————
格式2:lvcreate -l 32 -n data vg0
-l 32:生成的邏輯卷使用32個擴展塊,邏輯卷大小=32*PE(默認4M)則為128M
-n data:邏輯卷的名字;
vg0 :設置是有那個卷組生成的邏輯卷.
——————————————————————————————————
[root@station1 ~]# lvcreate -l 32 -n data128 vg0
Logical volume "data128" created
//創建一個32個擴展塊,容量為32*4=128MB的邏輯卷data128
——————————————————————————————————
2)格式化邏輯卷:
mkfs.ext3 /dev/vg0/data mke2fs -j /dev/vg0/data
3)lvsacn查看邏輯卷的信息:
¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬——————————————————————————————————
[root@station1 ~]# lvscan
ACTIVE '/dev/vg0/data' [1000.00 MB] inherit
——————————————————————————————————


4)lvdisplay查看邏輯卷的具體參數:
——————————————————————————————————
[root@station1 ~]# lvdisplay /dev/vg0/data
--- Logical volume ---
LV Name /dev/vg0/data
VG Name vg0
LV UUID 9Od1nq-cHmY-MlrL-vgXW-7Kam-pAfU-Qc8mal
LV Write Access read/write
LV Status available
# open 0
LV Size 1000.00 MB
Current LE 250
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
——————————————————————————————————
3)增大邏輯卷大小:
lvextend命令:增大邏輯卷大小
格式:lvextend -L 100M /dev/vg0/data
——————————————————————————————————
[root@station1 ~]# lvextend -L 1000M /dev/vg0/data
Extending logical volume data to 1.95 GB
Logical volume data successfully resized
——————————————————————————————————
resize2fs /dev/vg0/data 使上面增加的立即生效.
——————————————————————————————————
[root@station1 ~]# resize2fs /dev/vg0/data
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg0/data to 512000 (4k) blocks.
The filesystem on /dev/vg0/data is now 512000 blocks long.
[root@station1 ~]# lvscan
ACTIVE '/dev/vg0/data' [1.95 GB] inherit
——————————————————————————————————
4)減少邏輯卷大小:
lvreduce命令:減少邏輯卷大小
格式:Lvreduce -L -100M /dev/vg0/data
——————————————————————————————————
[root@station1 ~]# lvreduce -L -1000M /dev/vg0/data


WARNING: Reducing active logical volume to 1000.00 MB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data? [y/n]: y
Reducing logical volume data to 1000.00 MB
Logical volume data successfully resized
——————————————————————————————————
resize2fs /dev/vg0/data 使上面增加的立即生效.
——————————————————————————————————
[root@station1 ~]# resize2fs /dev/vg0/data
resize2fs 1.39 (29-May-2006)
resize2fs: Bad magic number in super-block while trying to open /dev/vg0/data
Couldn't find valid filesystem superblock.
[root@station1 ~]# lvscan
ACTIVE '/dev/vg0/data' [1000.00 MB] inherit
ACTIVE '/dev/vg0/data128' [128.00 MB] inherit
——————————————————————————————————
5)lvremove刪除邏輯卷:
格式:lvremove /dev/卷組名/邏輯卷名
——————————————————————————————————
[root@station1 ~]# lvremove /dev/vg0/data128
Do you really want to remove active logical volume "data128"? [y/n]: y
Logical volume "data128" successfully removed
[root@station1 ~]# lvscan
ACTIVE '/dev/vg0/data' [1000.00 MB] inherit
——————————————————————————————————
五、LVM的快照:
1)快照的創建:
Lvcreate -l 64 -s -n databackup /dev/vg0/data
-l 64:之前我們已經說過了這裡是 64個擴展塊,總容量=64*單擴展塊大小
-n databackup:生成的快照的名字.
/dev/vg0/data:源邏輯卷名字.
————————————————————————————————————
[root@station1 ~]# lvscan
ACTIVE '/dev/vg0/data' [1000.00 MB] inherit


[root@station1 ~]# lvcreate -L 1000M -s -n databackup /dev/vg0/data
Logical volume "databackup" created
[root@station1 ~]# lvscan
ACTIVE Original '/dev/vg0/data' [1000.00 MB] inherit
ACTIVE Snapshot '/dev/vg0/databackup' [1000.00 MB] inherit
————————————————————————————————————
2)快照的刪除:
lvremove /dev/vg0/databackup
————————————————————————————————————
[root@station1 ~]# lvremove /dev/vg0/databackup
Do you really want to remove active logical volume "databackup"? [y/n]: y
Logical volume "databackup" successfully removed
————————————————————————————————————
六、總結:
創建邏輯卷的順序:Linux分區---物理卷---卷組---邏輯卷
刪除邏輯卷的順序:邏輯卷---卷組----物理卷---Linux分區


[火星人 ] Linux邏輯卷管理(LVM)詳細教程已經有769次圍觀

http://coctec.com/docs/linux/show-post-51830.html