關于 LVM 邏輯卷管理

              邏輯卷管理 (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的容量
通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量
 

下面看圖解

關于 LVM 邏輯卷管理  
  
  

pv(物理卷)管理工具
顯示pv信息:
           pvs 簡要pv信息顯示
           pvdisplay  
顯示目前系統上面的PV狀態
創建pv與PV相關的一些管理命令有:
           pvcreate /etc/設備   將實體設備創建成為PV
主要創建PV命令
           pvscan      搜尋目前系統里面任何具有PV的磁碟  
    
刪除pv:
           vremove    將PV屬性移除,讓該設備不具有PV屬性
        
     1 用fdisk
配置新的具有 8e 系統ID 的分區   
     # fdisk /dev/sdb
     n   新建分區
     p  
顯示磁盤分區表
     l   列表出所的系統ID號
     t   修改分區系統的ID
     8e  系統ID
    
w   保存并退出
     2 利用pvcreate 創建 PV
     [root@Compro ~]# pvcreate
/dev/sde{1,2}  
     Physical volume "/dev/sde1" successfully
created
     Physical volume "/dev/sde2" successfully created
  

       
                       
vg(卷組)管理工具
顯示vg信息:
         
vgs
          vgdisplay 顯示目前系統上面的VG狀態
創建vg與vg相關的一些管理命令有:
         
vgcreate 就是主要創建VG的命令
          vgscan   查找系統上是否有VG存在
          vgchange 
配置VG是否啟動(active活躍的)
          vgremove  刪除一個VG    

創建vg:
         vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
PhysicalDevicePath [PhysicalDevicePath…]
         [root@Compro ~]# vgcreate
-s 10M makangbo /dev/sde{1,2}
         Volume group "makangbo" successfully
created  
   管理vg:
         vgextend  在VG內添加額外的PV
        
[root@Compro ~]# vgextend makangbo /dev/sde1
         vgrduce  
在VG內移除PV
         [root@Compro ~]# vgreduce makangbo /dev/sde1
        
Removed "/dev/sde1" from volume group "makangbo"
  刪除vg:
       
先做pvmove,再做vgremove                                  
 

lv(邏輯卷)管理工具
顯示lv信息:lvs
            lvdisplay  顯示系統上面LV
創建LV
與LV相關的一些管理命令有:
            lvscan    查詢系統上面LV
            lvextend 
在LV里面添加容量
            lvresize  對LV進行容量大小的調整          

 創建LV:
 lvcreate-L #[mMgGtT] -n NAME VolumeGroup  主要創建LV命令
 lvcreate
-L 10G -n xiaomaglv xiaomagvg
 刪除邏輯卷:
 vremove/dev/VG_NAME/LV_NAME  

   
重設文件系統大?。?br />fsadm[options] resize device
[new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]  

   
 文件系統階段:
 要想真正的使用lvm就必須對lv進行格式化掛載
 1 mkfs -t ext3
/dec/xiaomagvg/xiaomaglv
 2 mkdir /mnt/lvm
 3 mount
/dev/xiaomagvg/xiaomaglv /mnt/lvm
   
 擴展和縮減邏輯卷
擴展LV:
#ddisk
/dev/sdb                                  fdisk配置新的具有8e 文件系統ID的分區
# pvcreate
/dev/sde{1,2}                         利用pvcreate創建出來PV
# vgcreate -s 10M
makangbo /dev/sde{1,2}         利用vgextend 將 PV加入我門的xiaomagvg
# lvresize
#[mMgGtT] /dev/xiaomagvg/xiaomaglv    利用lvresize 將新加入的PV內的PE加入xiaomaglv中
#
resize2fs #[mMgGtT] /dev/xiaomagvg/xiaomaglv   透過resize2fs 將文件系統的容量確實添加。
 
xfs_growfs /mnt/mylv/               xfs系列  只能擴展 不能縮減
  lvextend -r -l
+100%FREE /dev/vg0/mylv  一步到位     
縮減LV:
建議先備份
# umount
/dev/xiaomagvg/xiaomaglv                先卸載已經掛載的LV
# e2fsck -f
/dev/xiaomagvg/xiaomaglv             強制進行磁盤檢測
# resize2fs #[mMgGtT]
/dev/xiaomagvg/xiaomaglv   重新設定文件系統大小
# lvreduce -L [-]#[mMgGtT] 
/dev/xiaomagvg/xiaomaglv  在LV里面減少容量
# mount /dev/xiaomagvg/xiaomaglv /mnt/lvm

      
    
   
邏輯卷管理器快照

快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
對于需要備份或者賦值的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。

快照只有在它們和原來的邏輯卷不同時才會消耗空間。
  
在生成快照是會分配個它一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間
  
當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。
   快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快照中更改的數據
  
建立快照的卷大小只需要原始邏輯卷的15%~20%就足夠了,也可以使用lvextend 擴大快照

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

關于 LVM 邏輯卷管理

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

使用LVM快照  
lvcreate – l 64 -s -n name -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

 

1 創建至少兩個PV大小設定為+20G 
 [root@Compro ~]# pvcreate
/dev/sdf{1,2}
 創建VGtestvg添加PV,要求PE大小為16M
 [root@Compro ~]# vgcreate -s
16M testvg /dev/sdf{1,2}
 在VG中創建大小為5G的LV testlv
 [root@Compro ~]#
lvcreate -L 5G -n testlv testvg
 使用lvmh就必須對lv進行格式化掛載
 [root@Compro ~]#
mkfs -t ext3 /dev/testvg/testlv
 創建掛載點和掛載
 [root@Compro ~]# mkdir
/mnt/users
 [root@Compro ~]# mount /dev/testvg/testlv
/mnt/users
 
 
2 新建用戶archlinux 要求其家目錄為/users
 [root@Compro ~]#
useradd archlinux -d /home/users
 而后用su
切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄
 [archlinux@Compro ~]$ cp /etc/pam.d/*
./
 
 
 3上面testlv創建的是 5G 現在要求擴展到7G
 [root@Compro ~]# lvextend -L 7G
/dev/testvg/testlv
 
4 縮減testlv至3G的大小
 [root@Compro ~]# lvreduce -L 3G
/dev/testvg/testlv
 
 
 
5 對testlv
創建快照,并嘗試基于快照備份數據,驗證快照的功能
 [root@Compro ~]# lvcreate -L 3G -s -n kuaizhaoname
/dev/testvg/testlv
 顯示信息
 [root@Compro ~]#
lvdisplay
 創建快照目錄
 [root@Compro ~]# mkdir
/mnt/snapshotdir
 掛載
 [root@Compro ~]# mount /dev/testvg/kuaizhaoname
/mnt/snapshotdir
 
 
 利用快照恢復數據
 注意:回復的數據不能超過快照區的總大小,因為如果變動的數據大小超過了快照區的空間,那么快照去是不能容納所有變得的數據了,這個時候快照功能會失效

 1 現在原來的lv中寫入一些數據, 然后通過lvm的快照功能來恢復之前的操作 原先快照的數據
 [root@Compro ~]# cp -R
/etc /mnt/testlv
 
 創建一數據恢復的臨時目錄
 [root@Compro ~]# mkdir -pv
/tmp/backup
 然后cd到快照掛載點
 [root@Compro ~]# cd
/mnt/kuaizhaoname/
 將快照里數據打包壓縮
 [root@Compro kuaizhaoname]# tar -zcf
/tmp/bbackup/testlv.tar.gz *
 卸載快照NAME 并且移除,因為里面的內容已經備份出來了
 [root@Compro
~]#  umount /mnt/kuaizhaoname
 [root@Compro ~]# lvremove /dev/testvg/kuaizhao

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
   
   

原創文章,作者:小馬哥,如若轉載,請注明出處:http://www.www58058.com/42768

(0)
小馬哥小馬哥
上一篇 2016-09-02 08:47
下一篇 2016-09-02 08:47

相關推薦

  • Hello World 集中營

    編程的人應該都知道什么是Hello World。這是一個最簡單的程序,其只在屏幕上輸出“Hello World”字樣,這通常是初學者的在學習編程時的第一個示例。把打印出 “Hello World” 作為第一個范例程序,現在已經成為編程語言學習的傳統。“Hello World”起源于Brian Kernighan 和Dennis MacAlistair Rit…

    2016-05-17
  • Mysql 多表聯合查詢效率分析及優化

    1. 多表連接類型 1. 笛卡爾積(交叉連接) 在MySQL中可以為CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:  SELECT * FROM table1 CROSS JOIN table2  &nb…

    Linux干貨 2015-04-13
  • 系統管理中的三大利刃(htop glances dstat)

    工欲善事情,必先利其器,生產環境中的服務器在處理請求并生成回應數據的時間主要消耗在服務器端,包括了眾多的環節,如何全面了解我們linux服務器的CPU使用率、使用時間、內存占用比例、磁盤IO數據、網絡相關數據等等眾多指標,保證我們的linux服務器順利完成每一個請求,怎能沒有幾個趁手的利刃,而今天就讓我們見識一下系統管理中三大利刃。 相傳一把三尺長的軟劍,叫…

    Linux干貨 2015-11-18
  • Infobright高性能數據倉庫

    1.  概述         Infobright是一款基于獨特的專利知識網格技術的列式數據庫。Infobright簡單易用,快速安裝部署,使用中無需復雜操作,能大幅度減少管理工作;在應對50TB甚至更多數據量進行多并發復雜查詢時,更能夠顯示出令人驚嘆的速度。相比于MySQL,其查詢速度提升了數倍甚…

    Linux干貨 2015-04-05
  • shell編程中的三種流程控制

    流程控制 v 一 、過程式編程語言: 1.順序執行 2.選擇執行 3.循環執行  條件選擇if 語句   選擇執行:   注意: :if 語句可 嵌套    單分支 if 判斷條件;then 條件為真的分支代碼 fi    雙分支 if 判斷條件; then …

    Linux干貨 2016-08-21
  • AOP面向方面編程

    1.引言         軟件開發的目標是要對世界的部分元素或者信息流建立模型,實現軟件系統的工程需要將系統分解成可以創建和管理的模塊。于是出現了以系統模塊化特性的面向對象程序設計技術。模塊化的面向對象編程極度極地提高了軟件系統的可讀性、復用性和可擴展性。向對象方法的焦點在于選擇對象作為模塊的主要單元,并將對象與系統的…

    Linux干貨 2015-04-07
欧美性久久久久