LVM邏輯卷管理

一、lvm介紹

    1.lvm概念

                        LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝Linux操作系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好之后就無法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件因為受上層文件系統的限制,也不能跨越多個分區來存放,所以也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法通常是使用符號鏈接,或者使用調整分區大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨著Linux的邏輯卷管理功能的出現,這些問題都迎刃而解,用戶在無需停機的情況下可以方便地調整各個分區大小。

    2.相關概念

                    PV(Physical Volume)- 物理卷 
                    物理卷在邏輯卷管理中處于最底層,它可以是實際物理硬盤上的分區,也可以是整個物理硬盤,也可以是raid設備。

                    VG(Volumne Group)- 卷組 
                    卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之后可動態添加物理卷到卷組中。一個邏輯卷管理系統工程中可以只有一個卷組,也可以擁有多個卷組。

                    LV(Logical Volume)- 邏輯卷 
                    邏輯卷建立在卷組之上,卷組中的未分配空間可以用于建立新的邏輯卷,邏輯卷建立后可以動態地擴展和縮小空間。系統中的多個邏輯卷可以屬于同一個卷組,也可以屬于不同的多個卷組。

    3.lvm圖示

wKiom1fG4FXCe6IUAAA0yHvvYY8767.png

二、lvm創建

    1.準備創建lvm使用的物理盤區,這里我們使用sdb1,sdc,sdd,sdb1是sdb的一個分區,需要對其進行設備system id 為8e,sdc和sdd因為是使用整個盤區不需此步。

LVM邏輯卷管理

8e.PNG

    2.創建pv

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

        pvcreate:將實體partition創建為PV

        pvdisplay:顯示出目前系統上的pv狀態VG

        pvs:顯示pv的簡要信息

        pvscan:搜尋系統里面任務具有PV的磁盤

        pvremove:將PV屬性移除,讓該partition不具有PV屬性

    

pvcreate.PNG

        出現如下could't find …時解決方法是使用vgreduce–removemissing vg0

count-not-find-uuid.PNG

    3.創建vg

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

        vgcreate:創建vg的命令

        vgdisplay:顯示目前系統上面的vg狀態

        vgs:顯示vg的簡要信息   

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

        vgextend:在VG內添加額外的PV

        vgchange:配置VG是否啟動(active)

        vgremove:刪除一個VG
       vgcreate的相關選項:

        -s|–physicalextensize 指定PE大小

        -t|–test

        -v|–verbose

        如:lvcreate -s 16M vg1 /dev/sdc

vg.PNG

       注:刪除卷組,先做pvmove,再做vgremove

    4.創建lv

        與lv相關的一些管理命令

        lvcreate:創建LV

        lvscan:查詢系統上面的LV

        lvdisplay:顯示系統上面LV狀態

        lvs:簡要顯示lv信息

        lvextend:在LV里面添加容量

        lvreduce:在LV里面減少容量

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

        lvremove:刪除一個LV

     創建邏輯卷

        lvcreate-L #[mMgGtT] -n NAME VolumeGroup

      刪除邏輯卷

        lvremove/dev/VG_NAME/LV_NAME

     重設文件系統大小  

        fsadm[options] resize device [new_size[BKMGTEP]]

        resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

        

lvcreate.PNG

    5.格式化并掛載邏輯卷

        

格式化并掛載.PNG

三、lvm的擴容和縮減

    1.擴容LV

        1).用fdisk配置新的具有82system id的partition-/dev/sdb2

        2).利用pvcreate創建PV

        3).利用vgextend將PV加入我們的vg1

        4).利用lvresize將新加入的PV內的PE加入testlv中

        5).通過resize2fs將文件系統的容量確實增加

        

擴展.PNG

    2.縮減

        1).先卸載掛載的LV

        2).強制進行磁盤檢查:e2fsck -f /dev/vg1/testlv

        3).resize2fs /dev/vg1/testlv 5000M

        4).lvreduce -L 5000M /dev/vg1/testlv

        5).mount /dev/vg1/testlv /mnt/testlv

    

縮減.PNG

 

    3.刪除順序

        1).首先要先卸載LV,并刪除LV

        2).刪除VG

        3).最后刪除PV

    

刪除.PNG

四、lvm快照

    1.什么是快照

        快照就是將當時的系統數據記錄下來,在未來若有數據變動,則會將變更前的數據放在快照區進行保存,那么快照去將有兩部分組成:變更之前的數據和未變更的數據組成。這樣一來LVM的系統快照就像是一種很棒的備份工具,因為他只備份有變更的數據,文件系統內沒被變動的數據依舊保持在原本的區塊內,LVM知道哪些數據是變動的哪些沒有變動,因此,通過LVM快照備份下來的數據所占用的容量非常小,所以LVM快照是一個很不錯的工具。

    2.創建快照

        1).創建快照:lvcreate -L 2G -s -n snap-testlv -p r /dev/vg1/testlv  (或者使用-L指定大小,-l指定的是PE數量 ,-p r 指定只讀屬性)

        2).顯示信息:lvdisplay

        3).創建快照目錄/mnt/snaptestlv

        4).掛載mount /dev/vg1/snap-testlv /mnt/snaptestlv/

snap.PNG

    3.利用快照恢復數據

        需要注意的是:所要恢復的數據不能超過快照區的總大小,因為如果變動的數據大小超過了快照區的空間,那么快照區是不能容納所有變動的數據了,這個時候快照功能會失效

      示例:

        先在原來的lv中寫入一些數據,然后通過lvm的快照功能來恢復之前的操作

        1).cp -R /etc /mnt/testlv

        2).創建一個數據恢復的臨時目錄:mkdir -pv /tmp/backup

        3).cd /mnt/snaptestlv

        4).tar -zcf /tmp/backup/lvm.tar.gz *

        5).將snap-testlv卸載并移除,因為里面的內容已經備份出來了

        6).解壓備份出來的文件和/mnt/testlv中的數據做對比看是否已經恢復到相關操作之前了。

       

原創文章,作者:提著醬油瓶打醋,如若轉載,請注明出處:http://www.www58058.com/42658

(0)
提著醬油瓶打醋提著醬油瓶打醋
上一篇 2016-09-02 08:48
下一篇 2016-09-02 08:48

相關推薦

  • 第八周作業

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;     在線的主機使用綠色顯示;     不在線的主使用紅色顯示; 2、如何給網絡接口配置多個地址,有哪些方式? 方法3:在/etc/sysconfig/netw…

    2017-04-20
  • session sticky + session cluster 實戰

    前言 在做負載均衡集群的時候,如果后端是應用服務器,我們就有一個不得不考慮的一個問題:會話綁定。為了追蹤會話,我們常見的有三種方式:(1)session sticky:會話粘性,常見有2種方式: source_ip:采用源地址綁定方式 nginx:ip_hash,ip地址哈希 haproxy:source lvs:sh,源地址哈希 cookie:基于cook…

    Linux干貨 2017-02-13
  • linux 生產常用命令

    hostname 顯示當前的主機名pwd 顯示當前工作的目錄wwhowhoami顯示當前用戶及已建立的ssh鏈接useradd 新建一個普通用戶passwd 修改用戶的密碼which 查看系統命令所對應的路徑type 查詢命令是否屬于內部命令或者外部命令hash 哈希 把一個命令一個文本通過某種算法生產一串字符df 查看系統分區hash -l 加快命令查詢執…

    Linux干貨 2017-03-28
  • 馬哥教育網絡班-N26

    From the beginning~~~

    Linux干貨 2016-12-26
  • 基于NFS服務的mariadb數據庫實現

    實驗要求:     (1) nfs server導出/data/目錄;     (2) nfs client掛載/data/至本地的/mydata目錄;本地的mysqld或mariadb服務的數據目錄設置為/mydata, 要求服務能正常啟動,且可正常 存儲數據;   (3)用另一臺主機,…

    2017-06-11
  • 馬哥教育網絡班21期+第七周課程練習

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;    (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; ~]# fdisk &n…

    Linux干貨 2016-08-30
欧美性久久久久