LVM詳解

1、LVM簡介
安全

    LVM(Logical Volume Manager,邏輯卷管理)的重點在於能夠動態調整文件系統的容量!而並不是在於數據的存儲效率及安全上面。須要文件的讀寫性能或者是數據的可靠性是RAID所考慮的問題。LVM能夠整合多個實體分區在一塊兒,讓這些分區看起來就像是一個磁盤同樣!並且,還能夠在將來新增或移除其它的實體分區到這個LVM管理的磁盤當中。如此一來,整個磁盤空間的使用上,實在是至關的具備彈性。
ide

2、LVM經常使用術語性能

    1.物理存儲介質(he physical mediaThe physical media):這裏指系統的存儲設備文件,如/dev/sda,/dev/sdb等等;測試

    2.物理卷(Physical Volume):簡稱PV,物理卷就是指硬盤分區或從邏輯上與磁盤分區具備一樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區,硬盤)比較,卻包含有與LVM相關的管理參數;spa

    3.卷組(Volume Group):簡稱VG,LVM卷組相似於非LVM系統中的物理硬盤,其由物理卷組成。能夠在卷組上建立一個或多個「LVM分區」(邏輯卷),LVM卷組有一個或多個物理卷組成
blog

    4.邏輯卷(Logical Volume):簡稱LV,LVM的邏輯卷相似於非LVM系統中的硬盤分區,在邏輯捲上能夠創建文件系統(如/home,/usr等);
rem

    5.PE(Physical Extent):PV中能夠分配的最小存儲單元稱爲PE,PE的大小是能夠配置的,默認爲4MB;
get

    6.LE(Logical Extent):LV中能夠分配的最小存儲單元稱爲LE,在同一個卷組中,LE的大小和PE是同樣的,且一一對應;
同步

                wKioL1m3WKvhVnKiAABp93fK9WU290.png-wh_50 

                                           圖1 LVM磁盤結構圖
it

3、建立邏輯卷

    1.例如:要建立一個10G的lv;

    2.注:邏輯卷能夠拿分區或者整塊硬盤作實驗;這裏我用/dev/sda7,/dev/sdb作實驗

    3.步驟:

        3.1.建立物理分區:

                ①fdisk /dev/sda;(劃分/dev/sda6分區,大小10G,修改分區類型爲Linux LVM,ID改成8e)

                ②partx -a /dev/sda;同步分區;

        3.2.建立物理卷(PV):

                ①pvcreate /dev/sd{a6,b};

                ②pvs;

                ③pvdisplay;

            與PV相關的一些管理命令:

                pvcreate:將實體分區建立成爲PV;

                pvs:顯示pv簡要信息;

                pvdisplay:顯示PV詳細信息;

                pvscan:搜尋目前系統裏面任何具備PV的磁碟;

                pvremove:將PV屬性移除,讓該分區不具備PV屬性;

                pvmove:移動pv

        3.3.建立卷組(VG):

                語法:vgcreate VGNAME(卷組名) /dev/pv1...(物理卷)

                ①vgcreate vg0 /dev/sd{a6,b};

                ②vgs;

                ③pvdisplay;

                ④vgdisplay;

            與VG相關的一些管理命令:

                vgcreate:建立VG;

                vgs:顯示vg簡要信息;

                vgdisplay:顯示vg詳細信息;

                vgscan:搜尋系統上面是否有VG存在;

                vgextend:在vg內添加額外的pv;    

                vgreduce:在vg內移除pv;

                vgremove:刪除一個VG;

                vgchange:配置vg是否啓動(active);

        3.4.建立邏輯卷(LV):

                語法:lvcreate [-L 邏輯卷大小 | -l PE的個數] [-n 邏輯卷名稱] [所屬的卷組名]

                ①lvcreate -L 10G -n lv0 vg0;

                ②lvdisplay;

            與LV相關的一些管理命令:

                lvcreate:建立LV;

                lvs:顯示lv簡要信息;

                lvdisplay:顯示lv詳細信息;

                lvscan:查詢系統上面的lv;

                lvextend:在lv裏面添加容量;

                lvreduce:在lv裏面減小容量;

                lvremove:刪除一個lv;

                lvresize:對lv進行容量大小的調整   

        3.5.創建文件系統(格式化):

                ①mkfs.ext4 /dev/vg0/lv0;

        3.6.掛載邏輯卷(寫進/etc/fstab文件實現自動掛載):

                ①mkdir /mnt/ln0;

                ②/dev/vg0/lv0    mnt/lv0    ext4    defaults    0    0    

                ③mount -a;

                ④df- h

                ⑤cp -r /etc/* /mnt/lv0;

4、擴展邏輯卷    

    1.注:擴展邏輯卷,前提卷組要有足夠的容量;

    2.擴展邏輯卷步驟:

                ①lvextend -L +10G /dev/vg0/lv0;

                ②lvdisplay;

                ③resize2fs /dev/vg0/lv0;同步文件系統,resize2fs只能同步ext系列文件系統;

                ④df -h;

        注:擴展邏輯卷容量表示方法:+10G的含義是在已有的當前容量上加上10G;10G的含義是把容量擴展到10G;

    3.要想把卷組空間容量所有擴展完而且同步文件系統使用如下命令:

                ①lvextend  -r -l +100%FREE /dev/vg0/lv0;

                

5、擴展卷組

    1.方法:加硬盤;(這裏我用/dev/sdc硬盤作實驗)

    2.擴展卷組步驟:

                ①pvcreate /dev/sdc;##把硬盤變成物理卷

                ②vgextend vg0 /dev/sdc;##把物理卷加入卷組

                ③vgdisplay;

6、縮減邏輯卷

    1.縮減邏輯卷步驟:

                ①umount /mnt/lv0:##取消已經掛載的邏輯卷

                ②e2fsck -f /dev/vg0/lv0;##強制進行磁盤檢測

                ③resize2fs /dev/vg0/lv0 10G;

                ④lvreduce -L 10G /dev/vg0/lv0;

                ⑤mount -a:從新掛載邏輯卷

                ⑥lvdisplay;

                ⑦df -h;

7、刪除物理卷(PV)

    1.刪除PV步驟:

                ①pvmove /dev/sdb;將PV中的PE個數移動到別的PV

                ②pvdisplay;(能夠看到PE個數被移動到別的PV)

                ③vgreduce vg0 /dev/sdb;從卷組中刪除PV

                ④vgdisplay;(能夠看到卷組容量變小了)

                ⑤ pvs;(能夠看見/dev/sdb不屬於VG0)

                ⑥pvremove /dev/sdb;移除pv,不讓/dev/sdb具備pv屬性;

                ⑦pvs;查看

8、刪除邏輯卷

    1.刪除邏輯卷步驟:

                ①umount /mnt/lv0;取消已經掛載的邏輯卷

                ②lvremove /dev/vg0/lv0;

                ③lvs;

9、刪除卷組

    1.刪除卷組步驟:

                ①vgremove vg0;

                ④pvs;

10、邏輯卷快照

    1.快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的 準確拷貝。

    2.對於須要備份或者複製的現有數據集臨時拷貝以及其它操 做來講,快照是最合適的選擇。

    3.快照只有在它們和原來的邏輯卷不一樣時纔會消耗空間:

        3.1在生成快照時會分配給它必定的空間,但只有在原來的邏輯卷或 者快照有所改變纔會使用這些空間。

        3.2當原來的邏輯卷中有所改變時,會將舊的數據複製到快照中。

        3.3快照中只含有原來的邏輯卷中更改的數據或者自生成快照後的快 照中更改的數據。

        3.4創建快照的卷大小隻須要原始邏輯卷的15%~20%就夠了。也可 以使用lvextend放大快照。

    4.快照就是將當時的系統信息記錄下來,就好像照相通常, 若未來有任何數據改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共享。

    5.因爲快照區與本來的LV共用不少PE的區塊,所以快照區與被快照的LV必需要要在同一個VG上。系統恢復的時候的文件數量不能高於快照區的實際容量。

11、建立快照邏輯卷

        注:要事先建立好邏輯卷(我這裏事先建立好了邏輯卷(/dev/vg0/lv0),並掛載在/mnt/lv0裏),並拷貝一些數據到目錄裏作實驗,如下四步事先準備好:

            (1)cd /mnt/lv0;

            (2)cp /etc/fstab f1;

            (3)cp /etc/fstab f2;

            (4)cp /etc/fstab f3  ;

    1.建立邏輯卷快照步驟:

        注:建立快照要注意卷組空間容量要足夠;快照邏輯卷容量小於或等於被快照的邏輯卷;

                ①lvcreate -L 1G -s -n lv0-snapshot -p r /dev/vg0/lv0;建立快照

                ②lvdisplay;查看快照信息

                ③mkdir /mnt/snapshot;建立快照目錄

                ④mount /dev/vg0/lv0-snapshot /mnt/snapshot/;掛載快照

    2.測試:

                ①cd /mnt/lv0;進入到被快照的邏輯卷目錄裏

                ②echo > f1;在被快照的邏輯卷裏清空f1的數據

                ③cd /mnt/snapshot;進入到快照邏輯卷目錄裏

                ④cat f1;能夠看到原始f1的數據內容

    3.利用快照回覆數據:

        (1)注:所要恢復的數據不能超過快照區的總大小,由於若是變更的數據大小超過了快照區的空間,那麼快照區是不能容納全部變更的數據了,這個時候快照功能會失效。

        (2)方法:把快照裏的數據複製到邏輯卷的掛載目錄裏便可;

    4.刪除快照邏輯卷:

                ①umount /mnt/snapshot/;取消掛載

                ②lvremove /dev/vg0/lv0-snapshot;刪除快照邏輯卷 

相關文章
相關標籤/搜索