lvm-邏輯卷管理器
在Linux 操作系統中使用LVM 邏輯卷管理器可以很方便的擴展磁碟容量,無論是物理機還是虛擬機均可,或者與OVF模版結合使用,快速部署虛擬機.
一 LVM的基本術語
- 物理存儲介質(Thephysicalmedia)
- 指的就是存儲設備硬碟 例如:/dev/sda /dev/sdb等
- 物理卷(physicalvolume)
- 指的是磁碟的分區,使用 pvcreate指令創建物理卷
- 卷組(VolumeGroup)
- 卷組將多個物理卷組織成一個整體,屏蔽了底層物理卷細節,可以在卷組上建立多個LVM分區(即邏輯卷)而不用考慮具體的物理卷信息.
- 邏輯卷(logicalvolume)
- LVM的邏輯卷類似於非LVM系統中的硬碟分區,在邏輯卷之上可以建立文件系統(比如/ 或者/var等)
- PE(physicalextent)
- 每一個物理卷被劃分為稱為PE(PhysicalExtents)的基本單元,具有唯一編號的PE是可以被LVM定址的最小單元.
- PE的大小是可配置的,默認為4MB.
- LE(logicalextent)
- 邏輯卷也被劃分為被稱為LE(LogicalExtents)的可被定址的基本單位.在同一個卷組中,LE的大小和PE是相同的,並且一一對應.
二 LVM 相關命令
- 2.1 物理卷相關命令
- pvcreate 指令用於將物理硬碟分區初始化為物理卷,以便被LVM使用.
- 注意:要創建物理卷首先對硬碟進行分區,並且將硬碟分區的類型設置為"8e"后,才能使用pvcreate指令將分區初始化為物理卷
- pvcreate /dev/sdb1 //將分區初始化為物理卷
- pvscan 指令會掃描系統中連接的所有硬碟,列出找到的物理卷列表
- pvscan //掃描所有硬碟上的物理卷
- pvdisplay 指令用於顯示物理卷的屬性(大小,PE大小,被卷組描述符使用的空間)
- pvdisplay //顯示物理卷基本信息
- pvremove 指令用於刪除一個存在的物理卷
- pvremove /dev/sdb2 //刪除物理卷
- pvck 指令用來檢查物理卷的LVM元數據的一致性.
- pvck -v /dev/sdb1 //檢查物理卷元數據
- pvchange 指令允許管理員改變物理卷的分配許可.
- pvchange -x n /dev/sdb1 //禁止分配"/dev/sdb1"上的PE
- 2.2 卷組相關命令
- vgcreate 指令用於創建LVM卷組
- vgcreate myvg1 /dev/sdb1 //創建卷組"myvg1"並且將物理卷"/dev/sdb1"添加到卷組中
- vgscan 指令查找系統中存在的LVM卷組,並顯示找到的卷組列表.
- vgscan //掃描並顯示LVM卷組列表
- vgdisplay 指令用於顯示LVM卷組的元數據信息.
- vgdisplay //顯示所有卷組的屬性
- vgextend 指令用於動態的擴展LVM卷組,它通過向卷組中添加物理捲來增加卷組的容量.
- vgextend myvg1 /dev/sdb2 //將物理卷"/dev/sdb2"加入卷組"myvg1"
- vgreduce 指令通過刪除LVM卷組中的物理捲來減少卷組容量.
- 注意:不能刪除LVM卷組中剩餘的一個物理卷.
- vgreduce myvg1 /dev/sdb2 //將物理卷"/dev/sdb2"從卷組"myvg1"中刪除
- vgchange 指令用於修改卷組的屬性,經常被用來設置卷組是處於活動狀態或者非活動狀態.
- 注意:處於活動狀態的卷組無法被刪除,使用vgchange指令將卷組設置為非活動狀態后才能刪除.
- vgchange -ay myvg1 //將卷組"myvg1"設置為活動狀態
- vgremove 指令用戶刪除LVM卷組.
- vgremove myvg1 //刪除卷組"myvg1"
- 2.3 邏輯卷相關命令
- lvcreate 指令用於創建LVM的邏輯卷.
- lvcreate -L 10G -n lv1 myvg1 //在卷組myvg1上創建大小為10G的邏輯卷lv1,-L 參數指定邏輯卷的大小,
- 單位為'kKmMgGtT'位元組
- lvscan 指令用於掃描當前系統中存在的所有的LVM邏輯卷
- lvscan //掃描所有的邏輯卷
- lvdisplay 指令用於顯示LVM邏輯卷空間大小、讀寫狀態和快照信息等屬性.
- lvdisplay //省略"邏輯卷"參數,則lvdisplay指令顯示所有的邏輯卷屬性
- lvextend 指令用於在線擴展邏輯卷的空間大小,而不中斷應用程序對邏輯卷的訪問.
- lvextend -L 10G /dev/myvg1/lv1 //為lv1增加10G空間
- lvreduce 指令用於減少LVM邏輯卷佔用的空間大小.
- 注意:使用lvreduce指令收縮邏輯卷的空間大小有可能會刪除邏輯卷上已有的數據,需謹慎操作.
- lvreduce -L -10G /dev/myvg1/lv1 //將邏輯卷的空間大小減少10G
- lvremove 指令用於刪除指定LVM邏輯卷.
- 注意:如果邏輯卷已經使用mount指令載入,則不能使用lvremove指令刪除.umount后,邏輯卷方可被刪除.
- lvremove /dev/myvg1/lv1 //刪除邏輯卷 lv1
- lvresize 指令用於調整LVM邏輯卷的空間大小,可以增大空間和縮小空間.
- 注意:使用lvresize指令調整邏輯卷空間大小和縮小空間時需要謹慎,它有可能導致數據丟失.
- lvresize -L 10G /dev/myvg1/lv1 //將邏輯卷空間增加200M
三 LVM 實例
- 3.1 例子1 lvm基本操作
- 順序如下: 磁碟分區--> 物理卷 --> 卷組 --> 邏輯卷 --> 使用(格式化掛載等等)
- 1 首先將分區/dev/sda5 建立物理卷.
- pvcreate /dev/sda5
- 2 創建一個卷組,卷組名字為myvg2,並將/dev/sda5 物理卷加入卷組.
- vgcreate myvg2 /dev/sda5
- 3 在myvg2卷組上,創建邏輯卷名為“lv2”容量為10G
- lvcreate -L 10G -n lv2 myvg2
- 或者(lvcreate -l 313 -n lv2 myvg2 //-l參數為使用多少PE)
- 4 使用,格式化lv2 並掛載lv2
- mkfs.ext3 /dev/myvg2/lv2
- mkdir /data/ && mount /dev/myvg2/lv2 /data/
- 4 察看信息
- pvdisplay //物理卷信息
- vgdisplay //卷組信息
- lvdisplay //邏輯卷信息
- 3.2 例子2 擴展 "/" 根分區
- 順序如下: 査看vg 空間--> 査看 LV名稱 --> 擴展邏輯卷 -- > resize2fs 擴展文件系統
- 1 査看vg 可用空間,注意Free 關鍵字
- vgdisplay
- Free PE / Size 313 / 9.78GB
- 2 査看 "/" 分區名稱,注意 LV name 關鍵字
- lvdisplay
- LV Name /dev/vg1/lv1
- 3 擴展邏輯卷
- lvextend -l 313 /dev/vg1/lv1
- 或者(lvextend -L 9.78G /dev/vg1/lv1 //-L參數為使用多少空間單位為'kKmMgGtT'位元組)
- 4 擴展文件系統
- resize2fs /dev/vg1/lv1
- 3.3 擴展“/” 20120405
- fdisk /dev/sda
- 添加新的分區用於創建pv,
- 使用"t"命令更改分區系統id類型為"8e"
- 保存退出,
- partprobe /dev/sda5 //使用partprobe 命令,不必重啟系統就可以發現新分區
- pvcreate /dev/sda5 //創建物理卷
- vgextend vg1 /dev/sda5 //擴展卷組
- vgdisplay //査看卷組可用PE(Free PE)
- lvdisplay //査看邏輯卷詳細信息
- lvextend -l 960 /dev/vg1/lv1_root //擴展邏輯卷(-l 為可用的PE數量)
- resize2fs /dev/vg1/lv1_root //擴展文件系統
- 3.4注意事項
- 例子2中完成 "/" 根分區擴展,如果你的vg 沒有可用PE 那麼就沒有辦法擴展了,不過你可以增加
- 新的物理存儲介質,然後將其創建PV 物理卷,並加入當前卷組中這樣就有Free的PE 了,這就LVM優點
- 所在,以上步驟完成別忘了使用 resize2fs 擴展文件系統.
參考
http://book.51cto.com/art/201012/240835.htm
[火星人 ] lvm-邏輯卷管理器已經有610次圍觀