LVM 與快照

LVM: Logical Volume Manager

概念

它就是通過將底層的物理硬盤抽象的封裝起來,然后以邏輯卷的方式呈現給上層應用。

允許對卷進行方便操作的抽象層,包括重新設定
文件系統的大小
 允許在多個物理設備間重新組織文件系統
? 將設備指定為物理卷
? 用一個或者多個物理卷來創建一個卷組
? 物理卷是用固定大小的物理區域(Physical Extent,PE)來定義的
? 在物理卷上創建的邏輯卷是由物理區域(PE)組成
? 可以在邏輯卷上創建文件系統

原理描述

LVM是邏輯盤卷管理(LogicalVolumeManager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。
 通過創建LVM,我們可以更輕松的管理磁盤分區,將若干個不同大小的不同形式的磁盤整合為一個整塊的卷組,然后在卷組上隨意的創建邏輯卷,既避免了大量不
同規格硬盤的管理難題,也使邏輯卷容量的擴充縮減不再受限于磁盤規格;并且LVM的snapshot(快照)功能給數據的物理備份提供了便捷可靠的方式

要想理解好LVM的原理,我們必須首先要掌握4個基本的邏輯卷概念。

① PE  (Physical Extend)  物理拓展,物理磁盤上的每一個分區

② PV  (Physical Volume)  物理卷, fdisk工具修改卷標為 8e,形成一個PV

③ VG  (Volume Group)  卷組,將多個PV組合起來成為一個大的硬盤

④ LV  (Logical Volume)  邏輯卷, 在VG上劃分出來的邏輯卷
LVM 與快照

lvm, lvm2

dm: device mapper
    功用:將一個或多個底塊設備(包括RAID)組織一個邏輯存儲空間;
    其邊界:可動態擴展或縮減;

lv, multipath

PE, LE
    Pysical Extent
    Logical Extent

管理命令:

    pv: pvcreate, pvdisplay, pvs, pvscan, pvremove, pvmove
    vg: vgcreate, vgdisplay, vgs, vgscan, vgremove, vgextend, vgreduce
    lv: lvcreate, lvdisplay, lvs, lvresize, lvextend, lvreduce, lvremove

LVM 與快照

創建PV **pvcreate /dev **
示例:
    創建一個10G vg:

PV:

創建pv:

        準備塊設備,調整其id為8e;
        pvcreate [-f] /dev/DEVICE

       查看

        # pvdisplay [/dev/DEVICE] 
        查看的是更詳細的信息
        # pvs

LVM 與快照
LVM 與快照        

       移動pv上的pe到其它pv:

        # pvmove

       刪除pv:

        # pvremove

VG:

       創建vg: 新增一個vg,并指明其包含哪個或哪些pv實現;

        # vgcreate VGNAME /dev/PV1...

LVM 與快照
-L 指明容量
-n 起個名

         刪除vg:

           # vgremove VGNAME...

       縮減vg: 通過從vg中移除pv實現
           注意:計劃移除的pv不能包含已經存儲數據的pe;如果有需要先使用pvmove移動到同vg內其它pv上;

           pvmove /dev/SOME_PV
           vgreduce VG_NAME /dev/some_PV

          擴展vg: 向vg中添加更多的pv實現

           vgextend VG_NAME /dev/some_PV...

LV: Logical Volume

       查看
           lvs  lvdisplay

創建lv:

        lvcreate -L 指明的大小 -n 名字 VG_name
         LogicalVolume{Name|Path}]  VG_NAME  -L指明大小

        設備路徑:
            (1) /dev/VGNAME/LVNAME
            (2) /dev/mapper/VGNAME-LVNAME

            實際路徑:/dev/dm-#

        注意:lv的大小必須為pe的整數倍

       移除lv:
           lvremove LV_PATH

       擴展lv:

        存儲設備有:物理邊界
        文件系統有:邏輯邊界

擴展:先擴展物理邊界,而后拉伸邏輯邊界
               lvextend, lvresize
               resize2fs

LVM 與快照

          如何擴展lv:

            1、先確定目標大小:要確保此lv所在vg中有足夠的空閑可用;
                2G --> 4G
                    4G
                    +2G
            2、擴展物理邊界
                lvextend -L [+]#[bBsSkKmMgGtTpPeE] /dev/VGNAME/LVNAME
            3、拉伸邏輯邊界
                resize2fs /dev/VGNAME/LVNAME

       縮減lv:

        注意:
            1、縮減要離線!
            2、先縮減文件系統大小,再縮減lv的大小;

        過程:
            1、先確定縮減后的目標大?。阂_??s減后的大小能夠容納現在的所有數據;
            2、卸載邏輯卷,并強制做文件系統一致性檢查;
                e2fsck -f /dev/VGNAME/LVNAME
            3、縮減邏輯邊界
                resize2fs /dev/VGNAME/LVNAME #[bBsSkKmMgGtTpPeE]
            4、縮減物理邊界
                lvreduce -L [-]#[bBsSkKmMgGtTpPeE] /dev/VGNAME/LVNAME

快照卷:

         訪問原卷上數據另一個路徑,備份工具可以通過此路徑完成數據備份;
        快照卷自身僅是為備份工具提供一個時間點一致的訪問路徑;

        備份開始之前創建快照卷,完成之后即可刪除之;快照卷的生命周期;

        如何保證通過快照所訪問到的數據的時間點一致?
            通過把那些要發生改變的位于原卷上的數據自動復制一份至快照卷進行的,因此,快照卷上的數據如果有效,則必須能完成存儲原卷即將發生改變的所有的數據的原有版本。

        創建快照卷:
            (1) 快照卷要與原卷在同一卷組中,因此創建快照卷無須指定卷組;
            (2) 快照卷大小要精心設定;另外,快照卷應該是只讀的;

        創建命令:
            lvcreate -L SIZE -n Name -p r -s /dev/VGNAME/LVNAME

練習:

1、創建一個至少有兩個PV組成的大小為20G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄
2、新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄
3、擴展testlv至7G,要求archlinux用戶的文件不能丟失
4、收縮testlv至3G,要求archlinux用戶的文件不能丟失
5、對testlv創建快照,并嘗試基于快照備份數據,驗正快照的功能

一 、

1、用fdisk分區 把 /dev/sdd 和/dev/sde 各分出10G

LVM 與快照

如果不同步就用 partprobe 命令同步一下!

2、創建兩個pv并組成一個vg

vgcreate testvg -s 16M /dev/sdd1 /dev/sde1

LVM 與快照

LVM 與快照

3、創建testlv 并掛載

lvcreate -L 5G -n testlv testvg
mkdir /users
mkfs.ext4 /dev/testvg/testlv 
 mount /dev/testvg/testlv /users

二、
1、

useradd archlinux  -d /users/archlinux

LVM 與快照

三、擴展testlv、

1、擴展擴展物理邊界

lvextend -L +2G /dev/testvg/testlv

2、擴展邏輯邊界

resize2fs /dev/testvg/testlv

LVM 與快照

四、收縮testlv

1、卸載邏輯卷,并強制做文件系統一致性檢查

umount /dev/testvg/testlv 
e2fsck -f /dev/testvg/testlv

2、縮減

resize2fs /dev/testvg/testlv  3G
lvreduce -L 3G /dev/testvg/testlv

3、掛載查看

mount /dev/testvg/testlv /users/

LVM 與快照

五、創建快照

[root@localhost ~ ]# lvcreate -L 2G -n kuaizhao -p r -s /dev/testvg/testlv
  Logical volume "kuaizhao" created.

將快照掛載

 mount -r /dev/testvg/kuaizhao /mnt/kuaizhao

[root@localhost /mnt/kuaizhao ]# ll
總用量 20
drwx------. 6 archlinux archlinux  4096 9月   2 22:07 archlinux

刪除/users中的archlinux

[root@localhost /mnt/kuaizhao ]# cd /users
[root@localhost /users ]# ls
archlinux  lost+found
[root@localhost /users ]# rm -rf archlinux
[root@localhost /users ]# ls
lost+found
[root@localhost /users ]# ls /mnt/kuaizhao/
archlinux  lost+found
[root@localhost /users ]# cp -arp /mnt/kuaizhao/archlinux .
[root@localhost /users ]# ls
archlinux  lost+found

原創文章,作者:qzx,如若轉載,請注明出處:http://www.www58058.com/43318

(0)
qzxqzx
上一篇 2016-09-05 08:48
下一篇 2016-09-05 08:48

相關推薦

  • 虛擬化網絡之OpenvSwitch(一)

    一、OpenvSwitch介紹  OpenvSwitch簡稱OVS,正如其官網(http://openvswitch.org/)所述,OVS是一個高質量、多層的虛擬交換軟件,即虛擬交換機。它的目的是通過編程擴展支持大規模網絡自動化,同時還支持標準的管理接口和協議(例如:NetFlow,sFlow,IPFIX,RSPAN, CLI, LAC…

    Linux干貨 2016-03-27
  • 文本處理三劍客之grep

    grep命令基本用法 1、grep正則表達式(對文本行進行搜索過濾) 格式:grep [option] PATTERN [FILE…] option: -i:忽略大小寫 -v:取反,顯示未被匹配到的pattern -n:顯示匹配的行號 -c:統計匹配的行數 -o: 只顯示匹配到的pattern -q: 靜默,不予顯示 -A#:after,匹配到的行再向后…

    Linux干貨 2017-07-19
  • 創建,擴展,縮減LVM2及快照

    相關概念     lvm英文 Logical Volume Manager,邏輯卷管理類似于raid,但又有別于raid, 它是能夠將一個或多個底層塊設     備組織成一個邏輯設備的模塊不具備容錯功能,任一設備損壞或分區損壞,對數據是致命的;它主要有三個部分…

    Linux干貨 2016-02-14
  • FHS文件系統下個各目錄功能

    FHS文件系統下個各目錄功能 FHS文件系統的建立是為了讓開發者和用戶可以預測軟件安裝文件和文件夾的位置。對整個linux的文件系統系統做了以下的規范:     /bin:命令二進制文件的存放目錄;     /boot:系統啟動時一些文件存放的目錄,包含引導linux的重要文件,…

    Linux干貨 2016-10-18
  • 第一周作業

    1. 描述計算機組成及其功能 說到計算機組成,就必須提及計算機之父馮洛伊曼先生。是他早年最先提出了計算機體系結構的設想,并沿用至今。 計算機由五大基本組件組成: 運算器 進行算術運算和邏輯運算的主要部件; 控制器 控制器從存儲器中逐條取出指令、分析指令,然后根據指令要求產生一系列命令,控制計算機各部件; 存儲器 分為內存和外存,…

    Linux干貨 2016-12-02
  • CentOS 7 部署LAMP架構(獨立服務模式)

    細節要求:(1) 三者分離于三臺主機,Httpd與PHP以FastCGI模式通訊; (2) 一個虛擬主機用于提供phpMyAdmin;另一個虛擬主機用于提供wordpress; (3) 部署PHP加速器:xcache; 一、準備CentOS 7主機環境以及Repo倉庫提供基于rpm安裝包方式的程序包安裝源 安裝主機程序包規劃: 主機1:web-server(…

    Linux干貨 2017-02-17
欧美性久久久久