邏輯卷
邏輯卷:把不同大小的物理設備,抽象成一個完整的文件系統,方便對物理設備的管理與應用。
其基本步驟為:
1.將指定的設備設置為物理卷 物理卷是指定大小的固定得物理區域 2.用一個或者多個物理卷創建一個卷組 3.創建邏輯卷 在物理卷上創建的邏輯卷由物理區域組成,可以再邏輯卷上創建文件系統 dm:device mapper ,將一個或多個底層塊設備組織成一個邏輯設備的模塊。 /dev/mapper/VG_name/LV_name
pv管理工具:
常用命令:
-
pvs:顯示pv的簡要信息 [root@laodeng6 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg0 lvm2 a--u 59.99g 7.99g
-
pvdisplay:顯示pv的詳細信息 [root@laodeng6 ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name vg0 PV Size 60.00 GiB / not usable 8.00 MiB Allocatable yes PE Size 8.00 MiB Total PE 7679 Free PE 1023 Allocated PE 6656 PV UUID oqQvzV-SU1r-HfCK-adnG-iQnv-Pg20-bS5HDQ
-
pvcreate /dev/device :創建pv [root@laodeng6 ~]# pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created [root@laodeng6 ~]# pvdisplay /dev/sdc1 "/dev/sdc1" is a new physical volume of "5.01 GiB" --- NEW Physical volume --- PV Name /dev/sdc1 VG Name PV Size 5.01 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID yYh2J4-PryA-l0Fd-WUi-aYf-nnPh-joerv
-
pvremove /dev/device:移除pv [root@laodeng6 ~]# pvremove /dev/sdc1 Labels on physical volume "/dev/sdc1" successfully wiped
vg管理工具:
常用命令:
-
vgs:顯示卷組的簡要信息 [root@laodeng6 ~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 1 4 0 wz--n- 59.99g 7.99g
-
vgdisplay:顯示卷組的詳細信息 [root@laodeng6 ~]# vgdisplay --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 4 Max PV 0 Cur PV 1 Act PV 1 VG Size 59.99 GiB PE Size 8.00 MiB Total PE 7679 Alloc PE / Size 6656 / 52.00 GiB Free PE / Size 1023 / 7.99 GiB VG UUID fEcXYF-zk91-qaiW-4OaN-X3T1-eLrt-AV3L4i
-
vgcreate vg_name /dev/device:創建vg [root@laodeng6 ~]# vgcreate testvg /dev/sdc1 Volume group "testvg" successfully created [root@laodeng6 ~]# vgdisplay testvg --- Volume group --- VG Name testvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 5.01 GiB PE Size 4.00 MiB Total PE 1282 Alloc PE / Size 0 / 0 Free PE / Size 1282 / 5.01 GiB VG UUID Qx8PFT-mm5W-sbF3-qyyj-Ac2K-NXSH-O50Ivq
-
vgextend vg_name /dev/device:擴展vg空間 [root@laodeng6 ~]# vgextend testvg /dev/sdc2 Volume group "testvg" successfully extended
-
vgreduce vg_name /dev/device:縮減vg空間,把pv從vg中移除 [root@laodeng6 ~]# vgreduce testvg /dev/sdc2 Removed "/dev/sdc2" from volume group "testvg" 注意:在將pv從vg中移除時,要先做pvmove操作
lv管理工具
常用命令:
-
lvs:顯示lv的簡要信息 [root@laodeng6 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root vg0 -wi-ao---- 20.00g swap vg0 -wi-ao---- 2.00g usr vg0 -wi-ao---- 10.00g var vg0 -wi-ao---- 20.00g
-
lvdisplay:顯示lv的詳細信息
-
lvcreate -L #[mMgGtT] -n NAME VolumeGroup:創建邏輯卷 [root@laodeng6 ~]# lvcreate -L 3G -n testlv testvg Logical volume "testlv" created.
使用邏輯卷
在完成以上的幾步之后要想使用邏輯卷的話,需要對其進行格式化與掛載操作。 格式化硬盤指定文件系統: mkfs.ext4 -b 1024 -L TESTLV /dev/testvg/testlv
-
掛載邏輯卷 [root@laodeng6 ~]# mkdir /testlvm [root@laodeng6 ~]# mount /dev/testvg/testlv /test testdir/ testlvm/ [root@laodeng6 ~]# mount /dev/testvg/testlv /testlvm/ [root@laodeng6 ~]# df -h df: `/mnt/usb': Input/output error Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg0-root 20G 336M 19G 2% / tmpfs 491M 0 491M 0% /dev/shm /dev/sda1 190M 34M 147M 19% /boot /dev/mapper/vg0-usr 9.8G 2.2G 7.1G 24% /usr /dev/mapper/vg0-var 20G 201M 19G 2% /var /dev/mapper/testvg-testlv 3.0G 3.3M 2.8G 1% /testlvm
擴展邏輯卷
邏輯卷支持在線修改其大小,所以不用卸載之后再擴展。 lvextent -L [+]#[mMgGtT] /dev/vg_name/lv_name 其中不帶[+]的話是直接擴展到#[mMgGtT]指定的大小。 [root@laodeng6 ~]# lvextend -L 5G /dev/testvg/testlv Size of logical volume testvg/testlv changed from 3.00 GiB (768 extents) to 5.00 GiB (1280 extents). Logical volume testlv successfully resized. 注意:做到此步之后邏輯卷是不能馬上被使用的,因為擴展之后,你的文件系統依然是原來的大小,需要擴展文件系統到邏輯卷指定的大小方可使用。 命令是: resize2fs /dev/vg_name/lv_name [root@laodeng6 ~]# resize2fs /dev/testvg/testlv resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/testvg/testlv is mounted on /testlvm; on-line resizing required old desc_blocks = 12, new_desc_blocks = 20 Performing an on-line resize of /dev/testvg/testlv to 5242880 (1k) blocks. The filesystem on /dev/testvg/testlv is now 5242880 blocks long.
縮減邏輯卷
在縮減邏輯卷時,不能直接就縮減邏輯卷,應該先縮減內部文件系統的大小至制定大小,然后再縮減邏輯卷的物理空間大小。與擴展邏輯卷是一個相反的過程。 在執行縮減操作時要注意的是,縮減后的空間一定要能夠容納目前邏輯卷里的所有文件才行。 而且在縮減邏輯卷時要先卸載邏輯卷。因為縮減不允許在線進行。 縮減有風險,執行需謹慎。
所以縮減邏輯卷有以下幾步:
-
1.卸載邏輯卷 umount /dev/vg_name/lv_name [root@laodeng6 ~]# umount /dev/testvg/testlv [root@laodeng6 ~]# df df: `/mnt/usb': Input/output error Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg0-root 20511356 343732 19119048 2% / tmpfs 502068 0 502068 0% /dev/shm /dev/sda1 194241 34181 149820 19% /boot /dev/mapper/vg0-usr 10190136 2238672 7427176 24% /usr /dev/mapper/vg0-var 20511356 204996 19257784 2% /var
-
2.做文件系統的強制檢測 e2fsck -f /dev/vg_name/lv_name [root@laodeng6 ~]# e2fsck -f /dev/testvg/testlv e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information TESTLV: 11/327680 files (0.0% non-contiguous), 119749/5242880 blocks
-
3.縮減其邏輯卷文件系統大小 resize2fs /dev/vg_name/lv_name #[mMgGtT] [root@laodeng6 ~]# resize2fs /dev/testvg/testlv 4G resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/testvg/testlv to 4194304 (1k) blocks. The filesystem on /dev/testvg/testlv is now 4194304 blocks long.
-
4.縮減其邏輯卷的大小 lvreduce -L [-]#[mMgGtT] /dev/vg_name/lv_name 其前面的減號與擴展邏輯卷里的加號用法相同。 [root@laodeng6 ~]# lvreduce -L 4G /dev/testvg/testlv WARNING: Reducing active logical volume to 4.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce testvg/testlv? [y/n]: y Size of logical volume testvg/testlv changed from 5.00 GiB (1280 extents) to 4.00 GiB (1024 extents). Logical volume testlv successfully resized.
-
5.最后再把邏輯卷掛載到系統上就完成了邏輯卷的縮減操作。
快照
-
創建快照卷 lvcreate -L #[mMgGtT] -p r -s -n sanpshot_lv_name original_lv_name -L #:指定快照卷的大小 -p:指明權限 -s:表示快照 -n:快照名字 original_lv_name:原邏輯卷名字 [root@laodeng6 ~]# lvcreate -s -L 1G -n testlv-snap -p r /dev/testvg/testlv Logical volume "testlv-snap" created.
-
掛載快照卷 [root@laodeng6 ~]# mount /dev/testvg/testlv-snap /mnt mount: block device /dev/mapper/testvg-testlv--snap is write-protected, mounting read-only 做完快照后將其里面的內容備份出來后快照卷就沒有什么作用了,此時刪除快照卷就行。
-
邏輯卷的刪除操作 刪除時要先取消掛載 umount /dev/vg_name/lv_name 然后執行邏輯卷刪除命令: lvremove /dev/vg_name/lv_name 卷組的刪除操作: vgremove /dev/vg_name pv的刪除操作: pvremove /dev/device
raid小實例:
-
創建一個可用空間為500M的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄
(1)創建分區及文件系統
(2)創建raid1
(3)創建/dev/md0的文件系統
(4)掛載
(5)生成raid1的配置文件防止重新啟動時失敗
原創文章,作者:dxkboke,如若轉載,請注明出處:http://www.www58058.com/42194
對lvm的工作原理建議畫圖來表示,直觀明了,同時對于raid常見級別的工作模式及使用場景需要作者能熟練掌握,并通過自己的語言描述出來。