王韶霞,曲廣平
(煙臺(tái)職業(yè)學(xué)院,山東 煙臺(tái) 264670)
磁盤(pán)管理是網(wǎng)管員進(jìn)行系統(tǒng)維護(hù)時(shí)的一項(xiàng)日常工作,但在對(duì)磁盤(pán)進(jìn)行分區(qū)大小規(guī)劃時(shí),有時(shí)往往不能確定這個(gè)分區(qū)要使用的總空間大小。當(dāng)磁盤(pán)分完區(qū)以后,每個(gè)分區(qū)的大小已經(jīng)固定了,如果分區(qū)設(shè)置的過(guò)大,就白白浪費(fèi)了磁盤(pán)空間,分區(qū)設(shè)置的過(guò)小,又會(huì)導(dǎo)致空間不夠用。而一旦分好區(qū)之后再要改變分區(qū)大小就非常困難,雖然可以重新劃分磁盤(pán)分區(qū)或是利用Partition Magic之類的磁盤(pán)管理工具來(lái)調(diào)整分區(qū)大小,但無(wú)論采用哪種方式,操作起來(lái)都異常麻煩,而且在操作的過(guò)程中必須要將服務(wù)器停機(jī)或重啟,這對(duì)一些擔(dān)任重要角色的服務(wù)器是絕不允許的。
在Linux系統(tǒng)中提供了一種實(shí)用的磁盤(pán)管理機(jī)制—邏輯卷管理(LVM,Logical Volume Manager),通過(guò)它可以非常方便靈活地對(duì)磁盤(pán)實(shí)現(xiàn)動(dòng)態(tài)管理。LVM是建立在磁盤(pán)分區(qū)和文件系統(tǒng)之間的一個(gè)邏輯層,管理員利用LVM可以在磁盤(pán)不用重新分區(qū)的情況下動(dòng)態(tài)調(diào)整文件系統(tǒng)的大小,并且利用LVM管理的文件系統(tǒng)可以跨越磁盤(pán),當(dāng)服務(wù)器添加了新的磁盤(pán)后,管理員不必將已有的磁盤(pán)文件移動(dòng)到新的磁盤(pán)上,通過(guò)LVM可以直接擴(kuò)展文件系統(tǒng)跨越磁盤(pán)。
本文以Red Hat Enterprise Linux 6.3系統(tǒng)(以下簡(jiǎn)稱RHEL6)為例,介紹LVM的設(shè)置與使用方法。
LVM是建立在物理磁盤(pán)和分區(qū)之上的一個(gè)邏輯層,通過(guò)它可以將若干個(gè)磁盤(pán)分區(qū)連接為一個(gè)整塊的卷組,形成一個(gè)存儲(chǔ)池。在卷組中可以任意創(chuàng)建邏輯卷,并進(jìn)一步在邏輯卷上創(chuàng)建文件系統(tǒng),最終在系統(tǒng)中掛載使用的就是邏輯卷,邏輯卷的使用方法與普通的磁盤(pán)分區(qū)完全一樣。在LVM中主要涉及以下幾個(gè)概念:
●物理卷PV(Physical Volume)
物理卷是構(gòu)建LVM的基礎(chǔ),通常就是指磁盤(pán)分區(qū),但和基本的磁盤(pán)分區(qū)不同的是,物理卷中包含有與LVM相關(guān)的管理參數(shù)。
●卷組VG(Volume Group)
LVM卷組類似于非LVM系統(tǒng)中的物理磁盤(pán),可以在卷組上創(chuàng)建一個(gè)或多個(gè)“LVM分區(qū)”(邏輯卷),LVM卷組由一個(gè)或多個(gè)物理卷組成。
●邏輯卷LV(Logical Volume)
LVM的邏輯卷類似于非LVM系統(tǒng)中的磁盤(pán)分區(qū),在邏輯卷之上可以創(chuàng)建文件系統(tǒng)。
●物理塊PE(Physical Extent)
每一個(gè)物理卷被劃分為稱為PE的基本單元,具有唯一編號(hào)的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認(rèn)為4MB。在一個(gè)卷組中最多能包括65534個(gè)PE,所以它的大小會(huì)影響到整個(gè)卷組的最大容量。
LVM各組成部分之間的對(duì)應(yīng)關(guān)系如圖1所示。
圖1 LVM磁盤(pán)組織結(jié)構(gòu)圖
從圖1中可以看出,物理卷PV由大小等同的基本單元物理塊PE組成,一個(gè)卷組VG由一個(gè)或多個(gè)物理卷組成,邏輯卷LV建立在卷組之上,邏輯卷相當(dāng)于非LVM系統(tǒng)中的磁盤(pán)分區(qū),可以在其上創(chuàng)建文件系統(tǒng)。
LVM屏蔽了系統(tǒng)底層的磁盤(pán)布局,但需要注意的是,由于“/boot”分區(qū)用于存放系統(tǒng)引導(dǎo)文件,所以不能應(yīng)用LVM機(jī)制。
在RHEL6系統(tǒng)中,LVM得到了高度重視。比如在安裝系統(tǒng)的過(guò)程中,如果設(shè)置由系統(tǒng)自動(dòng)進(jìn)行分區(qū),則系統(tǒng)除了創(chuàng)建一個(gè)“/boot”引導(dǎo)分區(qū)之外,會(huì)將剩余的磁盤(pán)空間全部采用LVM進(jìn)行管理,并在其中創(chuàng)建兩個(gè)邏輯卷,分別掛載到根分區(qū)和交換分區(qū)。如圖2所示。
圖2 RHEL6系統(tǒng)自動(dòng)創(chuàng)建的LVM邏輯卷
在RHEL6系統(tǒng)中實(shí)現(xiàn)LVM的方法有兩種:一種是利用LVM管理命令在字符界面下實(shí)現(xiàn),另一種是利用system-config-lvm工具在圖形界面下實(shí)現(xiàn)。在字符界面下涉及到的LVM管理命令比較多,尤其對(duì)于初學(xué)者較難掌握。RHEL6系統(tǒng)中的圖形界面功能有了很大增強(qiáng),相比命令行,操作起來(lái)更加簡(jiǎn)單直觀。本文就采用system-config-lvm圖形化工具來(lái)實(shí)現(xiàn)LVM。
在RHEL6系統(tǒng)中默認(rèn)并沒(méi)有安裝system-config-lvm管理工具,不過(guò)在系統(tǒng)光盤(pán)中提供了相應(yīng)的安裝包,下面以yum安裝的方式安裝system-config-lvm。
掛載系統(tǒng)光盤(pán):
[root@localhost~]# mount/dev/cdrom/mnt
配置本地yum源:
[root@localhost~]# vim/etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseurl=file:///mnt/
gpgcheck=0
安裝system-config-lvm:
[root@localhost~]#yum install system-config-lvm
安裝好system-config-lvm之后,在“系統(tǒng)/管理”中會(huì)看到LVM管理工具—“邏輯卷管理器”。
磁盤(pán)分區(qū)是實(shí)現(xiàn)LVM的前提和基礎(chǔ),在使用LVM之前,首先需要?jiǎng)澐执疟P(pán)分區(qū)。
在本次操作中,在系統(tǒng)中新增加了兩塊硬盤(pán),并都已經(jīng)創(chuàng)建好了分區(qū),兩塊硬盤(pán)的分區(qū)信息如圖3所示。
圖3 硬盤(pán)分區(qū)信息
對(duì)硬盤(pán)“/dev/sdb”劃分了一個(gè)主分區(qū)“/dev/sdb1”和一個(gè)邏輯分區(qū)“/dev/sdb5”,對(duì)硬盤(pán)“/dev/sdc”劃分了一個(gè)主分區(qū)“/dev/sdc1”。需要注意的是,所有的分區(qū)類型都應(yīng)指定為“l(fā)inux LVM”,對(duì)應(yīng)的ID為“8e”。
創(chuàng)建物理卷是實(shí)現(xiàn)LVM的第一步。打開(kāi)“邏輯卷管理器”,在“未初始化的實(shí)例”中可以看到已有的磁盤(pán)分區(qū)信息,選中磁盤(pán)分區(qū)“/dev/sdb1”,點(diǎn)擊下方的“初始化實(shí)例”按鈕,將之轉(zhuǎn)化為物理卷,如圖4所示。
用同樣的方式將磁盤(pán)分區(qū)“/dev/sdb5”也轉(zhuǎn)化為物理卷。
卷組是LVM的主體,類似于非LVM系統(tǒng)中的硬盤(pán)。
在“未分配的卷”中選中剛才初始化好的物理卷“/dev/sdb1”,點(diǎn)擊下方的“創(chuàng)建新的卷組”按鈕,如圖5所示。
圖4 創(chuàng)建物理卷
圖5 創(chuàng)建卷組
然后在圖6所示的界面中輸入卷組的相關(guān)參數(shù)。
●“卷組名稱”可根據(jù)情況自由設(shè)定,這里設(shè)置為“wgroup”。
●“最大物理卷數(shù)”指卷組中最多可以包含的物理卷的數(shù)目,默認(rèn)值為256。
●“最大邏輯卷數(shù)”指卷組中最多可以創(chuàng)建的邏輯卷的數(shù)目,默認(rèn)值為256。
●“物理擴(kuò)展區(qū)”即物理塊PE,是LVM中的基本存儲(chǔ)單元,大小默認(rèn)為4MB。
卷組創(chuàng)建完成后,在“未分配的卷”中選中“/dev/sdb5”,點(diǎn)擊下方的“添加到已存在的卷組中”,將該物理卷也添加到“wgroup”卷組中,如圖7所示。
圖6 設(shè)置卷組參數(shù)
圖7 向卷組中添加物理卷
圖8 創(chuàng)建邏輯卷
這樣便創(chuàng)建好了一個(gè)總?cè)萘繛?0GB的卷組。
邏輯卷類似于非LVM系統(tǒng)中的磁盤(pán)分區(qū),是我們最終使用的對(duì)象。
在已創(chuàng)建好的“wgroup”卷組中選擇“邏輯視圖”,點(diǎn)擊下方的“創(chuàng)建新的邏輯卷”按鈕,如圖8所示。
在圖9的界面中輸入邏輯卷的相關(guān)參數(shù)。
●“邏輯卷名”可根據(jù)情況自由設(shè)定,這里設(shè)置為“ftp”。
●“LV屬性”用于設(shè)置數(shù)據(jù)在邏輯卷中的寫(xiě)入方式。假如邏輯卷中包括了兩個(gè)物理卷:“/dev/sdb1”、“/dev/sdb5”,“線性的”寫(xiě)入方式就是當(dāng)“/dev/sdb1”中的空間被用完之后才會(huì)使用“/dev/sdb5”,數(shù)據(jù)是被順序存儲(chǔ)的;“分塊的”就是將要寫(xiě)入的數(shù)據(jù)分作兩部分,同時(shí)寫(xiě)入到“/dev/sdb1”和“/dev/sdb5”中。“分塊的”寫(xiě)入方式類似于RAID 0,理論上效率要更高,但是安全性較差,任何一個(gè)磁盤(pán)分區(qū)出現(xiàn)問(wèn)題都會(huì)導(dǎo)致數(shù)據(jù)丟失。由于在系統(tǒng)中實(shí)施LVM的主要目的是為了更加靈活地調(diào)整分區(qū)容量,所以這里推薦采用“線性的”寫(xiě)入方式,這也是系統(tǒng)的默認(rèn)設(shè)置。
●“大小”用于設(shè)置LV的容量,這里將整個(gè)卷組的空間全部劃給邏輯卷。
●“文件系統(tǒng)”,LV也需要經(jīng)過(guò)格式化創(chuàng)建文件系統(tǒng)之后才能使用,這里只能格式化成Linux標(biāo)準(zhǔn)的ext類文件系統(tǒng)。
●勾選“掛載”可以將LV自動(dòng)掛載到指定位置,這里設(shè)置將其掛載到“/var/ftp”目錄,作為FTP服務(wù)器的主目錄。
●勾選“重新啟動(dòng)時(shí)掛載”可以自動(dòng)修改“/etc/fstab”配置文件,實(shí)現(xiàn)系統(tǒng)開(kāi)機(jī)或重啟時(shí)自動(dòng)掛載LV。
點(diǎn)擊“確定”按鈕之后就創(chuàng)建好了設(shè)備名為“/dev/wgroup/ftp”的邏輯卷,并自動(dòng)掛載到了指定的掛載點(diǎn)
這樣,我們就可以像使用正常的磁盤(pán)分區(qū)一樣地使用邏輯卷了。
圖9 設(shè)置邏輯卷參數(shù)
圖10 調(diào)整邏輯卷的大小
當(dāng)邏輯卷的空間全部用盡時(shí),只要按照上面的步驟,先創(chuàng)建出一個(gè)磁盤(pán)分區(qū),將其初始化成物理卷之后,再加入到卷組中,然后就可以任意地調(diào)整邏輯卷的容量。
由于邏輯卷是位于物理磁盤(pán)和分區(qū)之上的一個(gè)邏輯層,所以邏輯卷可以跨越物理磁盤(pán),將任何一個(gè)磁盤(pán)上的分區(qū)加入到同一個(gè)邏輯卷中。下面就將第三塊磁盤(pán)中的分區(qū)“/dev/sdc1”加入到邏輯卷中。
首先按照上面的操作將“/dev/sdc1”初始化成物理卷,然后再將其添加到“wgroup”卷組中,最后打開(kāi)邏輯卷“ftp”的屬性設(shè)置界面,就可以對(duì)邏輯卷的大小進(jìn)行任意調(diào)整,如圖10所示。
通過(guò)LVM機(jī)制可以實(shí)現(xiàn)磁盤(pán)分區(qū)的動(dòng)態(tài)管理,使磁盤(pán)分區(qū)管理工作具有更大的靈活性,并且使用system-config-lvm工具在圖形界面下操作更加便于理解和掌握。在生產(chǎn)實(shí)踐中,建議參照RHEL6系統(tǒng)的默認(rèn)分區(qū)設(shè)置,將“/boot”以外的磁盤(pán)分區(qū)都設(shè)置成邏輯卷。另外為了提高磁盤(pán)性能,可以將LVM結(jié)合RAID一起使用,那將起到更好的效果。
[1]董良,寧方明.Linux系統(tǒng)管理[M].北京:人民郵電出版社,2012.
[2]張棟,張瑞生.網(wǎng)絡(luò)服務(wù)搭建、配置與管理大全(Linux版)[M].2版.北京:電子工業(yè)出版社,2012.