国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

linux lvm深入了解

2020-06-13 12:17:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
本文就深入討論LVM技術(shù),使得用戶在無(wú)需停機(jī)的情況下方便地調(diào)整各個(gè)分區(qū)大小,需要了解的朋友可以參考下
 
 
Linux用戶安裝Linux操作系統(tǒng)時(shí)遇到的一個(gè)最常見(jiàn)的難以決定的問(wèn)題就是如何正確地給評(píng)估各分區(qū)大小,以分配合適的硬盤(pán)空間。而遇到出現(xiàn)某個(gè)分區(qū)空間耗盡時(shí),解決的方法通常是使用符號(hào)鏈接,或者使用調(diào)整分區(qū)大小的工具(比如PatitionMagic等),但這都只是暫時(shí)解決辦法,沒(méi)有根本解決問(wèn)題。隨著Linux的邏輯盤(pán)卷管理功能的出現(xiàn),這些問(wèn)題都迎刃而解,本文就深入討論LVM技術(shù),使得用戶在無(wú)需停機(jī)的情況下方便地調(diào)整各個(gè)分區(qū)大小。 
一、前言 
每個(gè)Linux使用者在安裝Linux時(shí)都會(huì)遇到這樣的困境:在為系統(tǒng)分區(qū)時(shí),如何精確評(píng)估和分配各個(gè)硬盤(pán)分區(qū)的容量,因?yàn)橄到y(tǒng)管理員不但要考慮到當(dāng)前某個(gè)分區(qū)需要的容量,還要預(yù)見(jiàn)該分區(qū)以后可能需要的容量的最大值。因?yàn)槿绻烙?jì)不準(zhǔn)確,當(dāng)遇到某個(gè)分區(qū)不夠用時(shí)管理員可能甚至要備份整個(gè)系統(tǒng)、清除硬盤(pán)、重新對(duì)硬盤(pán)分區(qū),然后恢復(fù)數(shù)據(jù)到新分區(qū)。 
雖然現(xiàn)在有很多動(dòng)態(tài)調(diào)整磁盤(pán)的工具可以使用,例如PartationMagic等等,但是它并不能完全解決問(wèn)題,因?yàn)槟硞€(gè)分區(qū)可能會(huì)再次被耗盡;另外一個(gè)方面這需要重新引導(dǎo)系統(tǒng)才能實(shí)現(xiàn),對(duì)于很多關(guān)鍵的服務(wù)器,停機(jī)是不可接受的,而且對(duì)于添加新硬盤(pán),希望一個(gè)能跨越多個(gè)硬盤(pán)驅(qū)動(dòng)器的文件系統(tǒng)時(shí),分區(qū)調(diào)整程序就不能解決問(wèn)題。 
因此完美的解決方法應(yīng)該是在零停機(jī)前提下可以自如對(duì)文件系統(tǒng)的大小進(jìn)行調(diào)整,可以方便實(shí)現(xiàn)文件系統(tǒng)跨越不同磁盤(pán)和分區(qū)。幸運(yùn)的是Linux提供的邏輯盤(pán)卷管理(LVM,LogicalVolumeManager)機(jī)制就是一個(gè)完美的解決方案。 
LVM是邏輯盤(pán)卷管理(LogicalVolumeManager)的簡(jiǎn)稱,它是Linux環(huán)境下對(duì)磁盤(pán)分區(qū)進(jìn)行管理的一種機(jī)制,LVM是建立在硬盤(pán)和分區(qū)之上的一個(gè)邏輯層,來(lái)提高磁盤(pán)分區(qū)管理的靈活性。通過(guò)LVM系統(tǒng)管理員可以輕松管理磁盤(pán)分區(qū),如:將若干個(gè)磁盤(pán)分區(qū)連接為一個(gè)整塊的卷組(volumegroup),形成一個(gè)存儲(chǔ)池。管理員可以在卷組上隨意創(chuàng)建邏輯卷組(logicalvolumes),并進(jìn)一步在邏輯卷組上創(chuàng)建文件系統(tǒng)。管理員通過(guò)LVM可以方便的調(diào)整存儲(chǔ)卷組的大小,并且可以對(duì)磁盤(pán)存儲(chǔ)按照組的方式進(jìn)行命名、管理和分配,例如按照使用用途進(jìn)行定義:“development”和“sales”,而不是使用物理磁盤(pán)名“sda”和“sdb”。而且當(dāng)系統(tǒng)添加了新的磁盤(pán),通過(guò)LVM管理員就不必將磁盤(pán)的文件移動(dòng)到新的磁盤(pán)上以充分利用新的存儲(chǔ)空間,而是直接擴(kuò)展文件系統(tǒng)跨越磁盤(pán)即可。 

二、LVM基本術(shù)語(yǔ) 
前面談到,LVM是在磁盤(pán)分區(qū)和文件系統(tǒng)之間添加的一個(gè)邏輯層,來(lái)為文件系統(tǒng)屏蔽下層磁盤(pán)分區(qū)布局,提供一個(gè)抽象的盤(pán)卷,在盤(pán)卷上建立文件系統(tǒng)。首先我們討論以下幾個(gè)LVM術(shù)語(yǔ): 
物理存儲(chǔ)介質(zhì)(Thephysicalmedia) 
這里指系統(tǒng)的存儲(chǔ)設(shè)備:硬盤(pán),如:/dev/hda、/dev/sda等等,是存儲(chǔ)系統(tǒng)最低層的存儲(chǔ)單元。 
物理卷(physicalvolume) 
物理卷就是指硬盤(pán)分區(qū)或從邏輯上與磁盤(pán)分區(qū)具有同樣功能的設(shè)備(如RAID),是LVM的基本存儲(chǔ)邏輯塊,但和基本的物理存儲(chǔ)介質(zhì)(如分區(qū)、磁盤(pán)等)比較,卻包含有與LVM相關(guān)的管理參數(shù)。 
卷組(VolumeGroup) 
LVM卷組類(lèi)似于非LVM系統(tǒng)中的物理硬盤(pán),其由物理卷組成。可以在卷組上創(chuàng)建一個(gè)或多個(gè)“LVM分區(qū)”(邏輯卷),LVM卷組由一個(gè)或多個(gè)物理卷組成。 
邏輯卷(logicalvolume) 
LVM的邏輯卷類(lèi)似于非LVM系統(tǒng)中的硬盤(pán)分區(qū),在邏輯卷之上可以建立文件系統(tǒng)(比如/home或者/usr等)。 
PE(physicalextent) 
每一個(gè)物理卷被劃分為稱為PE(PhysicalExtents)的基本單元,具有唯一編號(hào)的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認(rèn)為4MB。 
LE(logicalextent) 
邏輯卷也被劃分為被稱為L(zhǎng)E(LogicalExtents)的可被尋址的基本單位。在同一個(gè)卷組中,LE的大小和PE是相同的,并且一一對(duì)應(yīng)。 
首先可以看到,物理卷(PV)被由大小等同的基本單元PE組成。 
一個(gè)卷組由一個(gè)或多個(gè)物理卷組成, 
從上圖可以看到,PE和LE有著一一對(duì)應(yīng)的關(guān)系。邏輯卷建立在卷組上。邏輯卷就相當(dāng)于非LVM系統(tǒng)的磁盤(pán)分區(qū),可以在其上創(chuàng)建文件系統(tǒng)。 
下圖是磁盤(pán)分區(qū)、卷組、邏輯卷和文件系統(tǒng)之間的邏輯關(guān)系的示意圖: 
和非LVM系統(tǒng)將包含分區(qū)信息的元數(shù)據(jù)保存在位于分區(qū)的起始位置的分區(qū)表中一樣,邏輯卷以及卷組相關(guān)的元數(shù)據(jù)也是保存在位于物理卷起始處的VGDA(卷組描述符區(qū)域)中。VGDA包括以下內(nèi)容:PV描述符、VG描述符、LV描述符、和一些PE描述符。 
系統(tǒng)啟動(dòng)LVM時(shí)激活VG,并將VGDA加載至內(nèi)存,來(lái)識(shí)別LV的實(shí)際物理存儲(chǔ)位置。當(dāng)系統(tǒng)進(jìn)行I/O操作時(shí),就會(huì)根據(jù)VGDA建立的映射機(jī)制來(lái)訪問(wèn)實(shí)際的物理位置。 

三、安裝LVM 
首先確定系統(tǒng)中是否安裝了lvm工具: 
[root@wwwroot]#rpm–qa|greplvm 
lvm-1.0.3-4 
如果命令結(jié)果輸入類(lèi)似于上例,那么說(shuō)明系統(tǒng)已經(jīng)安裝了LVM管理工具;如果命令沒(méi)有輸出則說(shuō)明沒(méi)有安裝LVM管理工具,則需要從網(wǎng)絡(luò)下載或者從光盤(pán)裝LVMrpm工具包。 
安裝了LVM的RPM軟件包以后,要使用LVM還需要配置內(nèi)核支持LVM。RedHat默認(rèn)內(nèi)核是支持LVM的,如果需要重新編譯內(nèi)核,則需要在配置內(nèi)核時(shí),進(jìn)入Multi-deviceSupport(RAIDandLVM)子菜單,選中以下兩個(gè)選項(xiàng): 
  [*]Multipledevicesdriversupport(RAIDandLVM) 
  <*>Logicalvolumemanager(LVM)Support 
然后重新編譯內(nèi)核,即可將LVM的支持添加到新內(nèi)核中。 
為了使用LVM,要確保在系統(tǒng)啟動(dòng)時(shí)激活LVM,幸運(yùn)的是在RedHat7.0以后的版本,系統(tǒng)啟動(dòng)腳本已經(jīng)具有對(duì)激活LVM的支持,在/etc/rc.d/rc.sysinit中有以下內(nèi)容: 
#LVMinitialization 
if[-e/proc/lvm-a-x/sbin/vgchange-a-f/etc/lvmtab];then 
action$"SettingupLogicalVolumeManagement:"/sbin/vgscan&&/sbin/vgchange-ay 
fi 
其中關(guān)鍵是兩個(gè)命令,vgscan命令實(shí)現(xiàn)掃描所有磁盤(pán)得到卷組信息,并創(chuàng)建文件卷組數(shù)據(jù)文件/etc/lvmtab和/etc/lvmtab.d/*;vgchange-ay命令激活系統(tǒng)所有卷組。 

四、創(chuàng)建和管理LVM 
要?jiǎng)?chuàng)建一個(gè)LVM系統(tǒng),一般需要經(jīng)過(guò)以下步驟: 
1、創(chuàng)建分區(qū) 
使用分區(qū)工具(如:fdisk等)創(chuàng)建LVM分區(qū),方法和創(chuàng)建其他一般分區(qū)的方式是一樣的,區(qū)別僅僅是LVM的分區(qū)類(lèi)型為8e。 
2、創(chuàng)建物理卷 
創(chuàng)建物理卷的命令為pvcreate,利用該命令將希望添加到卷組的所有分區(qū)或者磁盤(pán)創(chuàng)建為物理卷。將整個(gè)磁盤(pán)創(chuàng)建為物理卷的命令為: 
#pvcreate/dev/hdb 
將單個(gè)分區(qū)創(chuàng)建為物理卷的命令為: 
#pvcreate/dev/hda5 
3、創(chuàng)建卷組 
創(chuàng)建卷組的命令為vgcreate,將使用pvcreate建立的物理卷創(chuàng)建為一個(gè)完整的卷組: 
#vgcreateweb_document/dev/hda5/dev/hdb 
vgcreate命令第一個(gè)參數(shù)是指定該卷組的邏輯名:web_document。后面參數(shù)是指定希望添加到該卷組的所有分區(qū)和磁盤(pán)。vgcreate在創(chuàng)建卷組web_document以外,還設(shè)置使用大小為4MB的PE(默認(rèn)為4MB),這表示卷組上創(chuàng)建的所有邏輯卷都以4MB為增量單位來(lái)進(jìn)行擴(kuò)充或縮減。由于內(nèi)核原因,PE大小決定了邏輯卷的最大大小,4MB的PE決定了單個(gè)邏輯卷最大容量為256GB,若希望使用大于256G的邏輯卷則創(chuàng)建卷組時(shí)指定更大的PE。PE大小范圍為8KB到512MB,并且必須總是2的倍數(shù)(使用-s指定,具體請(qǐng)參考manvgcreate)。 
4、激活卷組 
為了立即使用卷組而不是重新啟動(dòng)系統(tǒng),可以使用vgchange來(lái)激活卷組: 
#vgchange-ayweb_document 
5、添加新的物理卷到卷組中 
當(dāng)系統(tǒng)安裝了新的磁盤(pán)并創(chuàng)建了新的物理卷,而要將其添加到已有卷組時(shí),就需要使用vgextend命令: 
#vgextendweb_document/dev/hdc1 
這里/dev/hdc1是新的物理卷。 
6、從卷組中刪除一個(gè)物理卷 
要從一個(gè)卷組中刪除一個(gè)物理卷,首先要確認(rèn)要?jiǎng)h除的物理卷沒(méi)有被任何邏輯卷正在使用,就要使用pvdisplay命令察看一個(gè)該物理卷信息: 
如果某個(gè)物理卷正在被邏輯卷所使用,就需要將該物理卷的數(shù)據(jù)備份到其他地方,然后再刪除。刪除物理卷的命令為vgreduce: 
#vgreduceweb_document/dev/hda1 
7、創(chuàng)建邏輯卷 
創(chuàng)建邏輯卷的命令為lvcreate: 
#lvcreate-L1500–nwww1web_document 
該命令就在卷組web_document上創(chuàng)建名字為www1,大小為1500M的邏輯卷,并且設(shè)備入口為/dev/web_document/www1(web_document為卷組名,www1為邏輯卷名)。如果希望創(chuàng)建一個(gè)使用全部卷組的邏輯卷,則需要首先察看該卷組的PE數(shù),然后在創(chuàng)建邏輯卷時(shí)指定: 
#vgdisplayweb_document|grep"TotalPE" 
TotalPE45230 
#lvcreate-l45230web_document-nwww1 
8、創(chuàng)建文件系統(tǒng) 
筆者推薦使用reiserfs文件系統(tǒng),來(lái)替代ext2和ext3: 
創(chuàng)建了文件系統(tǒng)以后,就可以加載并使用它: 
#mkdir/data/wwwroot 
#mount/dev/web_document/www1/data/wwwroot 
如果希望系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載文件系統(tǒng),則還需要在/etc/fstab中添加內(nèi)容: 
/dev/web_document/www1/data/wwwrootreiserfsdefaults12 
9、刪除一個(gè)邏輯卷 
刪除邏輯卷以前首先需要將其卸載,然后刪除: 
#umount/dev/web_document/www1 
#lvremove/dev/web_document/www1 
lvremove--doyoureallywanttoremove"/dev/web_document/www1"?[y/n]:y 
lvremove--doingautomaticbackupofvolumegroup"web_document" 
lvremove--logicalvolume"/dev/web_document/www1"successfullyremoved 
10、擴(kuò)展邏輯卷大小 
用慣了傳統(tǒng)調(diào)整硬盤(pán)工具的人可能會(huì)認(rèn)為文件系統(tǒng)和硬盤(pán)的分區(qū)之間是統(tǒng)一的,實(shí)際上他們之間并不是完整的整體(這也就是為什么BSD可以在一個(gè)硬盤(pán)分區(qū)里面制作多個(gè)文件系統(tǒng)分區(qū))。想像一下帶有移動(dòng)式書(shū)架的書(shū)櫥。你可以通過(guò)移動(dòng)式書(shū)架調(diào)整書(shū)櫥里面書(shū)籍的位置。把書(shū)當(dāng)成文件系統(tǒng),你可以在書(shū)櫥里面放滿書(shū)籍,也可以通過(guò)移動(dòng)式書(shū)架調(diào)整書(shū)櫥的空間。當(dāng)然也可以通過(guò)書(shū)架調(diào)整書(shū)櫥里面書(shū)籍存放的位置。如下圖所示: 
|<--hda1---->|<--hda2------>| 
+---------------+---------------+ 
|xxxxxxxxxxx|xxxxxx|| 
|xxxxxxxxxxx|xxxxxx|| 
+---------------+---------------+ 
  硬盤(pán)分區(qū)/dev/hda1中的文件系統(tǒng)占滿了整個(gè)分區(qū),而/dev/hda2中的文件系統(tǒng)只占用了2/3左右的分區(qū)。 
所以在調(diào)整邏輯卷容量大小的同時(shí)也要調(diào)整在該卷上的文件系統(tǒng)的大小,當(dāng)要增大容量時(shí),先調(diào)整容量,后調(diào)整文件系統(tǒng),若要縮小容量則反之。 
LVM提供了方便調(diào)整邏輯卷大小的能力,擴(kuò)展邏輯卷大小的命令是lvextend: 
#lvextend-L12G/dev/web_document/www1 
lvextend--extendinglogicalvolume"/dev/web_document/www1"to12GB 
lvextend--doingautomaticbackupofvolumegroup"web_document" 
lvextend--logicalvolume"/dev/web_document/www1"successfullyextended 
上面的命令就實(shí)現(xiàn)將邏輯卷www1的大小擴(kuò)招為12G。 
#lvextend-L+1G/dev/web_document/www1 
lvextend--extendinglogicalvolume"/dev/web_document/www1"to13GB 
lvextend--doingautomaticbackupofvolumegroup"web_document" 
lvextend--logicalvolume"/dev/web_document/www1"successfullyextended 
上面的命令就實(shí)現(xiàn)將邏輯卷www1的大小增加1G。 
增加了邏輯卷的容量以后,就需要修改文件系統(tǒng)大小以實(shí)現(xiàn)利用擴(kuò)充的空間。筆者推薦使用reiserfs文件系統(tǒng)來(lái)替代ext2或者ext3。因此這里僅僅討論reiserfs的情況。Reiserfs文件工具提供了文件系統(tǒng)大小調(diào)整工具:resize_reiserfs。對(duì)于希望調(diào)整被加載的文件系統(tǒng)大小: 
#resize_reiserfs-f/dev/web_document/www1 
一般建議最好將文件系統(tǒng)卸載,調(diào)整大小,然后再加載: 
#umount/dev/web_document/www1 
#resize_reiserfs/dev/web_document/www1 
#mount-treiserfs/dev/web_document/www1/data/wwwroot 
對(duì)于使用ext2或ext3文件系統(tǒng)的用戶可以考慮使用工具 
ext2resize。http://sourceforge.net/projects/ext2resize 
11、減少邏輯卷大小 
使用lvreduce即可實(shí)現(xiàn)對(duì)邏輯卷的容量,同樣需要首先將文件系統(tǒng)卸載: 
#umount/data/wwwroot 
#resize_reiserfs-s-2G/dev/web_document/www1 
#lvreduce-L-2G/dev/web_document/www1 
#mount-treiserfs/dev/web_document/www1/data/wwwroot 

五、總結(jié) 
根據(jù)上面的討論可以看到,LVM具有很好的可伸縮性,使用起來(lái)非常方便。可以方便地對(duì)卷組、邏輯卷的大小進(jìn)行調(diào)整,更進(jìn)一步調(diào)整文件系統(tǒng)的大小。如果希望了解更多信息,請(qǐng)參考LVM-HOWTO。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 玉屏| 武安市| 新巴尔虎右旗| 绥德县| 门头沟区| 苍山县| 乌审旗| 温州市| 安庆市| 杭州市| 阜康市| 浠水县| 天镇县| 华蓥市| 五家渠市| 报价| 南康市| 金湖县| 岱山县| 越西县| 临夏市| 深泽县| 准格尔旗| 无为县| 晋中市| 贵南县| 洛浦县| 济宁市| 徐汇区| 金堂县| 湘西| 上犹县| 越西县| 威远县| 玉树县| 江油市| 吉水县| 阿坝县| 南汇区| 鹰潭市| 慈利县|