lvm邏輯卷管理
功能:
1.磁盤(pán)整合
2.在線擴(kuò)容
pv:物理卷在邏輯卷管理系統(tǒng)最底層司蔬,可為整個(gè)物理硬盤(pán)或者實(shí)際物理硬盤(pán)上的分區(qū)。他只是在物理分區(qū)上劃分了一個(gè)特殊的區(qū)域琉用,用于記載于LVM相關(guān)的管理參數(shù)堕绩。
vg:卷組建立在物理卷上。
lv:邏輯卷建立在卷組基礎(chǔ)上邑时,建立后邏輯卷可以動(dòng)態(tài)擴(kuò)展和縮小空間奴紧。
pe:物理區(qū)域是物理卷中可用于分配的最小存儲(chǔ)單元,物理區(qū)域大小在建立卷組是指定刁愿,一旦確定不能修改绰寞,同一卷組所有物理卷的物理區(qū)域大小需一致到逊,新的pv加入到vg后铣口,pe的大小會(huì)自動(dòng)更改為vg中定義的pe大小滤钱。
le:邏輯區(qū)域是邏輯卷中可用于分配的最小存儲(chǔ)單元,邏輯區(qū)域的大小取決于邏輯卷所在卷組中的物理區(qū)域的大小脑题。由于受內(nèi)核顯示件缸,一個(gè)邏輯卷LV最多只能包含65536個(gè)pe,所以一個(gè)pe的大小就決定了邏輯卷的最大容量叔遂,4MB(默認(rèn))的pe決定了單個(gè)邏輯卷最大容量是256G他炊,若希望使用大于256G的邏輯卷,則創(chuàng)建卷組時(shí)指定更大的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 指定物理擴(kuò)展塊大小
[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 指定物理擴(kuò)展單元個(gè)數(shù)
[root@localhost ~]# lvdisplay
[root@localhost ~]# lvs
-L 指定邏輯卷大小 -l 指定邏輯卷的大性涞(le數(shù))
注意:
pv不能跨越vg
lv不能跨越vg
系統(tǒng)中可以創(chuàng)建多個(gè)vg
vg中可以創(chuàng)建多個(gè)lv
使用
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0
[root@localhost ~]# mount /dev/vg0/lv0 /mnt/
在線擴(kuò)容:掛載狀態(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 擴(kuò)大lv
[root@localhost mnt]# e2fsck -f /dev/vg0/lv0 檢查文件系統(tǒng)的正確性
[root@localhost mnt]# resize2fs /dev/vg0/lv0 擴(kuò)展文件系統(tǒng)(全部擴(kuò)展)
[root@localhost mnt]# md5sum data
3566de3a97906edb98d004d6b947ae9b data
vgextend vggroup /dev/pvname
不需要卸載磁盤(pán)
xfs_growfs /dev/vg0/lv0 比如擴(kuò)展root
e2fsck 執(zhí)行后的傳回值及代表意義如下:
0沒(méi)有任何錯(cuò)誤發(fā)生。1文件系統(tǒng)發(fā)生錯(cuò)誤嚼吞,并且已經(jīng)修正盒件。2文件系統(tǒng)發(fā)生錯(cuò)誤,并且已經(jīng)修正舱禽。4文件系統(tǒng)發(fā)生錯(cuò)誤炒刁,但沒(méi)有修正。8運(yùn)作時(shí)發(fā)生錯(cuò)誤誊稚。16使用的語(yǔ)法發(fā)生錯(cuò)誤翔始。128共享的函數(shù)庫(kù)發(fā)生錯(cuò)誤。
參 數(shù):
-a:對(duì)partition做檢查里伯,若有問(wèn)題便自動(dòng)修復(fù)绽昏,等同-p的功能
-b:設(shè)定存放superblock的位置
-B:設(shè)定單位block的大小
-c:檢查該partition是否有壞軌
-Cfile:將檢查的結(jié)果存到file中以便查看
-d:列印e2fsck的debug結(jié)果
-f:強(qiáng)制檢查
-F:在開(kāi)始檢查前,將device的buffercache清空俏脊,避免有錯(cuò)誤發(fā)生
-lbad_blocks_file:將有壞軌的block資料加到bad_blocks_file里面
-Lbad_blocks_file:設(shè)定壞軌的block資料存到bad_blocks_file里面全谤,若無(wú)該檔則自動(dòng)產(chǎn)生
-n:將檔案系統(tǒng)以[唯讀]方式開(kāi)啟
-p:對(duì)partition做檢查,若有問(wèn)題便自動(dòng)修復(fù)
-v:詳細(xì)顯示模式
-V:顯示出目前e2fsck的版本
-y:預(yù)先設(shè)定所有檢查時(shí)的問(wèn)題均回答[是]
大部分使用 e2fsck 來(lái)檢查硬盤(pán) partition的情況時(shí)爷贫,通常都是情況特殊认然,因此最好將 partition umount,然后再檢查漫萄。若非要檢查 / 時(shí)卷员,則進(jìn)入 singalusermode 再執(zhí)行。
resize2fs程序會(huì)重新定義ext2,ext3或者是ext4文件系統(tǒng)腾务。能夠用于擴(kuò)大或者縮小一個(gè)在設(shè)備上未掛載的文件系統(tǒng)毕骡。如果這個(gè)文件系統(tǒng)是掛在的,它能夠用于擴(kuò)大掛載了的文件系統(tǒng),假定內(nèi)核支持在線重新定義大小未巫。大小參數(shù)指定要求的文件系統(tǒng)的新大小窿撬。如果單位沒(méi)有指定,大小參數(shù)的單位會(huì)成為文件系統(tǒng)的文件系統(tǒng)的文件塊尺寸叙凡。
resize2fs程序不會(huì)改變分區(qū)的大小劈伴。如果你希望擴(kuò)大是一個(gè)文件系統(tǒng),你必須首先確認(rèn)擴(kuò)大的潛在的分區(qū)的大小握爷。這個(gè)能夠用于使用fdisk通過(guò)過(guò)刪除分區(qū)并重新創(chuàng)建一個(gè)各大的分區(qū)或者使用lvextend跛璧,如果你在使用本地卷管理lvm。
選項(xiàng)
-ddebug-flags(調(diào)試-標(biāo)志)
打開(kāi)多樣的resize2fs調(diào)試特性新啼,如果他們已經(jīng)被編譯進(jìn)入了庫(kù)當(dāng)中追城。調(diào)試-標(biāo)志應(yīng)該通過(guò)相加下列列表設(shè)計(jì)的特性的數(shù)字來(lái)計(jì)算:
2-Debugblockrelocations(調(diào)試block再安置)
4-Debuginoderelocations(調(diào)試inode再安置)
8-Debugmovingtheinodetable(調(diào)試移動(dòng)inodetable)
-f強(qiáng)制開(kāi)始文件系統(tǒng)重定義大小操作,推翻一些resize2fs平常的強(qiáng)制安全檢查燥撞。
-F開(kāi)始之前排除文件系統(tǒng)設(shè)備的緩沖區(qū)的緩存漓柑。真正只對(duì)resize2fs的時(shí)間檢驗(yàn)有用。
-M減小文件系統(tǒng)到最小的大小叨吮。
-p為了每一個(gè)resize2fs操作打印一個(gè)百分比完成條辆布,因此用戶可以保持注意程序正在運(yùn)作的動(dòng)態(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的擴(kuò)大
[root@localhost ~]# pvcreate /dev/sda8
[root@localhost ~]# vgextend vg0 /dev/sda8
vg縮小
[root@localhost ~]# vgreduce vg0 /dev/sda5
數(shù)據(jù)移動(dòng)
[root@localhost ~]# pvmove /dev/sda5 /dev/sda8 指定設(shè)備移動(dòng)
[root@localhost ~]# pvmove /dev/sda5 不指定設(shè)備移動(dòng)
刪除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}
錯(cuò)誤:
[root@localhost ~]# vgreduce --removemissing vg0
快照
快照功能可以將某一時(shí)刻的信息記錄到快照區(qū)中锋玲,因此,可以利用這一特點(diǎn)對(duì)數(shù)據(jù)做完全備份涵叮。而后惭蹂,新提交的數(shù)據(jù)可以利用二進(jìn)制日志文件來(lái)做增量備份和還原。因此割粮,通過(guò)這種方式就可以實(shí)現(xiàn)對(duì)數(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不動(dòng)
快照記錄源lv數(shù)據(jù)的元數(shù)據(jù),當(dāng)需要文件內(nèi)容,將數(shù)據(jù)塊拷貝到快照中,快照使用率達(dá)到100%時(shí),快照自動(dòng)損壞.
2.只使用源lv,快照不動(dòng)
主要用戶備份(mysql),快照大小,源lv寫(xiě)入速度,采用cow技術(shù),備份時(shí)間,
cp/tar 備份時(shí)只針對(duì)文件操作,不針對(duì)塊操作舀瓢,不會(huì)對(duì)空塊操作廷雅,不會(huì)備份空塊。
=========================================
parted 劃分分區(qū)
quit 用于退出parted環(huán)境京髓,信息提示更新/etx/fstab航缀!
parted 到這里就完成了!
格式化磁盤(pán) ext4 / xfs
[root@abintel ~]# parted --help
用法:parted [選項(xiàng)]... [設(shè)備 [命令 [參數(shù)]...]...]
將帶有“參數(shù)”的命令應(yīng)用于“設(shè)備”堰怨。如果沒(méi)有給出“命令”芥玉,則以交互模式運(yùn)行。
選項(xiàng):
-h, --help 顯示此求助信息
-i, --interactive 在必要時(shí)备图,提示用戶
-s, --script 從不提示用戶
-v, --version 顯示版本
命令:
檢查 MINOR 對(duì)文件系統(tǒng)進(jìn)行一個(gè)簡(jiǎn)單的檢查
cp [FROM-DEVICE] FROM-MINOR TO-MINOR 將文件系統(tǒng)復(fù)制到另一個(gè)分區(qū)
help [COMMAND] 打印通用求助信息灿巧,或關(guān)于 COMMAND 的信息
mklabel 標(biāo)簽類型 創(chuàng)建新的磁盤(pán)標(biāo)簽 (分區(qū)表)
mkfs MINOR 文件系統(tǒng)類型 在 MINOR 創(chuàng)建類型為“文件系統(tǒng)類型”的文件系統(tǒng)
mkpart 分區(qū)類型 [文件系統(tǒng)類型] 起始點(diǎn) 終止點(diǎn) 創(chuàng)建一個(gè)分區(qū)
mkpartfs 分區(qū)類型 文件系統(tǒng)類型 起始點(diǎn) 終止點(diǎn) 創(chuàng)建一個(gè)帶有文件系統(tǒng)的分區(qū)
move MINOR 起始點(diǎn) 終止點(diǎn) 移動(dòng)編號(hào)為 MINOR 的分區(qū)
name MINOR 名稱 將編號(hào)為 MINOR 的分區(qū)命名為“名稱”
print [MINOR] 打印分區(qū)表赶袄,或者分區(qū)
quit 退出程序
rescue 起始點(diǎn) 終止點(diǎn) 挽救臨近“起始點(diǎn)”、“終止點(diǎn)”的遺失的分區(qū)
resize MINOR 起始點(diǎn) 終止點(diǎn) 改變位于編號(hào)為 MINOR 的分區(qū)中文件系統(tǒng)的大小
rm MINOR 刪除編號(hào)為 MINOR 的分區(qū)
select 設(shè)備 選擇要編輯的設(shè)備
set MINOR 標(biāo)志 狀態(tài) 改變編號(hào)為 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
建立一個(gè)新的分區(qū)
part-type是以下類型之一 primary(主分區(qū)), extended(擴(kuò)展分區(qū)), logical(邏輯分區(qū))抠藕。
fs-type來(lái)指定文件系統(tǒng)饿肺,比如ext4 。
start和end是新分區(qū)開(kāi)始和結(jié)束的具體位置幢痘。0表示起止唬格,-1表示結(jié)尾家破;或者以mb表示或者GB表示颜说!