十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
LVM(Logical Volume Manager)卷組管理器,通過對(duì)底層物理磁盤的封裝,可以將多塊物理磁盤組合成邏輯資源池,提供給上層應(yīng)用使用(如文件系統(tǒng)). LVM的好處是,可以跨物理硬盤為文件系統(tǒng)提供容量,并且可以動(dòng)態(tài)進(jìn)行分區(qū)容量的調(diào)整,而不會(huì)損壞原有的文件系統(tǒng).

創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、安州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、購(gòu)物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為安州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
物理磁盤 :物理存儲(chǔ)介質(zhì),可以是整塊物理存儲(chǔ)或一個(gè)分區(qū).
物理卷PV(physical volume) :LVM要使用物理磁盤,在物理磁盤的頭部寫入lvm標(biāo)簽頭,就創(chuàng)建了一個(gè)PV,PV是組成VG的基本單元.
卷組VG(Volume Group) :VG相當(dāng)于非LVM系統(tǒng)中的物理硬盤,一個(gè)卷組VG由一個(gè)或多個(gè)PV組成,形成一個(gè)存儲(chǔ)資源池.
邏輯卷LV(logical volume) :LV相當(dāng)于非LVM系統(tǒng)中的硬盤分區(qū),LV建立在卷組VG之上,文件系統(tǒng)建立在LV之上.
物理塊PE(physical Extent) :創(chuàng)建LV時(shí)可以分配的最小存儲(chǔ)單元,大小可以指定,默認(rèn)為4MB
如上是從物理磁盤到lvm邏輯卷的創(chuàng)建過程及映射關(guān)系,lv01、lv02被創(chuàng)建后,通過device-mapper映射為邏輯塊設(shè)備(塊設(shè)備路徑/dev/vg01/lv01、/dev/vg01/lv02),供文件系統(tǒng)使用,通過mkfs.ext4 /dev/vg01/lv02可創(chuàng)建ext4文件系統(tǒng).
元數(shù)據(jù)主要是兩部分,PV header + metadata,位置一般是在PV的0~2048 sector中,從2048 sector開始是數(shù)據(jù)區(qū)域.
通過pvcreate創(chuàng)建pv時(shí),會(huì)將pv header寫入物理磁盤,位置一般是在磁盤的第二個(gè)sector(512B/sector),lvm掃描磁盤時(shí),通過pv header來識(shí)別PV.
pv header主要信息包括,pv uuid、元數(shù)據(jù)位置和metadata位置.
pv header實(shí)例:
metadata記錄的是vg和lv的配置信息,以ASCII碼的方式寫入metadata區(qū)域;vg和lv的每次配置變更,都會(huì)以追加的方式寫入metadata區(qū)域,并打上時(shí)間戳,該區(qū)域?qū)憹M后,新的變更記錄會(huì)覆蓋最早的一次記錄. 進(jìn)行vgscan時(shí),猜測(cè)應(yīng)該是通過讀取最新一次的配置記錄,進(jìn)行激活.
vg配置信息,主要是包含的pv信息.
lv配置信息,主要是lv的起始位置和PE大小.
實(shí)例:
pvcreate /dev/vdb1
pvcreate /dev/vdb2
pvcreate /dev/vdb3
vgcreate /dev/vdb1 /dev/vdb2 /dev/vdb3
vgcreate wan /dev/vdb1 /dev/vdb2 /dev/vdb3
lvcreate -L 300M -n lv01 wan
將PV的前2048個(gè)sector通過dd拷貝出來,用cat查看如下.
假設(shè)我們有一塊磁盤 /dev/sdb1 作為應(yīng)用數(shù)據(jù)盤使用,以此為例創(chuàng)建lvm分區(qū)
先創(chuàng)建物理卷PV,命令: pvcreate /dev/sdb1
創(chuàng)建卷組VG,卷組命名為kylin,命令:vgcreate kylin /dev/sdb1
在VG中創(chuàng)建邏輯分區(qū)LV,命令:lvcreate -L 30G -n test kylin
創(chuàng)建邏輯分區(qū)后,進(jìn)行格式化,然后便可以掛載使用.
mkfs.ext4 /dev/kylin/test
mount /dev/kylin/test /data
假設(shè)我們?cè)谏鲜龌A(chǔ)上,又獲得一塊磁盤/dev/sdc1進(jìn)行擴(kuò)容,將磁盤容量增加到LV分區(qū)/dev/kylin/test中,具體操作如下.
先創(chuàng)建物理卷PV,命令: pvcreate /dev/sdc1
將/dev/sdc1添加進(jìn)VG kylin,命令:vgextend kylin /dev/sdc1
增加LV分區(qū)容量,命令:lvextend -L +30G /dev/kylin/test
lvm卷組配置備份
lvm的配置信息默認(rèn)在/etc/lvm/backup、/etc/lvm/archive/兩個(gè)目錄存在備份,當(dāng)lvm元數(shù)據(jù)損壞,lvm卷組讀取異常時(shí),可通過備份文件進(jìn)行恢復(fù).
/etc/lvm/backup: 保留了當(dāng)前配置的備份
/etc/lvm/archive/:保留了每次配置更新前的備份
實(shí)例演示
邏輯卷/dev/wan/lv01
在/dev/wan/lv01上創(chuàng)建文件系統(tǒng)
掛載并創(chuàng)建文件
覆蓋/dev/vdb1、/dev/vdb2的lvm元數(shù)據(jù),并重啟系統(tǒng),vg已不能識(shí)別
通過pvcreate命令修復(fù)pv header 和metadata數(shù)據(jù).
激活邏輯卷
掛載/dev/wan/lv01成功,說明成功修復(fù)
每個(gè)Linux使用者在安裝Linux時(shí)都會(huì)遇到這樣的困境:在為系統(tǒng)分區(qū)時(shí),如何精確評(píng)估和分配各個(gè)硬盤分區(qū)的容量,因?yàn)橄到y(tǒng)管理員不但要考慮到當(dāng)前某個(gè)分區(qū)需要的容量,還要預(yù)見該分區(qū)以后可能需要的容量的最大值。如果估計(jì)不準(zhǔn)確,當(dāng)遇到某個(gè)分區(qū)不夠用時(shí)管理員可能甚至要備份整個(gè)系統(tǒng)、清除硬盤、重新對(duì)硬盤分區(qū),然后恢復(fù)數(shù)據(jù)到新分區(qū)
邏輯卷管理器LVM(Logicl Volume Manager),通過使用邏輯卷管理器對(duì)硬盤存儲(chǔ)設(shè)備進(jìn)行管理,可以實(shí)現(xiàn)硬盤空間的動(dòng)態(tài)劃分和調(diào)整,而且可以將零碎的空間進(jìn)行整合
? 物理卷(PV-Physical Volume)
物理卷在邏輯卷管理中處于最底層,它可以是實(shí)際物理硬盤上的分區(qū),也可以是整個(gè)物理硬盤
? 卷組(VG-Volumne Group)
卷組建立在物理卷之上,一個(gè)卷組中至少要包括一個(gè)物理卷,在卷組建立之后可動(dòng)態(tài)添加物理卷到卷組中。一個(gè)邏輯卷管理系統(tǒng)工程中可以只有一個(gè)卷組,也可以擁有多個(gè)卷組
? 邏輯卷(LV-Logical Volume)
邏輯卷建立在卷組之上,卷中的未分配空間可以用于建立新的邏輯卷,邏輯卷建立后可以動(dòng)態(tài)地?cái)U(kuò)展和縮小空間。系統(tǒng)中的多個(gè)邏輯卷可以屬于同一個(gè)卷組,也可以屬于不同的多個(gè)卷組
邏輯卷管理器和是主分區(qū)還是邏輯分區(qū)沒有關(guān)系
vgdisplay 里的PE Size是指邏輯卷的最小單位。假設(shè)PE Size是4M;比如我向里寫東西。我一個(gè)文件可能只占用1B的容量,但是我先占上4M,其他的也是,不足4M我也先占上4M。等到每個(gè)塊都用了,但是每個(gè)塊都有剩余位置的時(shí)候,會(huì)把每個(gè)區(qū)的剩余位置都拼湊一下,以供使用。但是只要還有沒被占用的塊,都不會(huì)使用用過的塊。邏輯卷大小為這個(gè)PE Size的整數(shù)倍
處在它所在的文件夾的時(shí)候是無法卸載的
我現(xiàn)在想創(chuàng)建兩個(gè)卷組,vg1和vg2。sdc1和sdc2給vg1,sdc3和sdc4給vg2
修改卷組屬性,用來設(shè)置卷組是否處于活動(dòng)狀態(tài),活躍狀態(tài)的時(shí)候卷組無法被刪除,非活動(dòng)狀態(tài)的卷組才能被刪除掉。VG Status:resizable是表示可被調(diào)整大小的狀態(tài)。lvremove時(shí)有可能因?yàn)檫壿嬀砝飽|西過多導(dǎo)致刪除邏輯卷的時(shí)候假刪除,即邏輯卷沒了,但是里面東西還在,這時(shí)卷組覺得它里面還有東西,就會(huì)處于活躍狀態(tài),這時(shí)需要↓
接下來resize1要用來做塊(邏輯卷)的放大,resize2要用來做塊的縮小。設(shè)備放大時(shí)不論是掛載狀態(tài)下或非掛載狀態(tài)下都可以做放大,即在線放大。但是縮小的話設(shè)備要是非掛載的狀態(tài),即離線縮小
df -lh
發(fā)現(xiàn)size大小變小了。之前給的resize1是800M,resize2是784M,這里的大小表示文件系統(tǒng)(filesystem)大?。催@個(gè)設(shè)備能存多少東西),剩下的容量mkfs,掛載的時(shí)候都會(huì)損耗一定的容量大小。文件系統(tǒng)大小不會(huì)隨著塊的變大或縮小而改變,需要手動(dòng)才能改變文件系統(tǒng)大小。
? 放大要先放大塊的大小,再放大文件系統(tǒng)的大小
lvresize -L +200M /dev/vg3/resize1 放大邏輯卷
如果不帶+,會(huì)出現(xiàn)warning,+時(shí)是在原有基礎(chǔ)之上加200M,不加+的話就是將現(xiàn)有邏輯卷的大小調(diào)整成200M。如果比之前設(shè)置的邏輯卷小的話就證明是要將其縮小,會(huì)造成數(shù)據(jù)丟失
resize2fs /dev/vg3/resize1 調(diào)整文件系統(tǒng)大小,但是不會(huì)管你到底是放大還是縮小,就是將文件系統(tǒng)調(diào)整到它可以變大的最大程度
df -lh 看設(shè)備容量變大了
? 縮小的時(shí)候要先將文件系統(tǒng)縮小,再縮小邏輯卷的大小
umount /mnt/rs2/
resize2fs /dev/vg3/resize2 700M
出現(xiàn)提示 [請(qǐng)先輸入e2fsck -f /dev/vg3/resize2 命令],將處于多個(gè)塊當(dāng)中的內(nèi)容整理到一起,以便進(jìn)行縮小。但是也不能百分百保證數(shù)據(jù)不丟失
e2fsck -f /dev/vg3/resize2
resize2fs /dev/vg3/resize2 700M
lvresize -L 700M /dev/vg3/resize2
mount /dev/vg3/resize2 /mnt/rs2/ 重新掛載回來
df -lh 看系統(tǒng)里設(shè)備和文件系統(tǒng)掛載的使用情況
發(fā)現(xiàn)size變小了,縮小成功
Linux和Windows都采用了MBR的磁盤管理方法,也就是先對(duì)一個(gè)硬盤進(jìn)行分區(qū),在對(duì)這個(gè)一般光盤進(jìn)行格式化的方法;他們的區(qū)別是: Linux系統(tǒng),是先進(jìn)行磁盤分區(qū),如果需要使用該分區(qū),將其掛載到對(duì)應(yīng)目錄即可;而Windows則是自動(dòng)將所有分區(qū)掛載好 傳統(tǒng)的磁盤管理的缺點(diǎn):不方便進(jìn)行分區(qū)擴(kuò)充、容易導(dǎo)致文件系統(tǒng)崩潰、不適用于作為生產(chǎn)環(huán)境的服務(wù)器、拷貝分區(qū)的時(shí)候要求強(qiáng)制卸載磁盤分區(qū),分區(qū)轉(zhuǎn)移時(shí)耗費(fèi)的時(shí)間長(zhǎng);
LVM磁盤管理技術(shù) 是Linux環(huán)境下對(duì)磁盤管理的一種技術(shù),是通過一個(gè)建立在硬盤和分區(qū)之上的邏輯層來提高磁盤分區(qū)的靈活性
物理卷(PV):就是真正的物理硬盤或物理分區(qū)
卷組(VG):是將多個(gè)物理硬盤整合到一起形成的邏輯卷組;也可以視作一塊邏輯硬盤
邏輯卷(LV):卷組是一塊邏輯硬盤,邏輯硬盤必須分區(qū)之后才能使用;邏輯卷可以視作是卷組的邏輯分區(qū)
物理擴(kuò)展(PE):物理擴(kuò)展是用來保存數(shù)據(jù)的最小單元
系統(tǒng)首先把物理硬盤合并為卷組;再通過卷組分區(qū);將卷組(邏輯硬盤)分成邏輯分區(qū)(邏輯卷)進(jìn)行使用;
把物理硬盤分成分區(qū),也可以使用一整塊的物理硬盤;把物理硬盤分區(qū)建立為物理卷(PV)也可以把整塊物理硬盤都建立為物理卷;把剛剛劃分的物理卷合為卷組(VG)卷組就已經(jīng)可以動(dòng)態(tài)的調(diào)整大小了,最后把卷組劃分成邏輯卷,其中邏輯卷也是可以隨時(shí)劃分大小的
pvcreate命令在系統(tǒng)中一般用于創(chuàng)建物理卷;
語(yǔ)法結(jié)構(gòu)
在使用這個(gè)命令的時(shí)候不要對(duì)存放Linux系統(tǒng)的盤符進(jìn)行進(jìn)行使用;我們?cè)趧?chuàng)建物理卷的時(shí)候都是對(duì)邏輯分區(qū)進(jìn)行創(chuàng)建的;擴(kuò)展分區(qū)(Extend)不能進(jìn)行創(chuàng)建物理卷
pvdisplay 命令用于查看當(dāng)前的分區(qū)情況
語(yǔ)法格式以及常用參數(shù):
查看我們剛剛創(chuàng)建的物理卷
pvremove命令常用于刪除對(duì)應(yīng)的物理卷
語(yǔ)法結(jié)構(gòu):
刪除我們剛剛創(chuàng)建的物理卷
vgcreate 命令的作用是將一個(gè)或多個(gè)物理卷整合成一個(gè)卷組;在創(chuàng)建卷組之前我們需要保證系統(tǒng)中有足夠的除系統(tǒng)存放卷本身的物理卷(使用pvscan查看)需要注意的是,存放Linux的系統(tǒng)物理卷不能被劃分到自定義卷組中、 常用參數(shù):-s:設(shè)定PE(最小物理存儲(chǔ)單元)的大小、-l:最大邏輯卷數(shù)量、-p:允許存在的最大物理卷數(shù)量
語(yǔ)法結(jié)構(gòu):
將我們剛剛創(chuàng)建物理卷添加到卷組之中
vgdisplay 這個(gè)命令可以用來查看我們創(chuàng)建的卷組; 常見的參數(shù) -s 卷組信息以短格式輸出 ;vgdisplay可以查看對(duì)應(yīng)卷組的簡(jiǎn)短信息,所以相對(duì)于pvdisplay用處又大了那么一點(diǎn)
語(yǔ)法格式:
查看剛剛創(chuàng)建的卷組和某一個(gè)卷組的信息
同樣:vgscan 命令也可以查看當(dāng)前卷組使用情況的簡(jiǎn)短信息
vgremove 命令的作用是刪除指定的卷組
語(yǔ)法結(jié)構(gòu):
刪除我們剛剛創(chuàng)建的卷組
注意:當(dāng)刪除含有邏輯卷的卷組的時(shí)候系統(tǒng)會(huì)提示是否刪除對(duì)應(yīng)卷組和對(duì)應(yīng)邏輯卷,只有在兩個(gè)都輸入:y之后系統(tǒng)才會(huì)刪除對(duì)應(yīng)的卷組
lvcreate 命令作用是在一個(gè)指定的卷組中創(chuàng)建一塊邏輯卷,前提是要求有指定的卷組; 常用參數(shù):-L:規(guī)定創(chuàng)建的邏輯卷大?。ㄖ苯訉懘笮【涂梢裕?l:通過PE劃分邏輯卷的大?。ê竺娼拥臄?shù)字是PE的個(gè)數(shù))
語(yǔ)法結(jié)構(gòu):
在指定的卷組里創(chuàng)建邏輯卷
lvdisplay 命令可用于查看邏輯卷的詳細(xì)信息,也可以用來查看指定邏輯卷的詳細(xì)信息 參數(shù):-m:查看對(duì)應(yīng)邏輯卷的掛載信息
語(yǔ)法結(jié)構(gòu):
檢查指定的邏輯卷,并查看指定邏輯卷的掛載信息:
管理邏輯卷大小的常用命令是lvextend 命令和 lvreduce 命令分別表示邏輯卷大小的擴(kuò)充和減少, 其中l(wèi)vextend命令表示邏輯卷大小擴(kuò)充,常用參數(shù) -L(指的是擴(kuò)充的具體大?。?l(指的是擴(kuò)充的LE塊數(shù)量);lvextend命令表示邏輯卷大小的減小,常用參數(shù)-L(指的是減小的具體大?。?、-l(指的是減小的LE塊數(shù)量)
語(yǔ)法結(jié)構(gòu):
對(duì)我們指定的兩個(gè)邏輯卷分別進(jìn)行容量的增加和減少,并掛載對(duì)應(yīng)的邏輯卷
1、建立物理卷(PV)。
2、新建卷組(VG)。
3、新建邏輯卷(LV)。
4、格式化邏輯卷并掛載。