LVM創建和使用

一、概念:
1).PV(Physical Volume):物理巻,處於LVM最底層,可以是物理硬盤或者分區。


2).VG(Volume Group):巻組,建立在PV之上,可以含有一個到多個PV。
3).LV(Logical Volume):邏輯巻,建立在PV之上,相當於原來分區的概念。不過大小可動態改變。
4).PE(Physical Extend):物理區域,PV中可以用於分配的最小存儲單位,可以在建立PV時指定,如1,2,4,8... ...64M,同一VG中的所有PV的PE應該相同。
5).LE(Logical Extend):邏輯區域,LV中可以用於分配的最小存儲單元,取決於LV所在PV中PE的大小,是PE的整數倍。
6).VGDA(Volume Group Descriptor Area):巻組描述區域,存在於每個PV中,用於描述該PV本身、PV所含VG、VG中的LV以及LV中的物理區域分配等信息,在使用pvcreate命令建立PV時建立。 
二、步驟:
1).建立LVM類型的分區
2).建立LVM物理巻PV
3).建立LVM巻組VG
4).建立LVM邏輯巻LV
5).建立文件系統
6).掛接文件系統
7).使用文件系統
 
三、命令
1).PV(物理巻)相關
<1>pvdisplay:顯示PV屬性
<2>pvscan:在系統所有硬盤上查找PV
<3>pvcreate:創建PV(在PV上初始化VGDA)
  例如:爲/dev/hda1創建了PV
  [root@mylinux]# pvcreate /dev/hda1
 
<4>pvdata:顯示某個PV的詳細信息
  例如:
  [root@mylinux]# pvdata /dev/hda1

<5>pvchange:改變PV屬性
<6>pvmove:在PV間移動PE/LE
2).VG相關
<1>vgdisplay:顯示VG巻組屬性
<2>vgscan:查找系統現有VG巻組
<3>vgcreate:創建VG巻組(在VG上初始化VGDA)
  例如:創建包含物理巻hda1和hdb1的邏輯巻組demoVG1
  [root@mylinux]# vgcreate demoVG1 /dev/hda1 /dev/hdb1

<4>vgdata:顯示VG巻組上的VGDA信息
<5>vgchange:改變VG巻組屬性
  此命令有兩個常用的參數:
  -a:,--available{y|n}:在操作VG時,控制一個VG的可使用性,換句話說控制一個VG能否被系統內核識別。

  -x,--allocation{y|n}:控制一個VG能否被擴充或者縮減(控制一個VG內的PV能否被分配)。
<6>vgmove:在VG巻組間移動PE/LE
<7>vgextend:用於向VG中添加新的PV
  例如:[root@mylinux]# vgextend demoVG1 /dev/hdd1

<8>vgreduce:用於從VG中刪除PV
  例如:[root@mylinux]# vgreduce demoVG1 /dev/hdd1

<9>vgmerge:用於合併巻組。待合併的VG必須處於非活動狀態。
  例如:將demoVG21和 demoVG2合併到demoVG1中並顯示結果:
  [root@mylinux]# vgmerge demoVG1 demoVG2
  vgmerge --ERROR:volume group "demoVG2" must be inactive

  [root@mylinux]# vgchange -a n demoVG2
  vgchange --volume group "demoVG2" successfully deactivated

  [root@mylinux]# vgmerge demoVG1 demoVG2
   vgmerge --doing automatic backup of volume group "demoVG1"
   vgmerge --volume group "demoVG2" successfully merged into "demoVG1"


<10>vgsplit:用於拆分已經存在的VG,VG必須處於活動狀態。
  例如:
  [root@mylinux]# vgchange -a y demoVG2
  [root@mylinux]# vgsplit demoVG2 demoVG4 /dev/hdd2 /dev/hdd5 /dev/hdd6 /dev/hdd7

<11>vgremove:用於刪除VG,要求待刪除的VG必須處於非激活狀態。
  例如:
  [root@mylinux]# vgchange -a n demoVG1
  [root@mylinux]# vgremove demoVG1

<12>vgrename:用於重命名VG,不要求VG處於非激活狀態。
  例如:
  [root@mylinux]# vgrename demoVG2 demoVG3

<13>vgck:用於檢測VG中VGDA的一致性。
<14>vgcfgbackup:備份系統所有VG中各物理巻的VGDA信息到/etc/lvmconf
  [root@mylinux]# vgcfgbackup

<15>vgcfgrestore:用於從/etc/lvmconf恢復系統所有VG中各物理巻的VGDA信息。VG必須處於非激活狀態。
<16>vgmknodes:用於vgcfgrestore後,重建節點信息,重建已有巻組的巻組目錄和其中的設備文件。
  例如:
  [root@mylinux]# vgchange -a n demoVG3
  [root@mylinux]# vgmknodes
 
<17>vgexport:用於輸出巻組。待輸出巻組必須爲非激活狀態。巻組中的物理巻需要被轉移到其它系統中使用時,就需要使用這個命令。
  例如:
  [root@mylinux]# vgchange -a n demoVG3
  [root@mylinux]# vgexport demoVG3
<18>vgimport:用於輸入巻組。
  例如:
  [root@mylinux]# vgimport demoVG1 /dev/hdd1

3).LV相關
<1>lvdisplay:顯示LV的屬性 <2>lvscan:查找系統現有LV
<3>lvcreate:創建LV
<4>lvdata:顯示LV上的LVDA信息
<5>lvchange:改變LV屬性
  例如:
  [root@mylinux]# lvchange -a n /dev/demoVG1/demoLV11

<6>lvmove:在LV間移動PE/LE
<7>lvextend:擴展LV容量。LVM的最突出特點就是隨時動態的調整LV空間大小。
  例如:
  [root@mylinux]# lvscan|grep LV11
  lvscan --ACTIVE  "/dev/demoVG1/demoLV11" [200MB]
  [root@mylinux]# lvextend -L +10m /dev/demoVG1/demoLV11 (爲demoLV11增加10MB的空間)

<8>lvreduce:減小LV容量。
  例如:
  [root@mylinux]# lvextend -L -10m /dev/demoVG1/demoLV11 (爲demoLV11減少10MB的空間)

<9>lvrename:LV重命名
  例如:
  [root@mylinux]# lvrename /dev/demoVG1/demoLV11 /dev/demoVG1/demoLV01

<10>lvremove:刪除LV(邏輯巻)
  例如:
  [root@mylinux]# lvremove /dev/demoVG1/demoLV01 
<11>resize2fs/e2fsadm/resize_reiserfs:類似於extend命令。
4).創建文件系統
<1>使用命令mkfs在demoLV31上創建ext3類型的分區:
  [root@mylinux]# mkfs -t ext3 /dev/demoVG3/demoLV31
 
<2>使用命令mkfs.ext3在demoLV31上創建ext3分區:
  [root@mylinux]# mkfs.ext3 /dev/demoVG3/demoLV31 

<3>使用命令mkreiserfs在demoLV31上創建reiserfs分區:
  [root@mylinux]# mkreiserfs /dev/demoVG3/demoLV31 

<4>使用命令mkjfs在在demoLV31上創建jfs分區:
  [root@mylinux]# mkfs.jfs /dev/demoVG3/demoLV31 

5).掛接文件系統
先建立四個目錄:
 [root@mylinux]# mkdir /mnt/mnt_lv11 /mnt/mnt_lv12 /mnt/mnt_jfs /mnt/mnt_reiserfs
掛接命令:
<1>mkfs掛接:
 [root@mylinux]# mount -t ext3 /dev/demoVG3/demoLV31 /mnt/mnt_lv11

<2>mkfs.ext3掛接:
 [root@mylinux]# mount /dev/demoVG3/demoLV31 /mnt/mnt_lv12

<3>mkjfs掛接:
 [root@mylinux]# mount -t jfs /dev/demoVG3/demoLV31 /mnt/mnt_jfs

<4>mkreiserfs掛接:
 [root@mylinux]# mount -t reiserfs /dev/demoVG3/demoLV31 /mnt/mnt_reiserfs

6).使用
 ***略***
7).LVM相關命令
<1>lvmdiskscan:檢測硬盤和分區中的邏輯巻管理信息
<2>lvmsadc:收集邏輯巻的讀寫統計信息
<3>lvmsar:查看LVM的日誌文件信息
<4>lvmchange:復位LVM組件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章