LVM2基本應用,擴展及縮減實現

LVM(Logical Volume Manager,邏輯卷管理)是CentOS6中常用的磁盤管理的工具。常用于CentOS6上,提供了分區的動態擴展、縮減等功能。目前的常用版本為LVM2。

結構:

LVM.png

一、物理卷

LVM的物理卷以分區為單位。通常情況下,會以一個硬盤一個分區的情況下進行容量擴展。

在分區之后,要使用fisk命令來改變分區的類型,LVM的磁盤類型的ID號為8e。

分區.png

這里使用sdb1到sdb3這三個分區來做lvm2的試驗。

fdisk_t_8e.png

分區完成后,通過partx來使新分區生效。

然后通過pvcreate來使分區轉換成物理卷??梢允褂胮vs以及pvdisplay來查看物理卷的狀況。

pvcreate.png

二、卷組

創建物理卷PV之后,可以使用vgcreate命令指定需要的分區來創建卷組VG。

需要注意的是,VG并不是只能創建一個的。

卷組(VG)相關的命令:

    vgcreate [-s [KkNmGgTtPpEe]] VG_name /dev/PVdevice    
    vgextend [-s [KkNmGgTtPpEe]] VG_name /dev/PVdevice
    vgreduce VG_name PhysicalDevicePath
    
		    #注意:-s用來指定PE的大小,也就是屬于LV的最小單位。如果不指定的話,默認值是4M,
		    #往后擴展的大小,例如+2G,系統都是按PE的大小,湊夠2G。
		    #由于lvm1的時候PE數量是有限制的,為65534個。所以4M*65534近似于256G。
		    #LVM2的時候這個限制就被擴大了,所以個人認為能用lvm2的時候就用lvm2吧。

創建之后同樣可以使用vgdisplay來查看邏輯卷的狀況。

vgdisplay_12.png

這里我們使用默認值,添加一個最簡單的卷組vg_bc,并使用vgdisplay來查看他的狀態。

我們可以大概的計算一個,2558*4M就是近似于10G。也就是卷組中sdb1和sdb2兩個物理卷的的大小。

同時,當VG的容量用滿的時候,可以通過vgextend來添加物理卷pv的方式進行擴容

vgextend_sdb123.png

三、邏輯卷

當創建好VG之后,我們可以將VG當做是一個可以調整大小的硬盤來使用。

而在VG上面,我們可以創建邏輯卷以進行使用。

lv管理工具:

lvs
lvdisplay
lvcreate -L [+] [KkNmGgTtPpEe] -n name VGname
    #-L指的是線性地填充pv,也就是填充滿了一個pv之后,再填充一個。

lvcreate.png

創建好lv之后,接著的步驟就是進行格式化和掛載了吧。

mkfs.png

我們嘗試往里面復制一個文件,并使用df來查看掛載好的文件夾的使用情況

-h選項為將容量顯示為可以為人類容易識別的形式。要不然就是按1k來顯示了。

df -h.png

擴展邏輯卷的步驟

lvextend -L size /dev/vgname/lvname
resize2fs /dev/vg_name/Lv_name
#需要注意的是,雖然擴展可以在線擴展。
#但是,但是!lv縮減的時候,要先卸載分區。
#因為可能的分區在線的時候,你需要縮減的部分,本來沒被使用但又剛好被使用等奇怪情況。[object Object]

擴展了lv的大小之后,別忘記resize一下ext系統。其實也就是告訴ext系統,你的分區改變了。lvextend.png

df-resize.png

我們可以看見,在擴展LV的時候resize2fs命令是動態在線的,并沒有影響已經使用的文件。

lv縮減的步驟

umount LVName
e2fsck -f LVName
resize2fs LVName Size
lvreduce -L Size LVname
Mount

lvreduce.png

注意:由于文件系統使用久了會有碎片。所以結構可能不是緊湊的,也就是說占用了文件系統5G。

當把文件夾剛好減少到5G,就很有可能造成文件損壞。所以這個功能在不需要的時候還是不要使用比較好。

四、快照

lvm2還提供快照功能儲存修改過的文件,可以幫助找回誤刪或者修改的文件。

lvcreate -L [KkNmGgTtPpEe] -p r -s -n NAME /dev/VG/LV
#而創建快照的命令跟lv創建類似,但是要注意的有兩點。
#-s代表snapshot,也就是快照,而最后一個跟的不是vg的名字,而是要創建快照的LV!!
#也就是說快照就基于lv的,并不是所有lv的舊文件都會往里面塞。

創建快照

snapshot.png

使用lvs,可以看出my_lvm3_snapshot是my_lvm3的快照。

snapshot1.png

lvm上的快照 snapshot
	通過快照分區訪問源數據,
	沒改變的訪問原inode,改變了的文件則訪問儲存在快照上的文件。
	要訪問某時間點的就訪問儲存在快照上的文件。

snashot.png

我們把/etc/httpd文件夾復制到lvm1里面。

并為lvm1創建一個快照my_snapshot2_lvm2_2,并將快照掛載到/media/snapshot2上。

snapshot_2.png

此時我們echo 0覆蓋到lvm1的httpd.conf下面,再查看快照上的httpd.conf。

我們會發現,快照上的文件并沒有改變。

lvdisplay.png

使用lvdisplay來查看快照的狀態

lv-size是被快照的lv的容量,而COW-table-size則是快照的實際容量.

COW(Copy On Wirte,寫時復制)

與快照相關閱讀的擴展閱讀:快照的常見類型

關于快照的數據恢復:

截取自鳥哥的私房菜:
為什么要備份呢?為什么不可以直接格式化lv然后將快照直接復制給lv上呢? 
    要知道 vbirdss 其實是 vbirdlv 的快照,因此如果你格式化整個lv 時,原本的文件系統所有數據都會被搬移到快照。
    那如果 vbirdss 的容量不夠大 (通常也真的不夠大),那么部分數據將無法復制到 vbirdss 內,數據當然無法全部還原?。?
    所以才要在上面表格中制作出一個備份文件的!了解乎?

示例:

    tar -jcv -f /backups/lvm.tar.bz2 *

與RAID的異同:

相同點:

以分區為單位,將多個分區通過軟件的方式整合成一個統一單位。

通常的環境下,一般以一個硬盤一個分區的方式進行容量擴展。

例如,LVM將分區轉化為物理卷,再將物理卷(PV)加入卷組(VG)這個整體中進行管理。而后,再創建邏輯卷(LV)。

而RAID同樣地以分區為單位,通過軟件或者硬件的方式整合成一個MD設備。然后將MD設備當成一個普通的硬盤一樣使用。

不同點:

常用的RAID方式中,1,5,6提供冗余功能。磁盤損壞的情況下,損壞的文件部分可以通過計算得出。

LVM不提供冗余功能,文件壞了就是壞了。但是無論RAID或者LVM,都要注意好備份。

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

(0)
菠菜菠菜
上一篇 2016-02-24 16:36
下一篇 2016-02-27 21:03

相關推薦

  • 組建RAID5重啟系統,出現md127的解決辦法

        我這里在組建RAID5之后重啟了系統,當時/dev/md0變成了/dev/md127。出現這問題主要是我沒有配置生成/etc/mdadm.conf文件,如果哪位伙伴出現類似我這種情況,而不是通過我這種方法解決的,希望能分享一下你的解決方法,謝謝。  先停止md127 [root@client3&nbs…

    Linux干貨 2016-01-05
  • 由Linux中一個小問題引發的思考

    一、一個小問題 1、在學習Linux中我們經常會遇到很多有趣的小問題,今天筆者就遇到了一個很有意思的小問題,現在分享給大家:      “如何在本機字符終端登陸時,除顯示原有信息外,再顯示當前終端號,時間和主機名?” 2、實現方法如下:      輸入vim /etc/…

    2017-07-16
  • 磁盤管理

    磁盤,分區,文件系統

    Linux干貨 2017-12-02
  • linux發行版的基礎目錄名稱命名法則及功用規定。

    Linux文件系統:         Linux:glibc標準C庫                  &nb…

    Linux干貨 2016-10-30
  • linux入門

    linux入門 Centos中分root用戶和普通用戶,root為超級管理員,幾乎具有所有的系統控制 剛進入linux系統,Ctrl+Alt+F[1-6]可以切換虛擬終端  (tty) 圖形終端:CentOS 6: Ctrl + Alt + F7       CentOS 7:在哪個終端啟動,即位于哪個虛擬終端 偽終端…

    Linux干貨 2017-02-16
  • vim編輯器

      在linux系統中使用文本編輯器來編輯你的配置文件是一件很重要的事。vim是linux最常用的文本編輯器,具有以下優勢:所有的linux都內置vi文本編輯器。很多軟件都會主動調用vi,如crontab、visudo等. 所以我們必須學好vi,vim分為以下3種模式:   一般模式: 用 vi打開一個文件時,一進入該文件就是一般模式了?!?/p>

    Linux干貨 2016-06-09
欧美性久久久久