關於實現磁盤靈活性管理LVM中的PV,PE,VG,LV知識總結


LVM發展的需要


    當你在使用linux系統時,爲了滿足當時的工作需要你裝了一個100G的磁盤,但是你發現隨着公司的發展,和需要儲存數據的空間的增大,你會不會重新買些磁盤給裝到機器上去呢?每裝一次重新分配一次磁盤,就複製一次數據,那這樣對於工作的你,是不是非常的麻煩?如果我們用LVM就能解決這類的磁盤管理問題。


LVM簡介


    LVM(logical volume manager)直白的翻譯就是:邏輯滾動條管理員,也就是指邏輯卷管理。它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。LVM是在磁盤分區與文件系統之間增加的一層邏輯層,LVM能讓下層的各個磁盤分區被文件系統看做爲一個整體的大磁盤,供文件系統使用。

    LVM的主要內容有以下幾個方面的知識,

            PV (Physical Volume)實體滾動條

                    PV 是LVM最基本的物理組成部分,利用fdisk命令把實際的partition轉化成8e的系統格式,然後利用指令pvcreate把partition變成能夠利用的physical volume。

            PE  (Physical Extend)實體延伸區塊

                    PE是LVM最小的存儲單位,一般爲4MB大小,它是構成VG的基本單位,PE對於VG來說就如block對於分區來講,它是存儲數據的單元。而pe的大小並不是固定的,而是可以變化的,所以pe決定了LVM的靈活性,即能擴增,也能縮減。

            VG  (Volume Group)滾動條羣組

                    VG,說的簡單些就如我們使用的磁盤,是可以進行分區的,對於LVM上面的文件系統而言,VG就是一個大磁盤。文件系統時看不到LVM下面的組成部分的,它只管使用,而LVM則負責管理下面的組成儲存塊。

            LV   (Logical Volume)邏輯滾動條

                    LV就是VG切成的類似於分區的東西啦,我們可以用格式化,掛載使用啦,但是LV是VG切割成的,而VG又是有數量衆多的PE組成,所以LV的大小取決於LV所包含的PE的數量的多少。(圖片出自鳥哥私房菜(3版)wKioL1PH41Th5TRSAACCMbNZ2dM319.jpg


LVM具體的工作機制如下圖(圖用word畫的有點粗糙)


wKioL1PH53LzTkf7AAGL6wMjGwo827.jpg

如上圖:從基層開始,把partition,轉化爲上層的PV,利用PV集合成VG,再把VG分隔成LV,最終掛載與使用。

  其中的過程:    

            第一步:利用fdisk創建分區的系統格式,如:

        wKioL1PH7UXR8qp1AAGDR5_XFTo307.jpg


(我們可以看到後面的system是linux,這是不能用做LVM的,需要轉化爲8e Linux LVM格式,如hda6,7,8)




            第二步,利用pvcreate /dev/hda{6,7,8,9},這就成功創建成PV啦

        wKioL1PH7SaQiVFrAADrU6VMpqo258.jpg


            第三步,利用PV創建VG,且指定PE大小爲16MB,並且用vgscan查看創建結果。

        wKiom1PH7PyS1bC1AABiFO4HWNE650.jpg


        wKiom1PH7X-BKnvLAACl2scma9Q318.jpg

            第四步,就剩下分隔VG成爲LV啦,關於LV這塊有以下命令需要用到,

           如:lvcreate lvscan lvdisplay等。

LVM的突出特點就是可擴大容量和縮減容量,這就決定了LVM的靈活性管理。


擴大邏輯卷的容量命令爲:lvextend ,

        我們創建一個 /dev/hda10,然後把hda10擴展到已經創建的邏輯捲上。

            wKioL1PH8T6yNiA_AABW-5e1FzM272.jpg

        相反,減少容量就用到  lvresize -  。


   整個LVM操作中用到的一些命令如下:

           創建分區時,fdisk, 設置8e 系統格式,

           然後讓內核重讀新創建的partitiong,kpartx -af device

                              partx -a

           創建PV時,pvcreate , pvscan ,pvdisplay

           創建VG時,vgcreate, vgscan, vgdisplay

           LV階段時,lvcreate, lvscan lvdisplay lvextend lvreduce lvremove 

           最後要給邏輯卷創建一個FileSystem,mkfs 

           掛載時,要用到命令mount,unmount

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