LVM2詳解

1、什么是lvm

LVM是邏輯卷管理(Logical Volume Manager)的簡稱,它是建立在物理存儲設備之上的一個抽象層,允許你生成邏輯存儲卷,與直接使用物理存儲在管理上相比,提供了更好靈活性。
LVM將存儲虛擬化,使用邏輯卷,你不會受限于物理磁盤的大小,另外,與硬件相關的存儲設置被其隱藏,你可以不用停止應用或卸載文件系統來調整卷大小或數據遷移.這樣可以減少操作成本。

圖片.png

2、lvm的基本概念

* 物理存儲介質(The Physical Media)
這里指系統的存儲設備,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。

* 物理卷(PV, Physical Volume)
物理卷就是指磁盤,磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。當前LVM允許你在每個物理卷上保存這個物理卷的0至2份元數據拷貝.默認為1,保存在設備的開始處.為2時,在設備結束處保存第二份備份.

* 卷組(VG, Volume Group)
LVM卷組類似于非LVM系統中的物理硬盤,其由物理卷組成??梢栽诰斫M上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。

* 邏輯卷(LV, Logical Volume)
LVM的邏輯卷類似于非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。

*線性邏輯卷 (Linear Volumes)
一個線性邏輯卷聚合多個物理卷成為一個邏輯卷.比如,如果你有兩個60GB硬盤,你可以生成120GB的邏輯卷.

*條塊化的邏輯卷(Striped Logical Volumes)
當你寫數據到此邏輯卷中時,文件系統可以將數據放置到多個物理卷中.對于大量連接讀寫操作,它能改善數據I/O效率.

*鏡像的邏輯卷(Mirrored Logical Volumes)
鏡像在不同的設備上保存一致的數據.數據同時被寫入原設備及鏡像設備.它提供設備之間的容錯。

*快照卷(Snapshot Volumes)
快照卷提供在特定瞬間的一個設備虛擬映像,當快照開始時,它復制一份對當前數據區域的改變,由于它優先執行這些改變,所以它可以重構當前設備的狀態。

* PE(physical extent)
每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。

* LE(logical extent)
邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。

和非LVM系統將包含分區信息的元數據保存在位于分區的起始位置的分區表中一樣,邏輯卷以及卷組相關的元數據也是保存在位于物理卷起始處的VGDA(卷組描述符區域)中。VGDA包括以下內容:
PV描述符、VG描述符、LV描述符、和一些PE描述符
。系統啟動LVM時激活VG,并將VGDA加載至內存,來識別LV的實際物理存儲位置。當系統進行I/O操作時,就會根據VGDA建立的映射機制來訪問實際的物理位置。

3、邏輯卷的使用

1、創建物理卷

pvcreate /dev/sdb

Physical volume "/dev/sdb" successfully created

可以通過lvmdiskscan來查看那些設備被做成了物理卷

2、顯示物理卷:pvscan  pvs pvdisplay

   #pvs
     PV         VG         Fmt  Attr PSize   PFree  
     /dev/sda2  VolGroup00 lvm2 a-     3.88G      0
     /dev/sdb   lvm_test   lvm2 a-   508.00M      0
     /dev/sdc              lvm2 —   512.00M 512.00M
   #pvscan
     PV /dev/sdb    VG lvm_test     lvm2 [508.00 MB / 0    free]
     PV /dev/sda2   VG VolGroup00   lvm2 [3.88 GB / 0    free]
     PV /dev/sdc                    lvm2 [512.00 MB]
     Total: 3 [4.87 GB] / in use: 2 [4.37 GB] / in no VG: 1 [512.00 MB]
   #pvdisplay
     — Physical volume —
     PV Name               /dev/sdb
     VG Name               lvm_test
     PV Size               512.00 MB / not usable 4.00 MB
     Allocatable           yes (but full)
     PE Size (KByte)       40Array6
     Total PE              127
     Free PE               0
     Allocated PE          127
     PV UUID               Pkp5Cq-SD1w-ANw2-cDDe-BGtw-nmFS-jTxXFD

     — NEW Physical volume —
     PV Name               /dev/sdc
     VG Name               
     PV Size               512.00 MB
     Allocatable           NO
     PE Size (KByte)       0
     Total PE              0
     Free PE               0
     Allocated PE          0

     PV UUID               BNCVEE-YWlK-0mrV-LOcf-0tCY-WWNw-DeySk0

3、移除物理卷

#pvremove /dev/sdc
   Labels on physical volume "/dev/sdc" successfully wiped

4、創建卷組

# vgcreate lvm_test /dev/sdc1 /dev/sdb
   Volume group "lvm_test" successfully created

vgcreate命令第一個參數是指定該卷組的邏輯名:lvm_test。后面參數是指定希望添加到該卷組的所有分區和磁盤。vgcreate在創建卷組
lvm_test 以外,還設置使用大小為4 MB的PE(默認為4MB),這表示卷組上創建的所有邏輯卷都以 4 MB
為增量單位來進行擴充或縮減。PE最小為1KB  ,并且必須總是1KB的 2^n 的倍數(使用-s指定,具體請參考man vgcreate)。

5、添加新的物理卷到卷組中

pvcreate /dev/sdc

vgextend lvm_test /dev/sdc

6、顯示卷組:vgs  vgdisplay

# vgs
     VG         #PV #LV #SN Attr   VSize   VFree
     VolGroup00   1   2   0 wz–n-   3.88G    0
     lvm_test     1   1   0 wz–n- 508.00M    0
   
   # vgdisplay
     — Volume group —
     VG Name               lvm_test
     System ID            
     Format                lvm2
     Metadata Areas        1
     Metadata Sequence No  10
     VG Access             read/write
     VG Status             resizable
     MAX LV                0
     Cur LV                1
     Open LV               1
     Max PV                0
     Cur PV                1
     Act PV                1
     VG Size               508.00 MB
     PE Size               4.00 MB
     Total PE              127
     Alloc PE / Size       127 / 508.00 MB
     Free  PE / Size       0 / 0   
     VG UUID               uJx24t-WWdY-vffu-Array7Of-mgFB-FEov-eRwzAf

7、從卷組中去除物理卷

vgreduce lvm_test /dev/sdc

8、創建邏輯卷

lvcreate -L 150M -n test lvm_test

如果需要創建使用全部卷組的邏輯卷,可以使用指定pe塊的方式

vgdisplay lvm_test | grep "Total PE"

Total PE 4731

lvcreate -l 4731 -n test lvm_test  (默認一個PE為4k,總容量為4731x4k)

9、創建條塊化邏輯卷

lvcreate -L 500M -i 2  -n test lvm_test  

-i 2指此邏輯卷在兩個物理卷中條塊化存放數據,默認一塊大小為64KB

10、創建鏡像卷

#lvcreate -L 52M  -m 1  -n test lvm_test /dev/sdb1 /dev/sdc1 /dev/sdb2
     Logical volume "test" created
   -m 1表示只生成一個單一鏡像,鏡像分別放在/dev/sdb1和/dev/sdc1上,鏡像日志放在/dev/sdb2上.

11、創建快照卷

#lvcreate -L 10M -s -p r -n snaptest /dev/lvm_test/test

12、刪除邏輯卷

#lvremove /dev/lvm_test/test

13、擴展邏輯卷

lvextend -L +1G /dev/lvm_test/test

上面的命令實現了邏輯卷的擴展,接下來要實現文件系統的擴展,可以使用resize2fs

fsck /dev/lvm_test/test

resize2fs /dev/lvm_test/test

resize是針對ext2系統實現文件系統縮減,如果centos7的xfs的文件系統,可以使用xfs_growfs

xfs_growfs和resize2fs的不同點是resize2fs采用邏輯卷名稱,xfs_growfs采用掛載點。

14、縮減邏輯卷

fsck /dev/lvm_test/test

resize2fs /dev/lvm_test/test 11G

lvreduce -L 11G /dev/lvm_test/test

resize2fs /dev/lvm_test/test  (通過此命令確認是否文件系統大小與收縮后的邏輯卷大小匹配)

縮減有風險,操作需謹慎。

原創文章,作者:N25_隨心,如若轉載,請注明出處:http://www.www58058.com/65558

(4)
N25_隨心N25_隨心
上一篇 2017-01-03 10:39
下一篇 2017-01-03 11:05

相關推薦

  • Linux-文件系統初識

    Linux文件系統

    2018-03-14
  • 自定義命令別名及引用結果

    自定義命令別名及引用結果 alias alias命令用來設置指令的別名。我們可以使用該命令可以將一些較長的命令進行簡化。 語法 alias(選項)(參數) 選項 -p:打印已經設置的命令別名。 參數 命令別名設置:定義命令別名,格式為“命令別名=‘實際命令’” 實例 顯示已設置的別名 [root@localhost ~]# alias alias cp=’c…

    Linux干貨 2018-03-11
  • Nginx的安裝及其一些配置

    nginx的編譯安裝 ? ?tar xf nginx-1.12.2.tar.gz ? cd nginx-1.12.2 ? ? yum install pcre-devel ?./configure –help ? groupadd -r nginx ? ? useradd -g nginx -r nginx ? ?id nginx ? ? ./c…

    Linux干貨 2017-10-25
  • http狀態碼大全

    狀態值:100 客戶端應當繼續發送請求。這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕??蛻舳藨斃^續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應。服務器必須在請求完成后向客戶端發送一個最終響應。 狀態值:101 服務器已經理解了客戶端的請求,并將通過Upgrade 消息頭通知客戶端采用不同的協議來完成這個請求。在發送完這個…

    Linux干貨 2016-11-01
  • 第三周作業

    1、列出當前系統上所有已登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 ~]# who | cut -d ' ' -f 1 | sort -u 2、取出最后登錄到當前系統的用戶的相關信息。 ~]# la…

    Linux干貨 2016-12-19
  • grep與正則表達式

    grep與正則表達式 grep與正則表達式 grep 正則表達式 grep 使用語法:grep [-abcEFGhHilLnqrsvVwxy][-C<顯示列數>][-e<范本樣式>][-f<范本文件>][范本樣式][文件或目錄…]  功能說明:查找指定文件或標準輸入里符合條件的字符串 常用選項 -a…

    Linux干貨 2016-11-05

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-15 01:51

    贊~總結的很詳細,也給出了相應的提示~繼續加油!

欧美性久久久久