Linux基礎(18)LVM以及應用

1.LVM是什麼?

LVM爲邏輯卷管理器,可以將多個物理分區整合起來,讓其看起來好像是一個大磁盤,LVM最大的用處爲彈性地調整文件系統的容量。

與LVM相關的幾個概念

    PV 物理卷 位於LVM最底層,通過pvcreate命令將磁盤分區(分區的SystemID需要實現轉換成8e,通過fdisk命令實現)轉換而成

    VG 卷用戶組 由多個PV整合而成,也就是上面說的大磁盤,其大小取決於PE的大小和個數。默認VG最大可以包含65536個PE(一個PE大小默認爲4MB),即256GB。

    PE 物理擴展塊,是LVM的最小存儲塊,類似與文件系統的block

    LV 邏輯卷 由VG切分而成,是可以被格式化文件系統的類似的分區。LV的設備名的格式/dev/vgname/lvname

   LVM 是通過交換PE來實現彈性調整文件系統的容量的。

   實現的流程:創建PV----創建VG-----創建LV----格式化LV-----掛載使用。

2.如何實現創建LV?

  創建PV

  首先創建4個分區,並且將systemid改爲8e

  wKiom1ePb6nxhdEGAAH2h9bOB1Q140.jpg-wh_50

  創建PV  pvcreate /dev/sda{9,10,11,12}

  wKiom1ePcFrxewCRAADIpM6bbC8582.jpg-wh_50

  創建VG

  使用vgcreate命令,-s用來指定PE的大小

  wKioL1ePcNKxycfdAAG6z7IXIf8754.jpg-wh_50

  如果需要增減VG的容量,使用vgextend命令 格式爲vgextend vgname /dev/sda#

  劃分LV

  使用lvcreate命令

  格式爲lvcreate [options]  vgname

  -l  通過PE的數量指定LV的大小

  -L  通過容量來指定LV的大小 單位可以G,M,T

  -n  指定LV的名字

   wKiom1ePck_xss-TAAGJUBjQjuU589.jpg-wh_50

  格式化LV並且掛載

  wKioL1ePcseARpHcAALtLFxitjA415.jpg-wh_50

3.增加LV的容量

  五步走

  使用fdisk創建分區---創建PV---使用vgextend加入新的PV擴展VG---利用lvresize將新的PV內的PE加入到LV中----使用e2fsck檢查文件系統----使用resize2fs擴大文件系統的容量

  pvcreate /dev/sda13  #新建PV

  vgextend myvg /dev/sda13  #擴展VG

  lvresize -L +100M /dev/myvg/mylv #擴展LV

  e2fsck -f /dev/myvg/mylv #注意,應該是強行檢車,沒有-f是不行的  

  resize2fs /dev/myvg/mylv #將LV的容量擴展到整個文件系統

  最重要的使用lvresize命令

  lvresize -l 或者-L選項 通過+來擴展LV的容量

  具體格式爲lvresize -L +... /dev/vgname/lvname

  wKioL1ePd5Oh8X8bAANPeOxIvfE556.jpg-wh_50

4.減少LV的容量

  步驟

  umount /dev/myvg/mylv #LVM不支持在線縮小,但是放大可以,所以應該先卸載

  e2fsck -f /dev/myvg/mylv #強行進行磁盤檢查

  resize2fs /dev/myvg/mylv 400M   #降低文件系統的容量,原來是500M,現在減小到400M

  lvresize -L -100M /dev/myvg/mylv #降低LV的容量

  pvdisplay #將某個PV抽離VG的時候,必須要確定裏面的PE不被使用纔可以,所以使用pvdisplay查看哪個PV的PE是沒有使用的,將要抽離的PV中的含有數據的PE移動到該PV裏

  pvmove /dev/sda9 /dev/sda13  #轉移PE

  vgreduce myvg /dev/sda9將/dev/sda#抽離出VG

  pvremove /dev/sda9

  wKioL1ePe2bi4RxUAAQMaI1x0kc845.jpg-wh_50

  

5.LVM的重要應用,快照 snapshot,可以用來備份數據

  快照的原理:將系統信息記錄下來,如果有數據改動了,就將原來的數據移到快照區,沒有改動的區域由文件系統和快照區共享。

  創建快照區

  pvcreate /dev/sda9

  vgextend myvg /dev/sda9

  lvcreate -L 100M -s -n mysnapshot /dev/myvg/mylv #最重要的是-s選項,意思是創建快照區,最後的/dev/myvg/mylv 是"被快照"的文件系統

  wKioL1ePfgiQDRcEAAEotYgapgI381.jpg-wh_50

  接下來掛載快照區

  mkdir /mnt/snapshot

  mount /dev/myvg/mysnapshot /mnt/snapshot

  df #查看是否掛載成功  

  wKiom1ePfxWSmAamAAGx5o5Kds0261.jpg-wh_50

  可以看到快照區就像是LV的一面鏡子,一樣一樣的。也就是我們在掛載/dev/myvg/mylv 與/dev/myvg/mysnapshot后里面看到的數據是一樣的。

  快照的重要的作用就是可以用來複原文件系統

  cd /mydata

  rm -rf *  #搞破壞

  lvdisplay /dev/myvg/mysnapshot #發現確實被佔用了一部分空間

  mkdir -p /backups

  cd /mnt/snapshot

  tar -jcf /backups/mylv.tar.bz2  * #備份

  umount /mnt/snapshot

  lvremove /dev/myvg/mysnapshot

  mke2fs -j /dev/myvg/mylv

  mount /dev/myvg/mylv /mydata

  cd /mydata

  tar xf /backups/mylv.tar.bz2 #還原

6.LVM的關閉

必須按下面的流程操作進行,否則會讓文件系統出現問題。

umount /mnt/mydata #先卸載LV

lvremove /dev/myvg/mylv #刪除LV

vgchange -an myvg #讓vg不具備active 的標誌

pvremove /dev/sda{9,10,11,12,13} #刪除PV

fdisk /dev/sda #將分區的systemid由8e改爲83  具體操作不在贅述

wKiom1eQKmPye_oHAAKj0CEDHds419.jpg-wh_50








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章