邏輯卷管理器

邏輯卷管理器(LVM)

    允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小

    允許在多個物理設備間重新組織文件系統

        ? 將設備指定為物理卷

        ? 用一個或者多個物理卷來創建一個卷組

        ? 物理卷是用固定大小的物理區域(Physical Extent,PE )來定義的

        ? 在物理卷上創建的邏輯卷是由物理區域(PE )組成

        ? 可以在邏輯卷上創建文件系統

LVM介紹

    LVM: Logical Volume Manager, , Version: 2

    dm: device mapper: : 將一個或多個底層塊設備組織成一個邏輯設備的模塊

    設備名:/dev/dm-#

    軟鏈接:

        /dev/mapper/VG_NAME-LV_NAME

        /dev/mapper/vol0-root

        /dev/VG_NAME/LV_NAME

        /dev/vol0/root

               附一張簡單的lvm模型圖

LVM-模型圖.jpg

lvm更改文件系統容量

    LVM 可以彈性的更改LVM的容量

        通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量

pv管理工具

    顯示pv 信息

        pvs :簡要pv 信息顯示

        pvdisplay

    創建pv

        pvcreate /dev/DEVICE

blob.png

                這個表示已經創建過了

blob.png

                用pvdisplay命令查看下其詳細信息

vg 管理工具

    顯示卷組

        vgs

        vgdisplay

    創建卷組

        vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

blob.png

創建卷組  指定vg0為卷組名字 添加/dev/sda6進卷組,然后pvdisplay命令查看下   成功

    管理卷組

        vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

        vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

    刪除卷組

        先做pvmove ,再做vgremove

lv 管理工具

    顯示邏輯卷

        lvs

        Lvdisplay

    創建邏輯卷

        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]

blob.png

        創建邏輯卷 查看其詳細信息

然后mkfs格式化一下    vi /etc/fstab寫入配置文件   mkdir /mnt/lv0創建文件夾  mount -a掛載  然后就可以正常使用了

擴展和縮減邏輯卷

    擴展邏輯卷:  前提是卷組必須有空間

            # lvextend -L [+]#[mMgGtT]

            /dev/VG_NAME/LV_NAME

            # resize2fs /dev/VG_NAME/LV_NAME

如果沒空間了  可以加硬盤  比如:pvcreate /dev/sdc   vgextend vg0 /dev/sdc 就可以加進去了

縮減邏輯卷

            # umount /dev/VG_NAME/LV_NAME

            # e2fsck -f /dev/VG_NAME/LV_NAME

            # resize2fs /dev/VG_NAME/LV_NAME

            #[mMgGtT]

            # lvreduce -L [-]#[mMgGtT]

            /dev/VG_NAME/LV_NAME

            #mount

邏輯卷的一些相關命令

    創建邏輯卷

        1、分區

            fdisk /dev/sda

            partx -a /dev/sda

            lsblk

        2、pvcreate  /dev/sd{a7,b}

            pvs

            pvdisplay 

        3、vgcreate vg0 /dev/sd{a7,b}

            vgs;pvs;pvdisplay;vgdisplay 

        4、lvcreate  -n lv0 -L 10G vg0 

        5、mkfs.ext4 /dev/vg0/lv0 

        6、vi /etc/fstab 

            mkdir /mnt/lv0;mount -a

    擴展lv

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

        resize2fs  /dev/vg0/lv0 

        df -h

擴展卷組

        1、pvcreate  /dev/sdc

        2、vgextend vg0 /dev/s

縮減邏輯卷

        # umount /dev/VG_NAME/LV_NAME

        # e2fsck -f /dev/VG_NAME/LV_NAME

        # resize2fs /dev/VG_NAME/LV_NAME

        #[mMgGtT]

        # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME

        # mount

創建邏輯卷實例

    ·創建物理卷

        pvcreate /dev/sda3

    ·為卷組分配物理卷

        vgcreate vg0 /dev/sda3

    ·從卷組創建邏輯卷

        lvcreate -L 256M -n data vg0

        mke2fs -j /dev/vg0/data

   ·掛載

    mount /dev/vg0/data /mnt/data

邏輯卷管理器快照

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

    ·對于需要備份或者復制的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。

    ·快照只有在它們和原來的邏輯卷不同時才會消耗空間。

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

        *當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。

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

        *建立快照的卷大小只需要原始邏輯卷的15% ~20% 就夠了。也可以使用lvextend 放大快照。

邏輯卷的原

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

由于快照區與原本的LV公用很多PE的區塊,因此快照去與被快照的LV必須要在同一個VG上,系統恢復的時候的文件數量不能高于快照區的實際容量

使用lvm快照

    為現有邏輯卷創建快照

 #lvcreate -l 64 -s -n snap-data -p r /dev/vg0/data

    掛載快照

      

  #mkdir -p /mnt/snap
  #mount -o ro /dev/vg0/snap-data /mnt/snap

    刪除快照

      

  #umount /mnt/databackup
  #lvremove /dev/vg0/databackup


練習:

·創建一個至少有兩個PV 組成的大小為20G的名為testvg的VG ;要求PE 大小為16MB, 而后在卷組中創建大小為5G 的邏輯卷testlv ;掛載至/users 目錄                                     

pvcreate /dev/sd{b,c,e}{1,2}                 
vgcreate testvg -s 16M /dev/sd{b,c,e}{1,2}      
lvcreate -n testlv -L 5G testvg                 
mkfs.ext4 /dev/testvg/testlv                  
mkdir /users                                   
vim /etc/fstab                                 
mount -a

·新建用戶archlinux ,要求其家目錄為/users/archlinux,而后su切換至archlinux 用戶,復制/etc/pam.d目錄至自己的家目錄

useradd -d /users/archlinux archlinux           
su - archlinux                               
cp -a /etc/pam.d/* .                            
exit

·擴展testlv 至7G ,要求archlinux 用戶的文件不能丟失

·收縮testlv 至3G ,要求archlinux

lvextend -L 7G /dev/testvg/testlv               
resize2fs /dev/testvg/testlv                   
umount /users                                   
e2fsck -f /dev/testvg/testlv    
lvreduce -L 3G /dev/testvg/testlv        
mount -a

·對testlv 創建快照,并嘗試基于快照備份數據,驗正快照的功能

lvcreate -s -L 500M -n testlvsnap -p r /dev/testvg/testlv       
mkdir /mnt/testlvsnap                                             
mount /dev/testvg/testlvsnap /mnt/testlvsnap/

原創文章,作者:舊城以西,如若轉載,請注明出處:http://www.www58058.com/43878

(0)
舊城以西舊城以西
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • 基于keepalived的VRRP協議實現DR模型下的高可用集群

    基于keepalived的VRRP協議實現DR模型下的高可用集群 環境及配置前提說明 4臺虛擬服務器都為centos6.8. 主機1,ip:192.168.25.140 做后端RS1,80端口向外部提供web服務 主機2,ip:192.168.25.141 做后端RS2,80端口向外部提供web服務 ip:192.168.25.142為lo:0接口的VIP地…

    Linux干貨 2016-11-07
  • 作業練習題匯總

    需要用到的命令補充  文件通配符                                            …

    2017-07-22
  • N25-第二周博客作業

    1.linux上的文件管理命令:   cp命令:copy                 源文件;目標文件;  單源復制:cp [option]… [-T]  SOURCE DEST       &…

    Linux干貨 2016-12-12
  • 今天正式加入馬幫開啟我的學習Linux之路

    3月26日馬哥教育30期開學儀式,終于見到了我們的馬哥馬永亮先生,同時馬哥還有前大眾點評架構師張Sir以及國內首批通過紅帽授權認證講師(RHCI)的老王給我們新生做了開學演講。接著我們的宗華老師以及云珍老師對我們平時的學習以及生活做出了各種介紹與規定,還有我們同學之間也進行了相互自我介紹彼此熟悉….

    2018-03-26
  • 0804練習與作業

    0804練習與作業 練習  1 、找出ifconfig 命令結果中本機的所有IPv4 地址 答: 使用cut將電腦的IP地址提取出來。   經過觀察,這些信息極為不規則,沒有明顯的分隔符。這時們需要首先提取出IP地址所在的行,然后去定義一個合適的分隔符,再利用cut進行提取即可。(思路:化繁為簡,化不規則為規則,這樣才能更好的套用我們的命…

    Linux干貨 2016-08-08
  • corosync+pacemaker對mariadb實現高可用

    corosync+pacemaker對mariadb實現高可用 利用nfs共享存儲,導出一個目錄作為mariadb的數據目錄,然后利用corosync+pacemaker對mariadb進行高可用 1、實驗環境 2、實驗前的分析 利用nfs導出目錄作為mariadb的共享目錄,要確保各個mariadb節點對該目錄具有寫權限,也就是要確保nfs服務器上有一個U…

    Linux干貨 2016-11-24
欧美性久久久久