lvm邏輯卷管理

lvm邏輯卷管理

功能:

1.磁盤整合

2.在線擴容

pv:物理卷在邏輯卷管理系統(tǒng)最底層,可為整個物理硬盤或者實際物理硬盤上的分區(qū)。他只是在物理分區(qū)上劃分了一個特殊的區(qū)域,用于記載于LVM相關(guān)的管理參數(shù)。

vg:卷組建立在物理卷上。

lv:邏輯卷建立在卷組基礎(chǔ)上,建立后邏輯卷可以動態(tài)擴展和縮小空間。

pe:物理區(qū)域是物理卷中可用于分配的最小存儲單元,物理區(qū)域大小在建立卷組是指定,一旦確定不能修改,同一卷組所有物理卷的物理區(qū)域大小需一致,新的pv加入到vg后,pe的大小會自動更改為vg中定義的pe大小。

le:邏輯區(qū)域是邏輯卷中可用于分配的最小存儲單元,邏輯區(qū)域的大小取決于邏輯卷所在卷組中的物理區(qū)域的大小。由于受內(nèi)核顯示,一個邏輯卷LV最多只能包含65536個pe,所以一個pe的大小就決定了邏輯卷的最大容量,4MB(默認(rèn))的pe決定了單個邏輯卷最大容量是256G,若希望使用大于256G的邏輯卷,則創(chuàng)建卷組時指定更大的pe。pe的大小范圍是8KB到16GB,并且總數(shù)是2的倍數(shù)。

1.創(chuàng)建pv

[root@localhost ~]# pvcreate /dev/sda5 /dev/sda6

[root@localhost ~]# pvdisplay

[root@localhost ~]# pvs

2.創(chuàng)建vg

[root@localhost ~]# vgcreate vg0 /dev/sda5 /dev/sda6

[root@localhost ~]# vgcreate -s 10M vg0 /dev/sda5 指定物理擴展塊大小

[root@localhost ~]# vgdisplay

[root@localhost ~]# vgs

-s 卷組上的物理卷的pe大小。 -p 卷組允許添加的最大物理卷數(shù) -l 卷組允許創(chuàng)建的最大邏輯卷數(shù)

3.創(chuàng)建lv

[root@localhost ~]# lvcreate -L 250M -n /dev/vg0/lv0 vg0

[root@localhost ~]# lvcreate -l 10 -n lv0 /dev/vg0 -l 指定物理擴展單元個數(shù)

[root@localhost ~]# lvdisplay

[root@localhost ~]# lvs

-L 指定邏輯卷大小 -l 指定邏輯卷的大?。╨e數(shù))

注意:

pv不能跨越vg

lv不能跨越vg

系統(tǒng)中可以創(chuàng)建多個vg

vg中可以創(chuàng)建多個lv

使用

[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0

[root@localhost ~]# mount /dev/vg0/lv0 /mnt/

在線擴容:掛載狀態(tài),數(shù)據(jù)不損壞

[root@localhost ~]# mount /dev/vg0/lv0 /mnt/

[root@localhost mnt]# dd if=/dev/zero of=data bs=100M count=3

[root@localhost mnt]# md5sum data

3566de3a97906edb98d004d6b947ae9b data

[root@localhost mnt]# lvextend -L +100M /dev/vg0/lv0 擴大lv

[root@localhost mnt]# e2fsck -f /dev/vg0/lv0 檢查文件系統(tǒng)的正確性

[root@localhost mnt]# resize2fs /dev/vg0/lv0 擴展文件系統(tǒng)(全部擴展)

[root@localhost mnt]# md5sum data

3566de3a97906edb98d004d6b947ae9b data

vgextend vggroup /dev/pvname

不需要卸載磁盤

xfs_growfs /dev/vg0/lv0 比如擴展root

e2fsck 執(zhí)行后的傳回值及代表意義如下:

0沒有任何錯誤發(fā)生。1文件系統(tǒng)發(fā)生錯誤,并且已經(jīng)修正。2文件系統(tǒng)發(fā)生錯誤,并且已經(jīng)修正。4文件系統(tǒng)發(fā)生錯誤,但沒有修正。8運作時發(fā)生錯誤。16使用的語法發(fā)生錯誤。128共享的函數(shù)庫發(fā)生錯誤。

參  數(shù):

-a:對partition做檢查,若有問題便自動修復(fù),等同-p的功能

-b:設(shè)定存放superblock的位置

-B:設(shè)定單位block的大小

-c:檢查該partition是否有壞軌

-Cfile:將檢查的結(jié)果存到file中以便查看

-d:列印e2fsck的debug結(jié)果

-f:強制檢查

-F:在開始檢查前,將device的buffercache清空,避免有錯誤發(fā)生

-lbad_blocks_file:將有壞軌的block資料加到bad_blocks_file里面

-Lbad_blocks_file:設(shè)定壞軌的block資料存到bad_blocks_file里面,若無該檔則自動產(chǎn)生

-n:將檔案系統(tǒng)以[唯讀]方式開啟

-p:對partition做檢查,若有問題便自動修復(fù)

-v:詳細(xì)顯示模式

-V:顯示出目前e2fsck的版本

-y:預(yù)先設(shè)定所有檢查時的問題均回答[是]

大部分使用 e2fsck 來檢查硬盤 partition的情況時,通常都是情況特殊,因此最好將 partition umount,然后再檢查。若非要檢查 / 時,則進入 singalusermode 再執(zhí)行。

resize2fs程序會重新定義ext2,ext3或者是ext4文件系統(tǒng)。能夠用于擴大或者縮小一個在設(shè)備上未掛載的文件系統(tǒng)。如果這個文件系統(tǒng)是掛在的,它能夠用于擴大掛載了的文件系統(tǒng),假定內(nèi)核支持在線重新定義大小。大小參數(shù)指定要求的文件系統(tǒng)的新大小。如果單位沒有指定,大小參數(shù)的單位會成為文件系統(tǒng)的文件系統(tǒng)的文件塊尺寸。

resize2fs程序不會改變分區(qū)的大小。如果你希望擴大是一個文件系統(tǒng),你必須首先確認(rèn)擴大的潛在的分區(qū)的大小。這個能夠用于使用fdisk通過過刪除分區(qū)并重新創(chuàng)建一個各大的分區(qū)或者使用lvextend,如果你在使用本地卷管理lvm。

選項

-ddebug-flags(調(diào)試-標(biāo)志)

打開多樣的resize2fs調(diào)試特性,如果他們已經(jīng)被編譯進入了庫當(dāng)中。調(diào)試-標(biāo)志應(yīng)該通過相加下列列表設(shè)計的特性的數(shù)字來計算:

2-Debugblockrelocations(調(diào)試block再安置)

4-Debuginoderelocations(調(diào)試inode再安置)

8-Debugmovingtheinodetable(調(diào)試移動inodetable)

-f強制開始文件系統(tǒng)重定義大小操作,推翻一些resize2fs平常的強制安全檢查。

-F開始之前排除文件系統(tǒng)設(shè)備的緩沖區(qū)的緩存。真正只對resize2fs的時間檢驗有用。

-M減小文件系統(tǒng)到最小的大小。

-p為了每一個resize2fs操作打印一個百分比完成條,因此用戶可以保持注意程序正在運作的動態(tài)。

-P打印最小的文件大小并退出。

縮小lv

1.卸載

[root@localhost /]# umount /dev/vg0/lv0

2.檢查文件系統(tǒng)

[root@localhost ~]# e2fsck -f /dev/vg0/lv0

3.縮小文件系統(tǒng)

[root@localhost ~]# resize2fs /dev/vg0/lv0 220M 縮小到220M

4.縮小lv

[root@localhost ~]# lvresize -L 220M /dev/vg0/lv0 縮小到220M

vg的擴大

[root@localhost ~]# pvcreate /dev/sda8

[root@localhost ~]# vgextend vg0 /dev/sda8

vg縮小

[root@localhost ~]# vgreduce vg0 /dev/sda5

數(shù)據(jù)移動

[root@localhost ~]# pvmove /dev/sda5 /dev/sda8 指定設(shè)備移動

[root@localhost ~]# pvmove /dev/sda5 不指定設(shè)備移動

刪除lvm

1.umount /dev/vg0/lv0

2.[root@localhost ~]# lvremove /dev/vg0/lv0

3.[root@localhost ~]# vgremove vg0

4.[root@localhost ~]# pvremove /dev/sda{5,6,8}

錯誤:

[root@localhost ~]# vgreduce --removemissing vg0

快照

快照功能可以將某一時刻的信息記錄到快照區(qū)中,因此,可以利用這一特點對數(shù)據(jù)做完全備份。而后,新提交的數(shù)據(jù)可以利用二進制日志文件來做增量備份和還原。因此,通過這種方式就可以實現(xiàn)對數(shù)據(jù)做幾乎熱備。

[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0

[root@localhost ~]# mount /dev/vg0/lv0 /mnt/

創(chuàng)建快照

[root@localhost mnt]# lvcreate -L 50M -s -n /dev/vg0/lv0-s0 /dev/vg0/lv0

使用

1.只使用快照,源lv不動

快照記錄源lv數(shù)據(jù)的元數(shù)據(jù),當(dāng)需要文件內(nèi)容,將數(shù)據(jù)塊拷貝到快照中,快照使用率達到100%時,快照自動損壞.

2.只使用源lv,快照不動

主要用戶備份(mysql),快照大小,源lv寫入速度,采用cow技術(shù),備份時間,

cp/tar 備份時只針對文件操作,不針對塊操作,不會對空塊操作,不會備份空塊。

image.png
image.png
image.png
image.png

=========================================

parted 劃分分區(qū)

image.png

quit 用于退出parted環(huán)境,信息提示更新/etx/fstab!

image.png

parted 到這里就完成了!

格式化磁盤 ext4 / xfs

image.png

[root@abintel ~]# parted --help

用法:parted [選項]... [設(shè)備 [命令 [參數(shù)]...]...]

將帶有“參數(shù)”的命令應(yīng)用于“設(shè)備”。如果沒有給出“命令”,則以交互模式運行。

選項:

-h, --help 顯示此求助信息

-i, --interactive 在必要時,提示用戶

-s, --script 從不提示用戶

-v, --version 顯示版本

命令:

檢查 MINOR 對文件系統(tǒng)進行一個簡單的檢查

cp [FROM-DEVICE] FROM-MINOR TO-MINOR 將文件系統(tǒng)復(fù)制到另一個分區(qū)

help [COMMAND] 打印通用求助信息,或關(guān)于 COMMAND 的信息

mklabel 標(biāo)簽類型 創(chuàng)建新的磁盤標(biāo)簽 (分區(qū)表)

mkfs MINOR 文件系統(tǒng)類型 在 MINOR 創(chuàng)建類型為“文件系統(tǒng)類型”的文件系統(tǒng)

mkpart 分區(qū)類型 [文件系統(tǒng)類型] 起始點 終止點 創(chuàng)建一個分區(qū)

mkpartfs 分區(qū)類型 文件系統(tǒng)類型 起始點 終止點 創(chuàng)建一個帶有文件系統(tǒng)的分區(qū)

move MINOR 起始點 終止點 移動編號為 MINOR 的分區(qū)

name MINOR 名稱 將編號為 MINOR 的分區(qū)命名為“名稱”

print [MINOR] 打印分區(qū)表,或者分區(qū)

quit 退出程序

rescue 起始點 終止點 挽救臨近“起始點”、“終止點”的遺失的分區(qū)

resize MINOR 起始點 終止點 改變位于編號為 MINOR 的分區(qū)中文件系統(tǒng)的大小

rm MINOR 刪除編號為 MINOR 的分區(qū)

select 設(shè)備 選擇要編輯的設(shè)備

set MINOR 標(biāo)志 狀態(tài) 改變編號為 MINOR 的分區(qū)的標(biāo)志

注意

mklabel label-type 必須是一下這些類型:

  • bsd

  • loop (raw disk access)

  • gpt

  • mac

  • msdos

  • pc98

  • sun

例:(parted) mklabel gtp 或者 (parted) mklabel msdos

mkpart(建立新分區(qū))

格式:mkpart part-type fs-type start end

建立一個新的分區(qū)

part-type是以下類型之一 primary(主分區(qū)), extended(擴展分區(qū)), logical(邏輯分區(qū))。

fs-type來指定文件系統(tǒng),比如ext4 。

start和end是新分區(qū)開始和結(jié)束的具體位置。0表示起止,-1表示結(jié)尾;或者以mb表示或者GB表示!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容