linux pvm邏輯卷的實現

 

    LVM是在磁盤分區和文件系統之間添加的一個邏輯層,來爲文件系統屏蔽下層磁盤分區佈局,提供一個抽象的盤卷,在盤捲上建         立文件系統。首先我們討論以下幾個LVM術語:
*物理存儲介質(
*物理卷(physical volume,PV)
物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
*卷組(Volume Group,VG)
LVM卷組類似於非LVM系統中的物理硬盤,其由物理卷組成。可以在卷組上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
*邏輯卷(logical volume,LV)
LVM的邏輯卷類似於非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。
*PE(physical extent,PE)
每一個物理卷被劃分爲稱爲PE(PhysicalExtents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認爲4MB。
好了,上面幾個術語是比較重要的,如果還不清楚,可以先谷歌或者百度一下。
1 創建pv  
     比如我要創建sdb這塊硬盤和sdc1這個硬盤的地一個分區:pvcreate /dev/sdb /dev/sdc1  
     假設sdb和sdc1都是10g。
     要注意,如果創建整個硬盤爲pv的話,那麼這個硬盤必須沒有分區,要不然不會成功,會提示: Device /dev/sdb not found (or ignored by filtering).這個要注意。
     查看pv的命令:詳細pv信息:pvdisplay  簡略pv信息:pvs
2 創建vg
      vgcreate newvg /dev/sdb /dev/sdc1
      這個newvg爲你創建vg的名字,此時就會在/dev/下有一個newvg的目錄,/dev/newvg
      查看vg的命令:詳細vg信息:vgdisplay  簡略vg信息:vgs
3 創建lv
      lvcreate -n newlv -L 5G newvg

      記得這個vg不要加路徑,否則會提示:

      Volume group name expected (no slash)

      Run `lvcreate --help' for more information.

     n後接lv的名字 L後接要創建lv的大小

      這時就會在這個newvg目錄下創建了一個newlv文件
      查看lv命令: 詳細lv信息:lvdisplay 簡略lv信息:lvs
      此時你用lvs就可以看到你的lv信息了,但還不能使用,要格式化後纔可以
4 使用lv
      mkfs.ext4 /dev/newvg/newlv
      掛載並使用
      mount /dev/newvg/newlv /mnt
5 擴大lv
      擴大lv的操作可以在線進行,意思就是可以不用卸載這個lv設備就可以動態擴充lv大小
      lvextend -L +3G /dev/newvg/newlv
      要注意,L參數後加要擴充的大小,而且這個大小必須比你的vg剩餘空間要小,你可以先用vgs看一下你的vg剩餘空間是多少。
      此時,你用lvs查看已經看到newlv已經變爲8g了,但實際上你用df -h查看發現還是5g,因爲新加的文件系統並沒有被格式化,系統並不識別,所以還得加這樣一行命令
      resize2fs /dev/newvg/newlv,這個有可能提示讓你先運行e2fsck -f這個命令先檢查一下磁盤。
      好了,現在df -h查看你的newlv是不是已經變爲8g了呢!
6 擴大vg
      比如我現在想把/dev/sdc2 這個分區加到newvg裏來,假設這個分區爲20g,該怎麼實現呢?
      創建pv: pvcreate /dev/sdc2
      擴大vg: vgextend /dev/sdc2
      好了,vg已經擴容完畢了,執行vgs查看一下,發現newvg已經變爲40g了,但是空餘的空間只有32G,因爲之前的newpv已經佔        用了8g了
7 減小lv
      這個操作不常用,而且需要注意的一點是,這個操作必須離線進行,也就是說你要先卸載要操作的lv設備,不然數據會     丟失
      好了,先卸載:umount /dev/newvg/newlv
      然後再減小格式化的系統文件:reszie2fs /dev/newvg/newlv 5G  這個後面跟的是你要減小爲多大
      然後減小lv大小:lvreduce -L -3G /dev/newvg/newlv這個L後跟你要減小多少(注意和上面的區別),而且要注意的是,這個減       小後剩餘的空間絕對不能比上面resize2fs後剩餘的空間小,一般這個剩餘的空間會比上面resize後剩餘的空間大       1G作爲緩衝區,因爲有些系統換算單位不一樣,我這裏讓他們相等,不過做實驗的時候最好大1g比較好。
      查看lvs,並掛載: mount/dev/newvg/newlv /mnt
8 減小vg
      比如我現在要把sdc2這個分區拿出來,可以這麼做:

      vgreduce newvg /dev/sdc2

      發現了沒,對vg操作都不要加路徑!!!

      要注意的是:你要保證你當前的這個分區並沒有lv在使用,纔可以減小,否則會提示 
      Please enter physical volume paths or option -a Run `vgreduce --help' for more information.

9 取消pv 

      pvremove /dev/sdc2 這個沒什麼說的

最後要說的就是,lvm並不受操作系統限制,把這兩塊硬盤放到別的電腦上,照樣會有一個newlv的lv。lvm和操作系統無關。

 好了,今天lvm教程就講這麼多,明天來寫一下acl的權限機制      
發佈了19 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章