LVM(邏輯盤卷管理)

     【一】LVM原理:

    LVM是邏輯盤卷管理(LogicalVolumeManager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。通過LVM系統管理員可以輕鬆管理磁盤分區,如:將若干個磁盤分區連接爲一個整塊卷組(volumegroup),形成一個存儲池。管理員可以在卷組上隨意創建邏輯卷組(logicalvolumes) ,並進一步在邏輯卷組上創建文件系統。管理員通過LVM可以方便的調整存儲卷組的大小,並且可以對磁盤存儲按照組的方式進行命名,管理和分配,例如按照使用用途進行定義: “開發”和“銷售”,而不是使用物理磁盤名“sda”和“sdb”。而且當系統添加了新的磁盤,通過LVM管理員就不必將磁盤的文件移動到新的磁盤上以充分利用新的存儲空間,而是直接擴展文件系統跨越磁盤即可。

     *物理存儲介質(PhysicalStorageMedia)
           指系統的物理存儲設備:磁盤,如:的/ dev / HDA,/ dev / sda上等,是存儲系統最底層的存儲單元
     *物理卷(物理卷,PV)
          指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區,磁盤等)比較,卻包含有與LVM相關的管理參數。 * 
     卷組(卷組,VG)
           類似於非LVM系統中的物理磁盤,其由一個或多個物理卷PV組成。可以在卷組上創建一個或多個LV(邏輯卷)。 * 
     邏輯卷(邏輯卷,LV)
           類似於非LVM系統中的磁盤分區,邏輯卷建立在卷組VG之上。在邏輯卷LV之上可以建立文件系統(比如/ home或者/ usr等)。
     *物理塊物理範圍,PE)
          每個物理卷PV被劃分爲稱爲PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元.PE的大小是可配置的,默認爲4MB。所以物理卷(PV)由大小等同的基本單元PE組成。
     *邏輯塊(Logical Extent,LE)LVM抽象模型
        邏輯卷LV也被劃分爲可被尋址的基本單位,稱爲LE。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。

  【二】LVM參數:

 (1)【PV階段參數】

       pvchange更改物理卷的屬性。
       pvck用來檢測物理卷的LVM元數據的一致性。默認情況下,物理卷中的前4個扇區保存着LVM卷標。
       pvcreate用於將物理硬盤分區初始化爲物理卷,以便LVM使用
       pvdisplay用於顯示物理卷的屬性-s以短格式輸出-m:顯示PE到LE的映射。
       pvmove移動物理區域。
       pvremove刪除一個物理卷。
       pvresize調整LVM2使用的磁盤或分區的大小。
       pvs報告關於物理卷的信息。
       pvscan掃描所有磁盤的物理卷。(2)【VG階段參數】
 
       vgcfgbackup備份卷組描述符區域。
       vgcfgrestore還原卷組描述符區域。

       vgchange vgchange命令用於修改卷組的屬性,經常被用來設置卷組是處於活動狀態或非活動狀態。處於活動狀態的卷組無法被刪除,必須使用vgchange命令將卷組設置爲非活動狀態後才能刪除;

       例如:執行vgchange -ay VG1#將卷組“VG1”設置爲活動狀態(-an  設置爲活動狀態

       vgck檢查卷組元數據。
       vgconvert轉換卷組元數據格式。
      vgcreate用於創建LVM卷組。-l:卷組允許創建的最大邏輯卷數; -p:卷組中允許添加的最大物理卷數; -s:卷組上的物理卷的PE大小。 :vgcreate -s 16M vg1 / dev / sdb1
       vgdisplay顯示卷組的屬性。
       vgexport使卷組對系統未知。
       vgextend向卷組中添加物理卷(PV)來增加捲組(VG)的容量。
       vgimport使導出的卷組對系統已知。
       vgimportclone導入並重命名重複的卷組(例如硬件快照)。
       vgmerge合併兩個卷組。
       vgmknodes重新創建卷組目錄和邏輯卷特殊文件
       vgreduce刪除LVM卷組中的物理捲來來減少卷組容量。不能刪除LVM卷組中的剩餘的最後一個物理卷。
      vgremove       用於用戶刪除LVM卷組。當前刪除的卷組已經創建了邏輯卷時,vgremove命令需要進行確認刪除,防止誤刪除數據

       。vgrename重命名卷組例如:vgrename vg vg1把vg的名字改爲爲vg1
       vgs                  報告關於卷組的信息。
      vgscan            掃描卷組的所有磁盤並重建緩存。
       vgsplit將卷組拆分爲兩個,通過移動整個
                           物理卷將任何邏輯卷從一個卷組移動到另一個卷組

  (3)【LV階段參數】

       lvchange更改邏輯卷的屬性。

       lvconvert將邏輯卷從線性轉換爲鏡像或快照。

       lvcreate用於創建LVM的邏輯卷。-L:指定邏輯卷的大小,單位爲“kKmMgGtT”字節; -l:指定邏輯卷的大小(PE數)。 

                              lvceate [-L l] [-n LV名稱] VG名稱 

       lvdisplay顯示邏輯卷的屬性。

       lvextend在線擴展邏輯卷的空間大

       lvreduce用於減少LVM邏輯卷佔用的空間大小。收縮邏輯卷的空間大小有可能會刪除邏輯捲上已有的數據 -L:指定邏輯卷的大小,單位爲“kKmMgGtT”字節; -l:指定邏輯卷的大小(PE數)。

       lvmchange更改邏輯卷管理器的屬性。
       lvmconfig加載
       lvmdiskscan 後顯示配置信息     掃描LVM2可見的所有設備。
       lvmdump創建lvm2信息轉儲用於診斷目的。
       lvremove刪除一個LV 
       lvrename改LV名。
       lvresize對LV進行容量大小的調整。lvs

       報告關於邏輯卷的信息。
       lvscan掃描(所有磁盤)邏輯卷。
-------------------------------------------------- -------------------------------------------------- ------------------------- 

 【三】創建PV,VG,LV

    fdisk -l
    #fdisk /dev/sda(..sdb..sdc..sdd)----- p --- n --- t --- 8e --- p --- w ---(設置硬盤的Linux LVM 8e )
     / dev / sdb1 2048 2099199 1048576 8e Linux LVM
     / dev / sdb2 2099200 4196351 1048576 8e Linux LVM
     / dev / sdb3 4196352 6293503 1048576 8e Linux LVM
     / dev / sdb4 6293504 10485759 2096128    8e  Linux LVM
   (1)創建PV:
     [root @ localhost]#pvcreate / dev / sdb1 //可以dev / sdb {1,2,3,4}     物理卷“/ dev / sdb1”已成功創建。
     [root @ localhost]#pvscan //查看PV信息     PV / dev / sda2 VG cl lvm2 [39.00 GiB / 0免費]     PV / dev / sdb1 lvm2 [1.00 GiB]
    [root @ localhost]#pvdisplay#查看PV詳細信息     ---體積---     PV名稱/ dev / sda2     VG名稱cl     PV尺寸39.00 GiB /不可用3.00 MiB     Allocatable是(但是已滿)     PE尺寸4.00 MiB     總計PE 9983     免費PE 0     分配PE 9983     PV UUID YWKAcK-TqHD-94kq-lzVi-8a2g-s188-dmtO2a        “/ dev / sdb1”是一個新的物理卷“1.00 GiB”      ---新體積---      PV名稱/ dev / sdb1      VG名稱                     PV大小1.00 GiB      可分配的NO      PE大小0         總體PE 0      免費PE 0      分配PE 0       PV UUID NXJ7oB-BXpm-7FPx-2utQ-8qrA-z5Q5-99UlSw
   [root @ localhost]#pvremove / dev / sdb3#刪除PV   物理卷“/ dev / sdb3”上的標籤已成功擦除。
-------------------------------------------------- ------------------------------------------
   (2)創建VG
       (1)vgcreate -s 8M v_vg / dev / sdb1 ##新建一個v_vg VG指定一個PE爲8M(默認4M)
       [root @ localhost]#pvdisplay
        - 體積---        PV名稱/ dev / sdb1        VG名稱v_vg        PV大小1.00 GiB /不可用8.00 MiB        Allocatable yes#是否已分配        PE尺寸8.00 MiB#PE 8M         總計127        免費PE 127#沒有被LV用掉的PE        分配PE 0#尚可分配出去的PE數量         PV UUID NXJ7oB-BXpm-7FPx-2utQ-8qrA-z5Q5-99UlSw
     [root @ localhost]#vgdisplay#查看VG的信息
       ---卷組---     VG名稱v_vg     系統ID                  格式lvm2     元數據領域1     元數據序列號1     VG訪問讀/寫     VG狀態可調整大小     MAX LV 0     Cur LV 0     打開LV 0     最大PV 0     Cur PV 1     法PV 1     VG尺寸1016.00 MiB     PE尺寸8.00 MiB     總計127     Alloc PE / Size 0/0        免費PE /尺寸127 / 1016.00 MiB     VG UUID JbTWno-2lf1-KZjJ-PbA1-0e4w-QH16-BE6VvX
    [root @ localhost] #vgextend v_vg / dev / sdb2#把PV加入VG中
    ---卷組---     VG名稱v_vg     系統ID                  格式lvm2     元數據領域2     元數據序列號2     VG訪問讀/寫     VG狀態可調整大小     MAX LV 0     Cur LV 0     打開LV 0     最大PV 0     Cur PV 2     法PV 2     VG尺寸1.98 GiB#整體VG容量的大小     PE尺寸8.00 MiB         總PE 254          Alloc PE / Size 0/0#分配出去的PE數量     免費PE /尺寸254 / 1.98 GiB#沒有分配出去的PE數量     VG UUID JbTWno-2lf1-KZjJ-PbA1-0e4w-QH16-BE6VvX
-------------------------------------------------- -------------------------------------
 (2)創建LV        lvcreate -L + 1G -n v_home v_vg
        
      格式化文件系統和掛載:mkfs.ext4 / dev / v_vg / v_home mount / dev / v_vg / v_home / mnt
      備註:設備是放在的/ dev /映射器/目錄下
【四】,放大LV容量和縮小LV容量
        lvresize -L + 400M / dev / v_vg / v_home#給添加400M
        LV已經擴展到400M,但是文件沒有相對的增加。
        dumpe2fs / dev / v_vg / v_home
        resize2fs / dev / v_vg / v_home ##完整的進行LV容量擴充到整個文件系統中。
       
      縮小LV容量:
        先卸載卸除
        e2fsck -f / dev / v_vg / v_home#進行磁盤檢查
        resize2fs / dev / v_vg / v_home 2G調整LV大小並重建文件系統
        lvresize -L -400M / dev / v_vg / v_home減小LV容量
     
   說明:在xfs文件系統中,只能增大分區而不能減小。resize2fs 
         命令針對的是ext2,ext3,ext4文件系統
         xfs_growfs命令針對的是xfs文件系統
          xfs_repair進行修復
     
      備註:1)ext2 / ext3 / ext4文件系統的調整命令是resize2fs(增大和減小都支持)centos6圖形界面:system-config-lvm
             lvextend -L 120G / dev / v_vg / v_home     //增至        至120G 
            lvextend -L + 20G / dev / v_vg / v_home             //增加20G
            lvreduce -L 50G / dev / v_vg / h_home //減小至50G
            lvreduce -L -8G / dev / v_vg / v_home //減小8G
            resize2fs / dev / v_vg / v_home //執行調整

           2)xfs文件系統的調整命令是xfs_growfs(只支持增大)
            lvextend -L 120G / dev / v_vg / h_home         //增大至120G
            lvextend -L + 20G / dev / v_vg / h_home         //增加20G
            xfs_growfs / dev / v_vg / h_home             //執行調整
            則是有進程佔用/ home,使用如下命令來終止佔用進程:fuser -m -k / home

      xfs文件系統只支持增大分區空間的情況,不支持減小的情況(切記!!!!!)。硬要減小的話,只能在減小後將邏輯分區重新通過mkfs.xfs命令重新格式化才能掛載上,這樣的話這個邏輯分區上1)查看分區空間。如下可知是XFS文件系統(DF的-T參數就能看出文件格式)
2)使用vgdisplay命令查看系統上的空閒空間


xfs:

xfs相關常用命令
ffs_admin:調整xfs文件系統的各種參數 
xfs_copy:拷貝xfs文件系統的內容到一個或多個目標系統(並行方式) 
xfs_db:調試或檢測xfs文件系統(查看文件系統碎片等) 
xfs_check:檢測xfs文件系統的完整性 
xfs_bmap:查看一個文件的塊映射 
xfs_repair:嘗試修復受損的xfs文件系統 
xfs_fsr:碎片整理 
xfs_quota:管理xfs文件系統的磁盤配額 
xfs_metadump:將xfs文件系統的元數據元數據)拷貝到一個文件中 
xfs_mdrestore:從一個文件中將元數據(元數據)恢復到xfs文件系統 
xfs_growfs:調整一個xfs文件系統大小(只能擴展) 
xfs_freeze暫停(-f)和恢復(-u)xfs文件系統
xfs_logprint:打印xfs文件系統的日誌 
xfs_mkfile:創建xfs文件系統 
xfs_info:查詢文件系統詳細信息 
xfs_ncheck:從XFS生成i-numbers的路徑名 
xfs_rtcp:XFS實時拷貝命令 
xfs_io:調試xfs I / O路徑  
          


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