利用LVM管理磁盤系統_Linux教程
1. 什么是LVM
-------------------------------------------------------------------------------------------------------
LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是對磁盤分區進行管理的一種機制, LVM是建立在硬盤和分區之上的一個邏輯層,用來提高磁盤管理的靈活性.通過LVM可將若干個 磁盤分區連接為一個整塊的卷組(Volume Group),形成一個存儲池.可以在卷組上隨意創建邏輯 卷(Logical Volumes),并進一步在邏輯卷上創建文件系統.
2. LVM的作用
-------------------------------------------------------------------------------------------------------
通過LVM可以方便的調整存儲卷的大小,并且可以對磁盤存儲按照組的方式進行命名、管理和 分配,例如按照使用用途進行定義:”development”和”data”,而不是使用物理磁盤名”sda”和 “sdb”.當系統添加了新的磁盤,通過LVM可以直接擴展文件系統跨越該磁盤, 而不必將文件移動 到新的磁盤上.
3. 基本概念
--------------------------------------------------------------------------------------------------------
●物理卷pv(Physical Volume)
物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,
但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數.
●卷組vg(Volume Group)
卷組由物理卷組成,類似于非LVM系統中的物理硬盤,可以在卷組上創建一個或多個"LVM分區"(邏輯卷).
●邏輯卷lv(Logical Volume)
LVM的邏輯卷類似于非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等).
●PE(Physical Extent)
每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的
最小單元.PE的大小是可配置的,默認為4MB.
●LE(Logical Extent)
邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位.在同一個卷組中,LE的大小和
PE是相同的,并且一一對應.
和非LVM系統將包含分區信息的元數據保存在位于分區的起始位置的分區表中一樣,邏輯卷以及卷 組相關的元數據也是保存在位于物理卷起始處的VGDA(卷組描述符區域)中.VGDA包括以下內容: PV描述符、VG描述符、LV描述符、和一些PE描述符 .
系統啟動LVM時激活VG,并將VGDA加載至內存,來識別LV的實際物理存儲位置.當系統進行I/O操作 時,就會根據VGDA建立的映射機制來訪問實際的物理位置.
4. 安裝LVM
-------------------------------------------------------------------------------------------------------------
確定系統中是否安裝了lvm工具:
# rpm -qa | grep lvm lvm2-2.02.72
如果命令結果類似于上例,說明系統已經安裝了LVM管理工具;如果命令沒有輸出則說明沒有安裝LVM管理工具,則需要從網絡下載或者從光盤裝LVM rpm工具包.
為了使用LVM,要確保在系統啟動時激活LVM,RedHat發行版在啟動時已經具有對激活LVM的 支持,在/etc/rc.d/rc.sysinit中有以下內容:
if [ -x /sbin/lvm ]; then action quot;Setting up Logical Volume Management:" /sbin/lvm vgchange -a y --sysinit fi
5. 創建和管理LVM
---------------------------------------------------------------------------------------------------
要創建一個LVM系統,一般需要經過以下步驟:
5.1、創建分區
使用分區工具(如:fdisk等)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別 僅僅是LVM的分區類型為8e.
# fdisk -l /dev/sdc Device Boot Start End Blocks Id System /dev/sdc1 1 128 1028128+ 8e Linux LVM /dev/sdc2 129 256 1028160 8e Linux LVM /dev/sdc3 257 391 1084387+ 8e Linux LVM
5.2、pv階段
5.2.1創建物理卷 創建物理卷的命令為pvcreate,利用該命令將希望添加到卷組的所有分區或者磁盤創建為物理卷.
# pvcreate /dev/sdc[1,2,3] Physical volume "/dev/sdc1" successfully created Physical volume "/dev/sdc2" successfully created Physical volume "/dev/sdc3" successfully created
5.2.2查看物理卷,通過pvs命令你可以列出系統上所有的物理卷。
如果使用pvdisplay,你可以得到有關物理卷的更詳細的信息。
5.3、vg階段
5.3.1 創建卷組,創建卷組的命令為vgcreate,將使用pvcreate建立的物理卷創建為一個完整的卷組:
# vgcreate vg1 /dev/sdc1 /dev/sdc2 /dev/sdc3
vgcreate命令第一個參數是指定該卷組的邏輯名:vg1.后面參數是指定希望添加 到該卷組的所有分區和磁盤.vgcreate在創建卷組 vg1 以外,還設置使用大小為4MB 的PE(默認為4MB),這表示卷組上創建的所有邏輯卷都以 4MB 為增量單位來進行擴充或縮減.我們可以使用-s指定PE大小。
5.3.2查看卷組 通過vgs命令你可以列出系統上所有的卷組。
,如果使用vgdisplay命令,你可以得到有關卷組更詳細的信息。
5.4、lv階段
5.4.1創建邏輯卷 創建邏輯卷的命令為lvcreate:
#lvcreate -n data -L 1000 vg1
該命令就在卷組vg1上創建名字為data,大小為1000M的邏輯卷。這里我們使用大寫L直接指定邏輯卷大小,你也可以使用小寫l跟PE數量指定邏輯卷大小。
# lvcreate -n data1 -l 250 vg1
5.4.2查看邏輯卷,通過lvs可以列出系統上所有的邏輯卷。
如果使用lvdisplay,你可以得到有關邏輯卷的更詳細的信息。
# lvdisplay /dev/vg1/data | grep "LV Size" LV Size 1000.00 MiB # lvdisplay /dev/vg1/data1 | grep "LV Size" LV Size 1000.00 MiB
由于一個PE大小為4M,在創建data1邏輯卷的時候我們指定250個PE,所以大小也是1000M。
5.4.3邏輯卷的使用
邏輯卷創建了文件系統以后,就可以掛載并使用它:
# mkfs.ext3 /dev/vg1/data # mkdir /var/wwwroot # mount /dev/vg1/data /var/wwwroot
如果希望系統啟動時自動加載文件系統,則還需要在/etc/fstab中添加內容.
- 相關鏈接:
- 教程說明:
Linux教程-利用LVM管理磁盤系統。