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
下一篇 2016-09-02

相關推薦

  • 圖解Linux終端類型

    個人淺見 歡迎指正

    Linux干貨 2016-10-16
  • 2班jackcui20160802作業

    1、每日課堂筆記總結 2、預習 3、每日課堂pdf練習 4、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 [root@centos7 /]# groupadd g1 [root@centos7 /…

    Linux干貨 2016-08-05
  • N25 – Week6 作業

    春節過去了,我們又開學了,又可以寫博客,做作業了,好開心. 下面是第6周的博客作業: 請詳細總結vim編輯器的使用并完成以下練習題: 1. 復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc/sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@dhcp-10-129-6-166 ~]# …

    Linux干貨 2017-02-13
  • 馬哥教育網絡班21期-第七周課程練習

    第七周作業 1、創建一個10G分區,并格式為ext4文件系統; [root@qq ~]# fdisk /dev/sdb         #使用fdisk命令進行分區; Device contains neither&nb…

    Linux干貨 2016-08-08
  • 給linux系統添加新的磁盤

    虛擬化環境中,我們經常會遇到需要增加磁盤容量的情況,通常有兩種方式,第一種是添加一塊新的硬盤,另一種是擴容原有磁盤,以下是添加新磁盤至linux系統的操作規范。注:具體磁盤信息可能有所不同。 ##查看新增加磁盤/dev/sdb的信息 [root@CentOS7 ~]# fdisk -l /dev/sdb   Disk /dev/sdb: 5368 …

    Linux干貨 2016-11-11
  • 用戶及用戶組管理使用的練習

    用戶及用戶組管理使用的練習 1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 先使用who得出登陸用戶,通過uniq去重。 [root@mail ~]# who | grep -E -o “^[[:alnum:]]+” | uniq root 2、取出最后登錄到當前系統的用戶的相關信息。 思路:首先使用who取得最后…

    Linux干貨 2018-03-18
欧美性久久久久