邏輯卷

 邏輯卷:

 一、基礎知識

    lvm:(Logical  Volume  Manager) ,邏輯卷管理器。

    邏輯卷管理器解決的主要問題如下:

        解決分區空間不夠用或者分區空間綽綽有餘的情況。

    基本磁盤分區的邊界是不能隨意擴展的。分區大小是在剛剛劃分分區的時候就決定了。

 

邏輯卷的工作原理:邏輯卷(lv)是將幾個磁盤分區或者塊設備(pvpvid必須是8e的,pv可以位於不同的磁盤分區裏,pv大小可以不一)組織起來形成一個大的擴展分區(vg,卷組,一個vg至少要包含一個pv。),該擴展分區不能直接用,需要將其劃分成邏輯卷(lv)才能使用,lv可以格式化成不同的文件系統,掛載後直接使用。 lv的擴展和縮減是不會影響原有數據的,但邏輯捲縮減的風險大於邏輯卷擴展的風險。邏輯卷可以支持快照功能。

 

快照的工作原理:保存數據某一時刻的狀態。快照剛剛建立的時候,它的大小是空的。快照是訪問原文件的另一條路徑。快照是在數據改變之前將數據原封不動的保存到快照空間裏面。注意數據變化的幅度不能超過給定快照空間的大小,否則快照將崩潰。

快照的作用:對某一時刻數據狀態的備份提供另一條訪問路徑,通過快照來備份數據到其它位置,備份完成後,快照就沒用了,卸載和移除該快照卷。快照空間的大小取決於數據改變的頻度和所需要使用的時間長度,即有限的時間內原文件數據改變的空間大小。

 

 

通過下面這些命令創建、查看和縮減 、移除LV的各層。

PV:   pvcreate  pvremove  pvmove   pvscan    pvdisplay  pvs

VG:   vgcreate  vgdisplay  vgextend  vgreduce   vgs      vgscan  vgremove

LV:   lvcreate  lvdisplay  lvremove  lvreduce   lvextend   lvs

 

pv是可以針對任何物理塊設備創建的。

 

舉例說明vg的創建:

創建一個10G大小的vg

    步驟:1、先創建一個邏輯分區100G

          2、在該邏輯分區下創建2pv,大小分別是8G2G

                  pvcreate  /dev/sda{5,6}

          3、通過pvs進行查看;通過pvdisplay查看詳細信息。

          4、創建卷組。此時要先進行卷組名查看,用vgs,卷組名不能重複。

          5、通過vgcreate命令創建vg

                  vgcreate  VGNAME  PVNAME

          6、當看到Volume group "myvg" successfully created證明vg創建成功。通過vgsvgdisplay進行查看。

          7、當不想用哪個vg的時候,可以通過vgremove VGNAME刪除某個vg;當然也可以通過vgremove  -f  VGNAME 強行刪除某個vg。當看到反饋信息是 Volume group "myvg" successfully removed時,說明vg刪除成功,可以通過vgsvgdisplay進行查看。

    說明: 1)額外命令:vgcreate  -s  #(KMGT)  VGNAME PVNAME :指定PE的大小。

           2PElv 層次上的類似於chunk 的空間塊。

           3)當感覺到所用的vg大小不夠的時候,可以通過命令vgextend來擴展vg

                vgextend  VGNAME PVNAME(可以通過命令vgextend  -t   VGNAME  PVNAME  來測試是否可以擴展該vg)

           4)當感覺不需要vg空間過大,也可以通過vgreduce來縮減vg的大小,此時務必要小心,否則會導致數據丟失等嚴重後果。所有要事先查看vgpv的大小,通過命令pvmove PVNAME將某個即將挪走的pv但數據保存到vg的其它pv裏面,然後進行縮減。

                  vgreduce  VGNAME PVNAME(可以事先通過vgreduce  -t  VGNAME PVNAME 來測試是否可以移除某個pv 來縮減vg 的大小。)

 

 

 

lv的創建命令:lvcreate  [operator]  VGNAME/PVNAMES

                  -l :指定LE(也即PE)的個數。

                  -L:指定LE的大小,單位KMGT

                  -n:指定LV的名字。

                  -p  r|rw :該lv是隻讀的或者是可讀寫的,在創建快照的時候會用到。

  當創建成功的時候顯示: Logical volume "mylv" created。可以通過lvs或者lvdisplay進行查看。

注意:LV的路徑格式爲:/dev/VGNAME/LVNAME

  當LV創建成功的時候,就可以格式化文件系統,掛載使用了。其掛載路徑特別:/dev/mapper/VGNAMELVNAME 。mapper叫路徑映射,用它來實現多路徑。

 擴展LV時,先擴展物理邊界,再擴展邏輯邊界。使用lvextend命令擴展物理邊界,使用resize2fs擴展邏輯邊界。注意:擴展大小不能超過VG的大小。

      格式:lvextend  -L  #KMGT(+#KMGT)  LVPATH(注意此時只擴展了物理邊界。)

            resize2fs  LVPATH(自動擴展跟物理邊界一樣大。)

 當我們感覺所創建的LV過大時,可以縮減LV的大小。縮減LV時,先縮減邏輯邊界,再縮減物理邊界。使用lvreduce命令縮減LV大小。

      縮減LV的步驟:

           1、先卸載LVumount  LV  

           2、再強行檢測該LVe2fsck  -f

           3、然後邏輯上縮減LVresize2fs  LVPATH  #KMGT(此時要指定縮減到多大或縮減了多少)

           4、而後物理縮減LVlvreduce  -L  #KMGT  LVPATH(此時會提示是否真的要進行縮減)

           5、最後掛載此LV: mount  LBPATH  MOUNT_POINT。 

 

 

LV快照的創建:使用命令lvcreate  [operator]  LVPATH

                    -L   指定快照的大小;

                    -s   說明創建的是一個快照;

                    -p  r設置爲只讀; 

                    -n   指定快照的名字;

移除LV:使用lvremove命令。格式:lvremove  LVPATH

 

二、擴展知識:

        一個正在發生改變的數據是可以被複制的,但複製後的數據時不可用的,因爲進程是不能識別處在非同一狀態的數據的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章