lvm基本應用和lvm的擴展及縮減

LVMLogical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz MauelshagenLinux 2.4內核上實現,目前最新版本爲:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝Linux操做系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好以後就沒法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件由於受上層文件系統的限制,也不能跨越多個分區來存放,因此也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法一般是使用符號連接,或者使用調整分區大小的工具,但這只是暫時解決辦法,沒有從根本上解決問題。隨着Linux的邏輯卷管理功能的出現,這些問題都迎刃而解,用戶在無需停機的狀況下能夠方便地調整各個分區大小。css

  邏輯的建立是由物理卷PV組合成卷組VG,而後再在卷組VG上劃分PE,而後建立LVapp

pv管理工具:ide

      pvspv的簡要信息顯示工具

      pvdisplay:顯示pv的詳細信息spa

  pvmove  /dev/DEVICE:把當前pv上的數據移動到其餘pv操作系統

      pvcreate /dev/DEVICE: 建立pv3d

  vg管理工具: orm

     vgs:vg的簡要信息顯示htm

     vgdisplay:顯示vg的詳細信息blog

    建立vg的語法格式:

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

     vg的擴展,增長

         vgextend  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]

      vg的縮減

         vgreduce  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]

     要作vg縮減,就必須先把pv中的數據移到其餘pv上,而後再作縮減,即先作pvmove 而後作      vgreduce

lv管理工具:

     lvslv的簡要信息顯示

     lvdisplay:顯示lv的詳細信息

  建立lv的語法格式:

lvcreate -L#[mMgGtT] -n NAME VolumeGroup 指定的空間大小,要不能大於vg的空間;還有你指定的空間大小不會徹底匹配,這個取決於你指定的大小是否能被PE的空間大小整除

  移除lv

lvremove /dev/VG_NAME/LV_NAME

  擴展邏輯卷:

     #lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME

     #resize2fs /dev/VG_NAME/LV_NAME

  縮減邏輯卷:

     #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

  ±5G是在原來的基礎上加上或減去5G5G是設定如今的邏輯卷大小爲5G

  lv的命名和調用時,使用的名稱格式:

/dev/mapper/VG_NAME-LV_NAME

         /dev/mapper/vol0-root

    /dev/VG_NAME/LV_NAME

         /dev/vol0/root

    例:

                   wKiom1XgaNmDJPnyAAKgnIF5nFY015.jpg

快照:snapshot,就是把全部的文件作一個快速備份,可讓你回到之前的某個特定時間,快照只能在同一個分區內建立。

  語法格式:

    lvcreate -L #[mMgGtT] -p r -s -nsnapshot_lv_name original_lv_name

下面以一個實例,作下實驗

   建立一個5Gpv,而後把它加入VG中,再給VG中添加一個5Gpv,作縮減操做後再添加回來,而後建立lv,並進行擴展及縮減操做

一、  首先建立幾個分區,而後把格式改成8e,加載到內核中(此步演示略,若有不會請看前面的博客)

二、  而後建立pv

wKioL1XgbDCzNhHhAABp-xNLHrs892.jpg

重複幾回,pv就算建立成功了,能夠使用pvspvdisplay進行查看

wKioL1XgbFLBVyTtAADxaS4eseI268.jpg

由於沒有建立和加載到vg中,因此 VG Name爲空

三、  而後建立vg

wKioL1XgbKKiZuUFAABXxX7yTV4348.jpg

查看下

wKiom1XgaoqjDJiuAAFFs8f41Ow324.jpg

再次查看下pv

wKioL1XgbKKiSsSIAADslcsRosg105.jpg

而後爲vg擴展,使用vgextend  ,並查看下vg

wKiom1XgaoiB2q1QAAGNylFPhPs121.jpg

vg的縮減,必須先使用pvmove,而後在vgreduce,並查看

wKiom1XgbI-CdREkAAHLczn5gnA412.jpg

從新把/dev/sda6加入

四、  根據須要再添加pvvg

建立lv,使用lvcreate  -L  SIZE  –n LV_NAME  VG_NAME;使用ls 查看下會發下多了一個myvg-mylv的路徑,

wKiom1XgbKOgnaBtAACud9HJjxA571.jpg

對這個lv進行格式化

wKioL1XgbtOBqspiAAKfIC2sN6U435.jpg

下面就能夠掛載使用了

wKiom1XgbMrRnv4jAAIdekbn5YE305.jpg

這就是邏輯卷建立的整個過程

         下面作下邏輯卷的擴展和縮減

    之前的大小

    wKiom1Xgbd_AVV2OAAE-JOPDu9U448.jpg

擴展

wKiom1XgbOWTg__XAADD_AwgBe8208.jpg

     wKiom1Xgbd_AVV2OAAE-JOPDu9U448.jpg


如今仍是2G,這是由於你邏輯卷的邊界雖然大了,但文件系統的大小沒有變

須要使用resize2fs/dev/VG_NAME/LV_NAME 來擴展,這條命令只對ext系列的文件系統有效,不指定大小默認擴展到跟邏輯卷大小同樣

wKioL1XgcCayFCVdAAJBShv5NY4863.jpg

邏輯卷的縮減,必須先卸載文件系統,而後作文件系統的強制檢測和修復,而後把文件系統大小縮減(邏輯邊界縮小),最後縮減邏輯卷的大小(物理邊界)

wKiom1XgbjqAlcssAAJmoFLkGzE895.jpg

 

wKioL1XgcHLToe33AAHLzQy6D4Y043.jpg

縮減完成,在掛載就能夠使用了

wKioL1XgcIiShE7WAAEVdZoNvZo704.jpg

相關文章
相關標籤/搜索