Linux磁盤管理之LVM詳解_第1頁(yè)
Linux磁盤管理之LVM詳解_第2頁(yè)
Linux磁盤管理之LVM詳解_第3頁(yè)
Linux磁盤管理之LVM詳解_第4頁(yè)
Linux磁盤管理之LVM詳解_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、邏輯卷軸管理員 (Logical Volume Manager)想像一個(gè)情況,你在當(dāng)初規(guī)劃主機(jī)的時(shí)候?qū)?/home 只給他 50G ,等到使用者眾多之后導(dǎo)致這個(gè) filesystem 不夠大, 此時(shí)你能怎么作?多數(shù)的朋友都是這樣:再加一顆新硬盤,然后重新分割、格式化,將 /home 的數(shù)據(jù)完整的復(fù)制過(guò)來(lái), 然后將原本的 partition 卸載重新掛載新的 partition 。??!好忙碌??!若是第二次分割卻給的容量太多!導(dǎo)致很多磁碟容量被浪費(fèi)了! 你想要將這個(gè) partition 縮小時(shí),又該如何作?將上述的流程再搞一遍!唉煩死了,尤其復(fù)制很花時(shí)間有沒(méi)有更簡(jiǎn)單的方法呢? 有的!那就是我們這個(gè)

2、小節(jié)要介紹的 LVM 這玩意兒!LVM 的重點(diǎn)在於可以彈性的調(diào)整 filesystem 的容量!而并非在於效能與數(shù)據(jù)保全上面。 需要文件的讀寫(xiě)效能或者是數(shù)據(jù)的可靠性,請(qǐng)參考前面的 RAID 小節(jié)。 LVM 可以整合多個(gè)實(shí)體 partition 在一起, 讓這些 partitions 看起來(lái)就像是一個(gè)磁碟一樣!而且,還可以在未來(lái)新增或移除其他的實(shí)體 partition 到這個(gè) LVM 管理的磁碟當(dāng)中。 如此一來(lái),整個(gè)磁碟空間的使用上,實(shí)在是相當(dāng)?shù)木哂袕椥园。?既然 LVM 這么好用,那就讓我們來(lái)瞧瞧這玩意吧!什么是 LVM: PV, PE, VG, LV 的意義LVM 的全名

3、是 Logical Volume Manager,中文可以翻譯作邏輯卷軸管理員。之所以稱為卷軸可能是因?yàn)榭梢詫?filesystem 像卷軸一樣伸長(zhǎng)或縮短之故吧!LVM 的作法是將幾個(gè)實(shí)體的 partitions (或 disk) 透過(guò)軟件組合成為一塊看起來(lái)是獨(dú)立的大磁碟 (VG) ,然后將這塊大磁碟再經(jīng)過(guò)分割成為可使用分割槽 (LV), 最終就能夠掛載使用了。但是為什么這樣的系統(tǒng)可以進(jìn)行 filesystem 的擴(kuò)充或縮小呢?其實(shí)與一個(gè)稱為 PE 的項(xiàng)目有關(guān)! 底下我們就得要針對(duì)這幾個(gè)項(xiàng)目來(lái)好好聊聊!§ Physical Volume, PV, 實(shí)體卷軸我們實(shí)際的 partitio

4、n 需要調(diào)整系統(tǒng)識(shí)別碼 (system ID) 成為 8e (LVM 的識(shí)別碼),然后再經(jīng)過(guò) pvcreate 的命令將他轉(zhuǎn)成 LVM 最底層的實(shí)體卷軸 (PV) ,之后才能夠?qū)⑦@些 PV 加以利用! 調(diào)整 system ID 的方是就是透過(guò) fdisk 啦!§ Volume Group, VG, 卷軸群組所謂的 LVM 大磁碟就是將許多 PV 整合成這個(gè) VG 的東西就是啦!所以 VG 就是 LVM 組合起來(lái)的大磁碟!這么想就好了。 那么這個(gè)大磁碟最大可以到多少容量呢?這與底下要說(shuō)明的 PE 有關(guān)喔因?yàn)槊總€(gè) VG 最多僅能包含 65534 個(gè) PE 而已。 如果

5、使用 LVM 默認(rèn)的參數(shù),則一個(gè) VG 最大可達(dá) 256GB 的容量啊!(參考底下的 PE 說(shuō)明)§ Physical Extend, PE, 實(shí)體延伸區(qū)塊LVM 默認(rèn)使用 4MB 的 PE 區(qū)塊,而 LVM 的 VG 最多僅能含有 65534 個(gè) PE ,因此默認(rèn)的 LVM VG 會(huì)有 4M*65534/(1024M/G)=256G。 這個(gè) PE 很有趣喔!他是整個(gè) LVM 最小的儲(chǔ)存區(qū)塊,也就是說(shuō),其實(shí)我們的文件數(shù)據(jù)都是藉由寫(xiě)入 PE 來(lái)處理的。 簡(jiǎn)單的說(shuō),這個(gè) PE 就有點(diǎn)像文件系統(tǒng)里面的 block 大小啦。 這樣說(shuō)應(yīng)該就比較好理解了吧?所以調(diào)整 PE 會(huì)影響到 VG 的最大

6、容量喔!§ Logical Volume, LV, 邏輯卷軸最終的 VG 還會(huì)被切成 LV,這個(gè) LV 就是最后可以被格式化使用的類似分割槽的咚咚了!那么 LV 是否可以隨意指定大小呢? 當(dāng)然不可以!既然 PE 是整個(gè) LVM 的最小儲(chǔ)存單位,那么 LV 的大小就與在此 LV 內(nèi)的 PE 總數(shù)有關(guān)。 為了方便使用者利用 LVM 來(lái)管理其系統(tǒng),因此 LV 的裝置檔名通常指定為 /dev/vgname/lvname 的樣式!此外,我們剛剛有談到 LVM 可彈性的變更 filesystem 的容量,那是如何辦到的?其實(shí)他就是透過(guò)交換 PE 來(lái)進(jìn)行數(shù)據(jù)轉(zhuǎn)換, 將原本 LV

7、 內(nèi)的 PE 移轉(zhuǎn)到其他裝置中以降低 LV 容量,或?qū)⑵渌b置的 PE 加到此 LV 中以加大容量! VG、LV 與 PE 的關(guān)系有點(diǎn)像下圖:圖 3.1.1、PE 與 VG 的相關(guān)性圖示如上圖所示,VG 內(nèi)的 PE 會(huì)分給虛線部分的 LV,如果未來(lái)這個(gè) VG 要擴(kuò)充的話,加上其他的 PV 即可。 而最重要的 LV 如果要擴(kuò)充的話,也是透過(guò)加入 VG 內(nèi)沒(méi)有使用到的 PE 來(lái)擴(kuò)充的!§ 實(shí)作流程透過(guò) PV, VG, LV 的規(guī)劃之后,再利用 mkfs 就可以將你的 LV 格式化成為可以利用的文件系統(tǒng)了!而且這個(gè)文件系統(tǒng)的容量在未來(lái)還能夠進(jìn)行擴(kuò)充或減少, 而且里面的數(shù)

8、據(jù)還不會(huì)被影響!實(shí)在是很福氣啦!那實(shí)作方面要如何進(jìn)行呢?很簡(jiǎn)單呢! 整個(gè)流程由基礎(chǔ)到最終的結(jié)果可以這樣看:圖 3.1.2、 LVM 各組件的實(shí)現(xiàn)流程圖示如此一來(lái),我們就可以利用 LV 這個(gè)玩意兒來(lái)進(jìn)行系統(tǒng)的掛載了。不過(guò),你應(yīng)該要覺(jué)得奇怪的是, 那么我的數(shù)據(jù)寫(xiě)入這個(gè) LV 時(shí),到底他是怎么寫(xiě)入硬盤當(dāng)中的? 呵呵!好問(wèn)題其實(shí),依據(jù)寫(xiě)入機(jī)制的不同,而有兩種方式:· 線性模式 (linear):假如我將 /dev/hda1, /dev/hdb1 這兩個(gè) partition 加入到 VG 當(dāng)中,并且整個(gè) VG 只有一個(gè) LV 時(shí),那么所謂的線性模式就是:當(dāng) /dev/hda

9、1 的容量用完之后,/dev/hdb1 的硬盤才會(huì)被使用到, 這也是我們所建議的模式。· 交錯(cuò)模式 (triped):那什么是交錯(cuò)模式?很簡(jiǎn)單啊,就是我將一筆數(shù)據(jù)拆成兩部分,分別寫(xiě)入 /dev/hda1 與 /dev/hdb1 的意思,感覺(jué)上有點(diǎn)像 RAID 0 啦!如此一來(lái),一份數(shù)據(jù)用兩顆硬盤來(lái)寫(xiě)入,理論上,讀寫(xiě)的效能會(huì)比較好。基本上,LVM 最主要的用處是在實(shí)現(xiàn)一個(gè)可以彈性調(diào)整容量的文件系統(tǒng)上, 而不是在創(chuàng)建一個(gè)效能為主的磁碟上,所以,我們應(yīng)該利用的是 LVM 可以彈性管理整個(gè) partition 大小的用途上,而不是著眼在效能上的。因此, LVM 默認(rèn)的讀寫(xiě)模式是線性模式啦!

10、如果你使用 triped 模式,要注意,當(dāng)任何一個(gè) partition 歸天時(shí),所有的數(shù)據(jù)都會(huì)損毀的! 所以啦,不是很適合使用這種模式啦!如果要強(qiáng)調(diào)效能與備份,那么就直接使用 RAID 即可, 不需要用到 LVM ?。VM 實(shí)作流程LVM 必需要核心有支持且需要安裝 lvm2 這個(gè)軟件,好佳在的是, CentOS 與其他較新的 distributions 已經(jīng)默認(rèn)將 lvm 的支持與軟件都安裝妥當(dāng)了!所以你不需要擔(dān)心這方面的問(wèn)題!用就對(duì)了!鳥(niǎo)哥使用的測(cè)試機(jī)又要出動(dòng)了喔!剛剛我們才練習(xí)過(guò) RAID,必須要將一堆目前沒(méi)有用到的分割槽先殺掉, 然后再重建新的分割槽。并且由於鳥(niǎo)哥僅有一個(gè) 40GB

11、的磁碟,所以底下的練習(xí)都僅針對(duì)同一顆磁碟來(lái)作的。 我的要求有點(diǎn)像這樣:· 先分割出 4 個(gè) partition ,每個(gè) partition 的容量均為 1.5GB 左右,且 system ID 需要為 8e;· 全部的 partition 整合成為一個(gè) VG,VG 名稱配置為 vbirdvg;且 PE 的大小為 16MB;· 全部的 VG 容量都丟給 LV ,LV 的名稱配置為 vbirdlv;· 最終這個(gè) LV 格式化為 ext3 的文件系統(tǒng),且掛載在 /mnt/lvm 中鳥(niǎo)哥就不仔細(xì)的介紹實(shí)體分割了,請(qǐng)您自行參考第八章的 fdisk 來(lái)達(dá)成

12、底下的范例:(注意:修改系統(tǒng)識(shí)別碼請(qǐng)使用 t 這個(gè) fdisk 內(nèi)的命令來(lái)處理即可)rootwww # fdisk /dev/hda <=其他流程請(qǐng)自行參考第八章處理rootwww # partprobe <=別忘記這個(gè)動(dòng)作了!粉重要!rootwww # fdisk -lDisk /dev/hda: 41.1 GB, 41174138880 bytes255 heads, 63 sectors/track, 5005 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blo

13、cks Id System/dev/hda1 * 1 13 104391 83 Linux/dev/hda2 14 1288 10241437+ 83 Linux/dev/hda3 1289 1925 5116702+ 83 Linux/dev/hda4 1926 5005 24740100 5 Extended/dev/hda5 1926 2052 1020096 82 Linux swap / Solaris/dev/hda6 2053 2235 1469916 8e Linux LVM/dev/hda7 2236 2418 1469916 8e Linux LVM/dev/hda8 24

14、19 2601 1469916 8e Linux LVM/dev/hda9 2602 2784 1469916 8e Linux LVM上面的 /dev/hda6,7,8,9 這四個(gè)分割槽就是我們的實(shí)體分割槽!也就是底下會(huì)實(shí)際用到的資訊! 注意看,那個(gè) 8e 的出現(xiàn)會(huì)導(dǎo)致 system 變成 Linux LVM 哩!其實(shí)沒(méi)有配置成為 8e 也沒(méi)關(guān)系, 不過(guò)某些 LVM 的偵測(cè)命令可能會(huì)偵測(cè)不到該 partition 就是了!接下來(lái),就一個(gè)一個(gè)的處理各流程吧!§ PV 階段要?jiǎng)?chuàng)建 PV 其實(shí)很簡(jiǎn)單,只要直接使用 pvcreate 即可!我們來(lái)談一談與 PV 有關(guān)的命令吧!·

15、pvcreate :將實(shí)體 partition 創(chuàng)建成為 PV ;· pvscan :搜尋目前系統(tǒng)里面任何具有 PV 的磁碟;· pvdisplay :顯示出目前系統(tǒng)上面的 PV 狀態(tài);· pvremove :將 PV 屬性移除,讓該 partition 不具有 PV 屬性。那就直接來(lái)瞧一瞧吧!# 1. 檢查有無(wú) PV 在系統(tǒng)上,然后將 /dev/hda6/dev/hda9 創(chuàng)建成為 PV 格式rootwww # pvscan No matching physical volumes found <=找不到任何的 PV 存在喔!rootwww # pvcre

16、ate /dev/hda6,7,8,9 Physical volume "/dev/hda6" successfully created Physical volume "/dev/hda7" successfully created Physical volume "/dev/hda8" successfully created Physical volume "/dev/hda9" successfully created# 這個(gè)命令可以一口氣創(chuàng)建這四個(gè) partition 成為 PV 啦!注意大括號(hào)的用途ro

17、otwww # pvscan PV /dev/hda6 lvm2 1.40 GB PV /dev/hda7 lvm2 1.40 GB PV /dev/hda8 lvm2 1.40 GB PV /dev/hda9 lvm2 1.40 GB Total: 4 5.61 GB / in use: 0 0 / in no VG: 4 5.61 GB# 這就分別顯示每個(gè) PV 的資訊與系統(tǒng)所有 PV 的資訊。尤其最后一行,顯示的是:# 整體 PV 的量 / 已經(jīng)被使用到 VG 的 PV 量 / 剩余的 PV 量# 2. 更詳細(xì)的列示出系統(tǒng)上面每個(gè) PV 的個(gè)別資訊:rootwww # pvdisplay

18、 "/dev/hda6" is a new physical volume of "1.40 GB" - NEW Physical volume - PV Name /dev/hda6 <=實(shí)際的 partition 裝置名稱 VG Name <=因?yàn)樯形捶峙涑鋈?,所以空白?PV Size 1.40 GB <=就是容量說(shuō)明 Allocatable NO <=是否已被分配,結(jié)果是 NO PE Size (KByte) 0 <=在此 PV 內(nèi)的 PE 大小 Total PE 0 <=共分割出幾個(gè) PE Free PE 0

19、 <=沒(méi)被 LV 用掉的 PE Allocated PE 0 <=尚可分配出去的 PE 數(shù)量 PV UUID Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN.(底下省略).# 由於 PE 是在創(chuàng)建 VG 時(shí)才給予的參數(shù),因此在這里看到的 PV 里頭的 PE 都會(huì)是 0# 而且也沒(méi)有多余的 PE 可供分配 (allocatable)。講是很難,作是很簡(jiǎn)單!這樣就將 PV 創(chuàng)建了兩個(gè)羅!簡(jiǎn)單到不行吧! _!繼續(xù)來(lái)玩 VG 去!§ VG 階段創(chuàng)建 VG 及 VG 相關(guān)的命令也不少,我們來(lái)看看:· vgcreate :就是主要?jiǎng)?chuàng)建 VG 的

20、命令啦!他的參數(shù)比較多,等一下介紹。· vgscan :搜尋系統(tǒng)上面是否有 VG 存在?· vgdisplay :顯示目前系統(tǒng)上面的 VG 狀態(tài);· vgextend :在 VG 內(nèi)添加額外的 PV ;· vgreduce :在 VG 內(nèi)移除 PV;· vgchange :配置 VG 是否啟動(dòng) (active);· vgremove :刪除一個(gè) VG ??!與 PV 不同的是, VG 的名稱是自訂的!我們知道 PV 的名稱其實(shí)就是 partition 的裝置檔名, 但是這個(gè) VG 名稱則可以隨便你自己取??!在底下的例子當(dāng)中,我將 VG

21、名稱取名為 vbirdvg 。創(chuàng)建這個(gè) VG 的流程是這樣的:rootwww # vgcreate -s Nmgt VG名稱 PV名稱選項(xiàng)與參數(shù):-s :后面接 PE 的大小 (size) ,單位可以是 m, g, t (大小寫(xiě)均可)# 1. 將 /dev/hda6-8 創(chuàng)建成為一個(gè) VG,且指定 PE 為 16MB 喔!rootwww # vgcreate -s 16M vbirdvg /dev/hda6,7,8 Volume group "vbirdvg" successfully createdrootwww # vgscan Reading all physical

22、 volumes. This may take a while. Found volume group "vbirdvg" using metadata type lvm2# 確實(shí)存在這個(gè) vbirdvg 的 VG 啦!rootwww # pvscan PV /dev/hda6 VG vbirdvg lvm2 1.39 GB / 1.39 GB free PV /dev/hda7 VG vbirdvg lvm2 1.39 GB / 1.39 GB free PV /dev/hda8 VG vbirdvg lvm2 1.39 GB / 1.39 GB free PV /dev

23、/hda9 lvm2 1.40 GB Total: 4 5.57 GB / in use: 3 4.17 GB / in no VG: 1 1.40 GB# 嘿嘿!發(fā)現(xiàn)沒(méi)!有三個(gè) PV 被用去,剩下一個(gè) /dev/hda9 的 PV 沒(méi)被用掉!rootwww # vgdisplay - Volume group - VG Name vbirdvg System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open

24、 LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size 4.17 GB <=整體的 VG 容量有這么大 PE Size 16.00 MB <=內(nèi)部每個(gè) PE 的大小 Total PE 267 <=總共的 PE 數(shù)量共有這么多! Alloc PE / Size 0 / 0 Free PE / Size 267 / 4.17 GB VG UUID 4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO# 最后那三行指的就是 PE 能夠使用的情況!由於尚未切出 LV,因此所有的 PE # 均可自由使用。這樣就創(chuàng)建一個(gè) VG 了!假設(shè)我

25、們要添加這個(gè) VG 的容量,因?yàn)槲覀冞€有 /dev/hda9 嘛!此時(shí)你可以這樣做:# 2. 將剩余的 PV (/dev/hda9) 丟給 vbirdvg 吧!rootwww # vgextend vbirdvg /dev/hda9 Volume group "vbirdvg" successfully extendedrootwww # vgdisplay.(前面省略). VG Size 5.56 GB PE Size 16.00 MB Total PE 356 Alloc PE / Size 0 / 0 Free PE / Size 356 / 5.56 GB VG U

26、UID 4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO# 基本上,不難吧!這樣就可以抽換整個(gè) VG 的大小啊!我們多了一個(gè)裝置喔!接下來(lái)為這個(gè) vbirdvg 進(jìn)行分割吧!透過(guò) LV 功能來(lái)處理!§ LV 階段創(chuàng)造出 VG 這個(gè)大磁碟之后,再來(lái)就是要?jiǎng)?chuàng)建分割區(qū)啦!這個(gè)分割區(qū)就是所謂的 LV 羅!假設(shè)我要將剛剛那個(gè) vbirdvg 磁碟,分割成為 vbirdlv ,整個(gè) VG 的容量都被分配到 vbirdlv 里面去!先來(lái)看看能使用的命令后,就直接工作了先!· lvcreate :創(chuàng)建 LV 啦!· lvscan :查詢系統(tǒng)上面的 LV

27、 ;· lvdisplay :顯示系統(tǒng)上面的 LV 狀態(tài)?。?#183; lvextend :在 LV 里面添加容量!· lvreduce :在 LV 里面減少容量;· lvremove :刪除一個(gè) LV !· lvresize :對(duì) LV 進(jìn)行容量大小的調(diào)整!rootwww # lvcreate -L Nmgt -n LV名稱 VG名稱rootwww # lvcreate -l N -n LV名稱 VG名稱選項(xiàng)與參數(shù):-L :后面接容量,容量的單位可以是 M,G,T 等,要注意的是,最小單位為 PE, 因此這個(gè)數(shù)量必須要是 PE 的倍數(shù),若不相符,系統(tǒng)

28、會(huì)自行計(jì)算最相近的容量。-l :后面可以接 PE 的個(gè)數(shù),而不是數(shù)量。若要這么做,得要自行計(jì)算 PE 數(shù)。-n :后面接的就是 LV 的名稱啦!更多的說(shuō)明應(yīng)該可以自行查閱吧! man lvcreate # 1. 將整個(gè) vbirdvg 通通分配給 vbirdlv 啊,要注意, PE 共有 356 個(gè)。rootwww # lvcreate -l 356 -n vbirdlv vbirdvg Logical volume "vbirdlv" created# 由於本案例中每個(gè) PE 為 16M ,因此上述的命令也可以使用如下的方式來(lái)創(chuàng)建:# lvcreate -L 5.56G

29、-n vbirdlv vbirdvgrootwww # ll /dev/vbirdvg/vbirdlvlrwxrwxrwx 1 root root 27 Mar 11 16:49 /dev/vbirdvg/vbirdlv ->/dev/mapper/vbirdvg-vbirdlv# 看見(jiàn)了沒(méi)有??!這就是我們最重要的一個(gè)玩意兒了!rootwww # lvdisplay - Logical volume - LV Name /dev/vbirdvg/vbirdlv <=這個(gè)才是 LV 的全名! VG Name vbirdvg LV UUID 8vFOPG-Jrw0-Runh-ug24-

30、t2j7-i3nA-rPEyq0 LV Write Access read/write LV Status available # open 0 LV Size 5.56 GB <=這個(gè) LV 的容量這么大! Current LE 356 Segments 4 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0如此一來(lái),整個(gè) partition 也準(zhǔn)備好啦!接下來(lái),就是針對(duì)這個(gè) LV 來(lái)處理啦!要特別注意的是, VG 的名稱為 vbirdvg , 但是 LV 的名稱必須使

31、用全名!亦即是 /dev/vbirdvg/vbirdlv 才對(duì)喔! 后續(xù)的處理都是這樣的!這點(diǎn)初次接觸 LVM 的朋友很容易搞錯(cuò)!§ 文件系統(tǒng)階段這個(gè)部分鳥(niǎo)哥我就不再多加解釋了!直接來(lái)進(jìn)行吧!# 1. 格式化、掛載與觀察我們的 LV 吧!rootwww # mkfs -t ext3 /dev/vbirdvg/vbirdlv <=注意 LV 全名!rootwww # mkdir /mnt/lvmrootwww # mount /dev/vbirdvg/vbirdlv /mnt/lvmrootwww # dfFilesystem 1K-blocks Used Availa

32、ble Use% Mounted on/dev/hda2 9920624 3858984 5549572 42% /dev/hda3 4956316 1056996 3643488 23% /home/dev/hda1 101086 21408 74459 23% /boottmpfs 371332 0 371332 0% /dev/shm/dev/mapper/vbirdvg-vbirdlv 5741020 142592 5306796 3% /mnt/lvmrootwww # cp -a /etc /var/log /mnt/lvm其實(shí) LV 的名稱建置成為 /dev/vbirdvg/vb

33、irdlv 是為了讓使用者直覺(jué)式的找到我們所需要的數(shù)據(jù), 實(shí)際上 LVM 使用的裝置是放置到 /dev/mapper/ 目錄下的!所以你才會(huì)看到上表當(dāng)中的特殊字體部分。 透過(guò)這樣的功能,我們現(xiàn)在已經(jīng)建置好一個(gè) LV 了!你可以自由的應(yīng)用 /mnt/lvm 內(nèi)的所有資源!放大 LV 容量我們不是說(shuō) LVM 最大的特色就是彈性調(diào)整磁碟容量嗎?好!那我們就來(lái)處理一下,如果要放大 LV 的容量時(shí), 該如何進(jìn)行完整的步驟呢?其實(shí)一點(diǎn)都不難喔!你只要這樣做即可:1. 用 fdisk 配置新的具有 8e system ID 的 partition2. 利用 pvcreate 建置 PV3. 利用 vgext

34、end 將 PV 加入我們的 vbirdvg4. 利用 lvresize 將新加入的 PV 內(nèi)的 PE 加入 vbirdlv 中5. 透過(guò) resize2fs 將文件系統(tǒng)的容量確實(shí)添加!其中最后一個(gè)步驟最重要!我們?cè)诘诎苏庐?dāng)中知道, 整個(gè)文件系統(tǒng)在最初格式化的時(shí)候就創(chuàng)建了 inode/block/superblock 等資訊,要改變這些資訊是很難的! 不過(guò)因?yàn)槲募到y(tǒng)格式化的時(shí)候建置的是多個(gè) block group ,因此我們可以透過(guò)在文件系統(tǒng)當(dāng)中添加 block group 的方式來(lái)增減文件系統(tǒng)的量!而增減 block group 就是利用 resize2fs 啦!所以最后一步是針對(duì)文件系統(tǒng)

35、來(lái)處理的, 前面幾步則是針對(duì) LVM 的實(shí)際容量大小!# 1. 處理出一個(gè) 3GB 的新的 partition ,在鳥(niǎo)哥的系統(tǒng)中應(yīng)該是 /dev/hda10rootwww # fdisk /dev/hda <=其他的動(dòng)作請(qǐng)自行處理rootwww # partproberootwww # fdisk -l Device Boot Start End Blocks Id System.(中間省略)./dev/hda10 2785 3150 2939863+ 8e Linux LVM# 這個(gè)就是我們要的新的 partition 羅!# 2. 創(chuàng)建新的 PV:rootwww # pvcreate

36、 /dev/hda10 Physical volume "/dev/hda10" successfully createdrootwww # pvscan PV /dev/hda6 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda7 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda8 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda9 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda10 lvm2 2.80 GB T

37、otal: 5 8.37 GB / in use: 4 5.56 GB / in no VG: 1 2.80 GB# 可以看到 /dev/hda10 是新加入并且尚未被使用的喔!# 3. 加大 VG ,利用 vgextend 功能!rootwww # vgextend vbirdvg /dev/hda10 Volume group "vbirdvg" successfully extendedrootwww # vgdisplay - Volume group - VG Name vbirdvg System ID Format lvm2 Metadata Areas 5

38、Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 5 Act PV 5 VG Size 8.36 GB PE Size 16.00 MB Total PE 535 Alloc PE / Size 356 / 5.56 GB Free PE / Size 179 / 2.80 GB VG UUID 4VU5Jr-gwOq-jkga-sUPx-vWPu-PmYm-dZH9EO# 不但整體 VG 變大了!而且剩余的 PE 共有 179

39、個(gè),容量則為 2.80G# 4. 放大 LV 吧!利用 lvresize 的功能來(lái)添加!rootwww # lvresize -l +179 /dev/vbirdvg/vbirdlv Extending logical volume vbirdlv to 8.36 GB Logical volume vbirdlv successfully resized# 這樣就添加了 LV 了喔!lvresize 的語(yǔ)法很簡(jiǎn)單,基本上同樣透過(guò) -l 或 -L 來(lái)添加!# 若要添加則使用 + ,若要減少則使用 - !詳細(xì)的選項(xiàng)請(qǐng)參考 man lvresize 羅!rootwww # lvdisplay -

40、Logical volume - LV Name /dev/vbirdvg/vbirdlv VG Name vbirdvg LV UUID 8vFOPG-Jrw0-Runh-ug24-t2j7-i3nA-rPEyq0 LV Write Access read/write LV Status available # open 1 LV Size 8.36 GB Current LE 535 Segments 5 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0rootwww #

41、 df /mnt/lvmFilesystem 1K-blocks Used Available Use% Mounted on/dev/mapper/vbirdvg-vbirdlv 5741020 261212 5188176 5% /mnt/lvm看到了吧?最終的結(jié)果中 LV 真的有放大到 8.36GB 喔!但是文件系統(tǒng)卻沒(méi)有相對(duì)添加! 而且,我們的 LVM 可以線上直接處理,并不需要特別給他 umount 哩!真是人性化! 但是還是得要處理一下文件系統(tǒng)的容量啦!開(kāi)始觀察一下文件系統(tǒng),然后使用 resize2fs 來(lái)處理一下吧!# 5.1 先看一下原本的文件系統(tǒng)內(nèi)的 superblock 記

42、錄情況吧!rootwww # dumpe2fs /dev/vbirdvg/vbirdlvdumpe2fs 1.39 (29-May-2006).(中間省略).Block count: 1458176 <=這個(gè)filesystem的 block 總數(shù).(中間省略).Blocks per group: 32768 <=多少個(gè) block 配置成為一個(gè) block groupGroup 0: (Blocks 0-32767) <=括號(hào)內(nèi)為 block 的號(hào)碼.(中間省略).Group 44: (Blocks 1441792-1458175) <=這是本系統(tǒng)中最后一個(gè) grou

43、p.(后面省略).# 5.2 resize2fs 的語(yǔ)法rootwww # resize2fs -f device size選項(xiàng)與參數(shù):-f :強(qiáng)制進(jìn)行 resize 的動(dòng)作!device:裝置的文件名稱;size :可以加也可以不加。如果加上 size 的話,那么就必須要給予一個(gè)單位, 譬如 M, G 等等。如果沒(méi)有 size 的話,那么默認(rèn)使用整個(gè) partition 的容量來(lái)處理!# 5.3 完整的將 LV 的容量擴(kuò)充到整個(gè) filesystem 吧!rootwww # resize2fs /dev/vbirdvg/vbirdlvresize2fs 1.39 (29-May-2006)F

44、ilesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizing Performing an on-line resize of /dev/vbirdvg/vbirdlv to 2191360 (4k) blocks.The filesystem on /dev/vbirdvg/vbirdlv is now 2191360 blocks long.# 可怕吧!這一版的 lvm 竟然還可以線上進(jìn)行 resize 的功能哩!真好!rootwww # df /mnt/lvmFilesystem 1K-blocks U

45、sed Available Use% Mounted on/dev/mapper/vbirdvg-vbirdlv 8628956 262632 7931368 4% /mnt/lvmrootwww # ll /mnt/lvmdrwxr-xr-x 105 root root 12288 Mar 11 16:59 etcdrwxr-xr-x 17 root root 4096 Mar 11 14:17 logdrwx- 2 root root 16384 Mar 11 16:59 lost+found# 剛剛復(fù)制進(jìn)去的數(shù)據(jù)可還是存在的喔!并沒(méi)有消失不見(jiàn)!嘿嘿!真的放大了吧!而且如果你已經(jīng)有填數(shù)據(jù)在

46、 LVM 磁區(qū)當(dāng)中的話!這個(gè)數(shù)據(jù)是不會(huì)死掉的喔!還是繼續(xù)存在原本的磁區(qū)當(dāng)中啦! 整個(gè)動(dòng)作竟然這么簡(jiǎn)單就完成了!原本的數(shù)據(jù)還是一直存在而不會(huì)消失您說(shuō), LVM 好不好用??!此外,如果你再以 dumpe2fs 來(lái)檢查 /dev/vbirdvg/vbirdlv 時(shí),就會(huì)發(fā)現(xiàn)后續(xù)的 Group 添加了! 如果還是搞不清楚什么是 block group 時(shí),請(qǐng)回到第八章看一下該章內(nèi)圖1.3.1的介紹吧!縮小 LV 容量上一小節(jié)我們談到的是放大容量,現(xiàn)在來(lái)談到的是縮小容量喔!假設(shè)我們想將 /dev/hda6 抽離出來(lái)! 那該如何處理???就讓上一小節(jié)的流程倒轉(zhuǎn)過(guò)來(lái)即可啊!我們就直接來(lái)玩吧!# 1. 先找出

47、/dev/hda6 的容量大小,并嘗試計(jì)算文件系統(tǒng)需縮小到多少rootwww # pvdisplay - Physical volume - PV Name /dev/hda6 VG Name vbirdvg PV Size 1.40 GB / not usable 11.46 MB Allocatable yes (but full) PE Size (KByte) 16384 Total PE 89 Free PE 0 Allocated PE 89 PV UUID Z13Jk5-RCls-UJ8B-HzDa-Gesn-atku-rf2biN# 從這里可以看出 /dev/hda6 有多大,

48、而且含有 89 個(gè) PE 的量喔!# 那如果要使用 resize2fs 時(shí),則總量減去 1.40GB 就對(duì)了!rootwww # pvscan PV /dev/hda6 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda7 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda8 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda9 VG vbirdvg lvm2 1.39 GB / 0 free PV /dev/hda10 VG vbirdvg lvm2 2.80 GB / 0 fr

49、ee Total: 5 8.36 GB / in use: 5 8.36 GB / in no VG: 0 0 # 從上面可以發(fā)現(xiàn)如果扣除 /dev/hda6 則剩余容量有:1.39*3+2.8=6.97# 2. 就直接降低文件系統(tǒng)的容量吧!rootwww # resize2fs /dev/vbirdvg/vbirdlv 6900Mresize2fs 1.39 (29-May-2006)Filesystem at /dev/vbirdvg/vbirdlv is mounted on /mnt/lvm; on-line resizingOn-line shrinking from 2191360

50、 to 1766400 not supported.# 容量好像不能夠?qū)懶?shù)點(diǎn)位數(shù),因此 6.9G 是錯(cuò)誤的,鳥(niǎo)哥就使用 6900M 了。# 此外,放大可以線上直接進(jìn)行,縮小文件系統(tǒng)似乎無(wú)法支持!所以要這樣做:rootwww # umount /mnt/lvmrootwww # resize2fs /dev/vbirdvg/vbirdlv 6900Mresize2fs 1.39 (29-May-2006)Please run 'e2fsck -f /dev/vbirdvg/vbirdlv' first.# 他要我們先進(jìn)行磁碟檢查!不羅唆!那就直接進(jìn)行吧!rootwww # e2fsck -f /dev/vbirdvg/vbirdlve2fsck 1.39 (29-May-2006)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory st

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論