




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、LVM有關(guān)概念LVM(Logical Volume Manager)即邏輯卷管理器,它最先是在Linux 2.4內(nèi)核中被集成到內(nèi)核中去的,它的出現(xiàn)改變了傳統(tǒng)的磁盤空間管理理念。以往在安裝操作系統(tǒng)時需要規(guī)劃好分區(qū)大小,即使利用了RAID技術(shù)也要規(guī)劃好每個分區(qū)的大小,因為一旦分好區(qū)后要改變其大小是非常困難的事情。在Windows下有大家熟悉的Partition Magic工具可以用來調(diào)整分區(qū)大小,但它有一個缺點是要么在調(diào)整前要關(guān)閉系統(tǒng)或調(diào)整后重啟系統(tǒng)。這在普通PC機上使用還行,要在提供不間斷服務(wù)的服務(wù)器上使用就會造成服務(wù)中斷,不過這個問題在Linux下隨著LV技術(shù)的出現(xiàn)一切都得到解決,LV可以在不
2、用重啟系統(tǒng)的情況動態(tài)增加可用空間大小,不過前提得是使用熱插拔硬盤,或事先將硬盤裝入而不使用。本文我將使用名詞LV(可不是LV包)而不是LVM,因為LV才是主角。首先我們要弄清楚LV領(lǐng)取的幾個關(guān)鍵名詞概念:物理介質(zhì):就是我們通常說的硬盤,簡稱pm物理卷:就是我們通常說的硬盤分區(qū),簡稱pv物理分區(qū):它是由LVM命令在物理卷上創(chuàng)建的最小LVM尋址單元,在創(chuàng)建物理卷時可以指定物理分區(qū)的大小,默認(rèn)值是4M,簡稱pe卷組:由一個多多個物理卷組成的邏輯單元,簡稱vg邏輯分區(qū):它與物理分區(qū)一一對應(yīng),大小相等,簡稱le邏輯卷:從卷組中分配一定大小的空間創(chuàng)建的邏輯單元,也可以使用一個完整的卷組空間大小來創(chuàng)建一個邏
3、輯卷,簡稱lv上面這幾個關(guān)鍵名詞的關(guān)系可以用下圖來解釋:圖中沒有給出le(邏輯分區(qū)),因為它對于描述整個概念來說不太重要。如何理解這個圖呢?首先pv1和pv2是物理卷,pv1對應(yīng)的可能是一整塊硬盤,也可能是硬盤中的一個分區(qū),如/dev/hda1,pv2也應(yīng)這樣理解;pv1中包含的pe1,pe2,pe3都是經(jīng)過pvcreate命令在pv1上做的標(biāo)記,可以理解為將pv1分解成3個小塊,響應(yīng)的pv2下的pe1,pe2,pe3也做此理解;vg1是卷組,它是由pv1下的pe1和pe2組成的,即從pv1的空間中分一部分(pe1和pe2)來組成卷組vg1,并且我給該卷組命名為oracle,注意物理卷沒有名字
4、,直接用/dev/hda1或/dev/sda的形式來稱呼它,vg2是跨了兩個物理卷組成的,它是由pv1中的pe3和pv2中的pe1,pe2組成,可以看出卷組可以跨我們通常所說的硬盤分區(qū),也可以跨多個硬盤;lv1是在卷組vg1上創(chuàng)建的邏輯卷,它使用了整個vg1的空間,而lv2和lv3都是從vg2空間創(chuàng)建的邏輯卷,可以看出一個卷組可以包括一個或多個邏輯卷,注意邏輯卷不能跨卷組,也就是說如果要想在兩塊硬盤上創(chuàng)建一個邏輯卷,必須經(jīng)過卷組的轉(zhuǎn)換才能實現(xiàn),因為卷組是可以跨多塊硬盤的;在邏輯卷的基礎(chǔ)上我們可以創(chuàng)建文件系統(tǒng),如ext3,jfs等,和在普通分區(qū)上創(chuàng)建文件系統(tǒng)沒有什么區(qū)別,最后可以將邏輯卷掛載在某
5、個掛載點上,如/oracle。從這個圖中我們可以看出,如果要增大邏輯卷lv1(oracle)的大小,首先需要增大vg1的大小,因為lv1在創(chuàng)建時就完全使用了vg1的空間,要增大vg1的大小,就得從pv1或pv2中獲取pe;如果在創(chuàng)建lv1時沒有完全使用掉vg1的空間,那么可以直接動態(tài)從vg1中再分配給lv1空間,增加其大小,從這個角度出發(fā),就好理解如果增加一塊熱插拔硬盤到系統(tǒng)上,就是增加了pv,也間接增加了pe數(shù)量,那么卷組就可以使用增加的pe來擴大自己的范圍,進(jìn)而提供給邏輯卷lv使用,也就實現(xiàn)了傳說中的動態(tài)調(diào)整空間大小。創(chuàng)建LV我這里打算以Red Hat Enterprise Linux 5
6、為系統(tǒng)環(huán)境,介紹一下在命令行的操作,不過其他發(fā)行版應(yīng)該都適用,至于在圖形界面下的操作我嘗試了一下反而不習(xí)慣,所以本文就省略掉在圖形界面的操作。要創(chuàng)建一個lv,從上面的圖中可以看出,首先得準(zhǔn)備好一塊硬盤或一個分區(qū),注意分區(qū)還得是Linux LVM類型,下面我一步一步說明:假設(shè)已經(jīng)在系統(tǒng)中增加了3塊硬盤,分別是/dev/hda,/dev/hdb,/dev/hdd,因為/dev/hdc被光驅(qū)占用了,每塊硬盤大小假設(shè)是100M,以/dev/hda為例,其他類推#fdisk /dev/hda回車,輸入n(創(chuàng)建一個新分區(qū)),回車,輸入p(創(chuàng)建一個主分區(qū)),回車,輸入1(主分區(qū)號),回車,回車(輸入分區(qū)起始
7、地址,默認(rèn)1),回車(輸入分區(qū)結(jié)束地址,默認(rèn)是整塊硬盤的最后一數(shù)據(jù)塊),輸入t(修改分區(qū)類型,默認(rèn)是83),回車,輸入8e(Linux LVM分區(qū)類型),輸入w(保存并退出),這樣會創(chuàng)建/dev/hda1分區(qū),完全占用了硬盤/dev/hda的空間。同樣對/dev/hdb和/dev/hdd做對應(yīng)的操作。前面的操作完成后,就可以開始創(chuàng)建pv了#pvcreate /dev/hda1#pvcreate /dev/hdb1#pvcreate /dev/hdd1物理卷pv創(chuàng)建成功會有類似【Physical volume "/dev/hdd1" successfully created】
8、的提示??梢允褂胮vdisplay命令查看物理卷的詳細(xì)信息。執(zhí)行pvcreate命令后會向硬盤中寫如pv信息,同時也會在/etc/lvm/backup目錄下產(chǎn)生同樣的pv信息文件。接下來就可以創(chuàng)建卷組vg了#vgcreate oracle /dev/hda1#vgcreate src /dev/hdb1#vgcreate ftp /dev/hdd1注意:創(chuàng)建卷組時如果使用默認(rèn)的參數(shù),最后在此基礎(chǔ)上創(chuàng)建邏輯卷時會有大小限制,默認(rèn)最大不能超過256G,如果在生產(chǎn)系統(tǒng)中規(guī)劃邏輯卷大小會超過256G時,那么在創(chuàng)建卷組時就要使用參數(shù)-s并指定一個分為大小,如32M,這樣創(chuàng)建的卷組就可以容納2T的邏輯卷了
9、。如:#vgcreate -s 32M /dev/hda1創(chuàng)建卷組時要為卷組指定一個名字,如該卷組會用來存儲oracle數(shù)據(jù),就可以命名為oracle,如果是用來存儲源代碼,就可以命名為src,當(dāng)然隨你喜歡了,執(zhí)行vgcreate命令后會向硬盤中寫入卷組信息,也會在/etc/lvm/backup目錄下的對應(yīng)文件中寫入卷組信息。有興趣的讀者可以打開看看,都是文本格式的文件。卷組創(chuàng)建好后可以使用命令vgdisplay命令查看其詳細(xì)信息。卷組創(chuàng)建好后,就可以開始創(chuàng)建主角邏輯卷了#lvcreate -L10M -noracle oracle這里的-L參數(shù)后跟的是該邏輯卷的大小,它們之間沒有空格,-n參
10、數(shù)后跟的是該邏輯卷的名字,最后是卷組的名字。創(chuàng)建好后可以使用命令lvdisplay命令查看其詳細(xì)信息,執(zhí)行l(wèi)vcreate命令會向硬盤中寫入邏輯卷信息,對應(yīng)的/etc/lvm/backup下的文件也會得到更新。接下來可以在邏輯卷上創(chuàng)建文件系統(tǒng)了#mkfs.ext3 -j /dev/oracle/oracle# mkfs.ext3 -j /dev/src/src# mkfs.ext3 -j /dev/ftp/ftp創(chuàng)建掛載點#cd /#mkdir oracle src ftp掛載邏輯卷#mount /dev/oracle/oracle /oracle#mount /dev/src/src /sr
11、c#mount /dev/ftp/ftp /ftp這里掛載時是不需要指定文件系統(tǒng)類型的。#ls /oracle返回lost+found文件夾,說明掛載成功。至此,我們已經(jīng)可以正常使用邏輯卷了,如在掛載點下創(chuàng)建目錄,創(chuàng)建文件,設(shè)置權(quán)限等。不過邏輯卷的使用遠(yuǎn)不止這么簡單,下面就列舉一些在實際工作中會遇到的問題及處理辦法。增加LV大小在創(chuàng)建LV時指定的大小現(xiàn)在可能已經(jīng)不夠使用了,這與普通分區(qū)空間快要用完的情景非常類似,但使用LV時可以動態(tài)增加其大小,而要增加分區(qū)大小,事情就麻煩多了。但不是說想使LV增大就能增大的,它還受限于卷組大小和物理卷大小,如果卷組空間已經(jīng)完全分配,那么要增大LV就必須先增加可
12、用物理卷。這里以邏輯卷lv1(oracle)為例進(jìn)行說明,增加邏輯卷大小要使用的命令是lvextent#lvextent -L+10M /dev/oracle/oracle#lvdisplay這時看到邏輯卷大小已經(jīng)變大了,但這并不意味著文件系統(tǒng)就隨著一起變大了,此時mount上后,用df命令查看還是增大前的大小,這時需要用到另一個工具ext2resize,因國內(nèi)被封,從下面的地址下載,ext2resize是一款可以增大/減小ext2/ext3文件系統(tǒng)的工具,其實lvextent帶有一個-r參數(shù)也是重設(shè)文件系統(tǒng)大小的,但我在系統(tǒng)中沒有發(fā)現(xiàn)fsadm這個命令,它應(yīng)該是包括在lvm的軟件包中,但不知
13、何故我這里沒有。安裝ext2resize需要創(chuàng)建一個sct用戶,安裝后有2個命令ext2resize和ext2online,ext2resize命令必須要在卸載文件系統(tǒng)的情況下才能使用,ext2online可以實現(xiàn)在線重設(shè)文件系統(tǒng)大小。#ext2online /dev/oracle/oracle 24M這里的24M即邏輯卷oracle新的大小,在創(chuàng)建邏輯卷時指定大小是10M,但時間創(chuàng)建后是12M,擴展了10M實際上也用掉了12M,所以這里應(yīng)該就是24M。如果指定大于24的值會報錯,而且ext2online命令只能在線增大,不能在線減小。#df -lh這時就能看到文件系統(tǒng)變?yōu)?4M了,與邏輯卷大
14、小一致了。使用ext2online的一個好處是,如果你在該邏輯卷上有正在運行的程序,不能終止服務(wù),但空間快用光了,這時可以透明地增加其大小,不影響服務(wù)。減少LV大小有時也需要減小LV大小,如減小其中一個LV大小,然后增加另一個LV大小。減小LV大小使用命令lvreduce,減少LV大小前先用ext2resize減少文件系統(tǒng)大小,這與增大的過程是相反的,然后再用lvreduce減少邏輯卷大小。#umount /oracle#ext2resize /dev/oracle/oracle 10M#lvreduce -L-14M /dev/oracle/oracle#mount /dev/oracle/
15、oracle /oracle#df -h這時看到/oracle文件系統(tǒng)大小只有9.5M了。注意ext2resize后的10M是目標(biāo)大小,即減小為多大,lvreduce命令-L參數(shù)后的-14是指減少多少,為了pe和le一一對應(yīng),這里就設(shè)為14M,其實真正減少不了14M,只能減小12M,這一點可以用lvdisplay命令查看。注意:減小LV可能會造成數(shù)據(jù)丟失,所以先要做一次全備份,然后卸載掉文件系統(tǒng),再進(jìn)行操作。利用LV快照備份數(shù)據(jù)LVM提供了為邏輯卷作一個快照的功能,目的是想對邏輯卷進(jìn)行一致性備份,由于它采用了寫時復(fù)制技術(shù),使得不用停止服務(wù)或?qū)⑦壿嬀碓O(shè)為只讀進(jìn)行備份,因為備份時文件可能正在被寫入
16、數(shù)據(jù),如數(shù)據(jù)庫文件,LVM提供的快照功能只是記錄了文件系統(tǒng)的改變,它并不是對整個文件系統(tǒng)進(jìn)行備份。因此備份時要用的空間大小與備份邏輯卷大小不一定要相等,快照使用空間的大小取決于有多少數(shù)據(jù)正在寫入邏輯卷,以及想要保存快照多長時間,快照指定的空間用光時,快照就失效了,需要人工刪除。實際上創(chuàng)建快照也是創(chuàng)建了一個邏輯卷,只不過該卷的屬性與普通邏輯卷的屬性有些不一樣。下面以為/dev/oracle/oracle創(chuàng)建一個大小為20M的快照為例,創(chuàng)建快照使用的命令還是lvcreate:#lvcreate -L20M -s -n oracle_snap /dev/oracle/oracle該命令執(zhí)行結(jié)束后,會
17、在/dev/oracle目錄下創(chuàng)建一個新的文件oracle_snap,可以使用lvdisplay命令來查看該快照邏輯卷的信息:它與其他邏輯卷的信息不同,多了一項Allocated to snapshot,這是屬性指出了快照空間的使用百分比,目前使用了0.12%,同時注意邏輯卷/dev/oracle/oracle也多了一個屬性LV snapshot status,它指出了快照的路徑和狀態(tài),圖中是/dev/oracle/oracle_snap active,意思是它的快照oracle_snap目前是活動狀態(tài)。如果我們向/dev/oracle/oracle中填充1M大小的數(shù)據(jù),那么快照空間的百分比就
18、會變化(增大)。創(chuàng)建快照后,可以象使用邏輯卷一樣進(jìn)行掛載,然后進(jìn)行備份。最后不用快照了,使用lvremove /dev/oracle/oracle移除快照。硬盤替換以往如果硬盤壞掉,意味著數(shù)據(jù)丟失,于是人們發(fā)明了RAID技術(shù),LVM本身不具備數(shù)據(jù)冗余功能,但它可以建立的RADI技術(shù)之上,即先用幾塊硬盤組成RAID陣列,再在陣列上進(jìn)行分區(qū),然后在其上建立邏輯卷,如果是這種情況,其中一塊硬盤壞掉,如果是RAID5,那么可以直接拔掉壞硬盤,插一塊好的即可。在使用LV的情況下,可以不用重啟系統(tǒng)將一塊硬盤中的數(shù)據(jù)轉(zhuǎn)移到另一塊上,實際上只需要一個命令pvmove就可以了。這里以移動/dev/oracle/
19、oracle上的數(shù)據(jù)到/dev/src/src為例進(jìn)行說明。首先在/oracle上創(chuàng)建1個文件#echo 1111>/oracle/1.txt將第二塊硬盤加入同一卷組,這里假設(shè)將/dev/hdb加入到卷組oracle中#lvremove src#vgremove src這兩個命令是將卷組src占用的pv騰出來。#vgextent oracle /dev/hdb1將/dev/hdb1分區(qū)加入卷組oracle,這時可以移動分區(qū)了#pvmove /dev/hda1這樣將原來的/dev/hda1是的數(shù)據(jù)全部轉(zhuǎn)移到新的分區(qū)/dev/hdb1上了,現(xiàn)在可以將/dev/hda1從卷組oracle中移除
20、。#vgreduce oracle /dev/hda1重新掛載#mount /dev/oracle/oracle /oracle查看前面創(chuàng)建的文件1.txt是否還在#ls /oracle可以看到文件還在,說明移動成功,這樣也就完成了硬盤替換??梢钥闯鎏鎿Q硬盤沒有重啟系統(tǒng),實現(xiàn)了在線替換。整個替換流程如下圖所示:將硬盤移到另一臺計算機上在使用普通分區(qū)的情況下,將硬盤掛接到其他機器上非常簡單,拔下來插上去即可使用,在使用了LVM的情況下,要稍微多一點事情,因為LV的結(jié)構(gòu)是同時保存在硬盤中也保存在/etc/lvm/backup下,在將硬盤移動前,要將這里面的信息刪除,這是通過LVM附帶的一個命令vg
21、export實現(xiàn)的,到了另一臺機器上后,要創(chuàng)建這個信息,是通過vgimport來實現(xiàn)的,下面以/dev/hda為例進(jìn)行說明。首先在機器1上:#vgchange -a n oracle這條命令是將卷組oracle設(shè)為不可用狀態(tài)#vgexport oracle注意這里不要理解為導(dǎo)出,實際上這個命令是從源系統(tǒng)中注銷卷組。在機器2上:#vgimport oracle /dev/hda1在機器2上注冊卷組oracle#vgchange -a y oracle激活卷組oracle,這樣硬盤就從一臺機器移動到另一臺機器了。注意:如果在你的發(fā)行版中運行vgimport命令沒有在/etc/lvm/backup目
22、錄下創(chuàng)建LV信息備份文件,需要手動運行vgcfgbackup命令來備份。整個流程如下圖所示:轉(zhuǎn)移到LV這里轉(zhuǎn)移的意思是從現(xiàn)有的普通分區(qū)模式轉(zhuǎn)移到用LV管理分區(qū)的模式,如我在安裝系統(tǒng)時/home文件系統(tǒng)的大小我設(shè)為1G,現(xiàn)在發(fā)現(xiàn)空間快被填滿了,打算增加/home大小,按照以前的管理模式,實現(xiàn)起來非常麻煩,而且數(shù)據(jù)丟失風(fēng)險較大,下面我就其轉(zhuǎn)移為以LV管理模式進(jìn)行舉例說明。首先要清楚一點,這個轉(zhuǎn)移不是類似從ext2轉(zhuǎn)換到ext3的過程,它需要幾個步驟:1、增加一個新分區(qū),假設(shè)是/dev/hda6,大小2G2、將該分區(qū)轉(zhuǎn)為物理卷,通過命令pvcreate實現(xiàn)#pvcreate /dev/hda63、創(chuàng)建卷組home_dir,并將hda6加入該卷組#vgcreate home_dir /dev/hda64、創(chuàng)建邏輯卷home_dir#lvcreate -L2G -nhome_dir home_dir5、創(chuàng)建掛載點
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45125-2025數(shù)字印刷材料用酚醛樹脂軟化點的測定顯微熔點儀法
- 河道下踏步施工方案
- 河鋼廣場施工方案
- 沙坪壩地毯施工方案
- 二零二五年度農(nóng)村土地墳地租賃與墓園墓碑清洗服務(wù)協(xié)議
- 美容院員工晉升與發(fā)展激勵合同(2025年度)
- 2025年度駕校教練員車輛保險承包合同
- 二零二五年度溫泉度假村股份合作協(xié)議
- 二零二五年度農(nóng)業(yè)技術(shù)居間保密合同
- 二零二五年度醫(yī)院間醫(yī)療信息共享與數(shù)據(jù)安全協(xié)議
- 創(chuàng)傷性凝血病與輸血
- 古詩詞誦讀《李憑箜篌引》 公開課一等獎創(chuàng)新教案統(tǒng)編版高中語文選擇性必修中冊
- 11294營銷管理-國家開放大學(xué)2023年1月至7月期末考試真題及答案(共2套)
- 小學(xué)生日常行為規(guī)范實施方案
- 2024-2025學(xué)年九年級化學(xué)人教版上冊檢測試卷(1-4單元)
- 2024年遼寧省鞍山岫巖滿族自治縣事業(yè)單位招聘(150人)歷年高頻難、易錯點500題模擬試題附帶答案詳解
- DBJ46-070-2024 海南省民用建筑外門窗工程技術(shù)標(biāo)準(zhǔn)
- 金屬冶煉安全生產(chǎn)實務(wù)注冊安全工程師考試(初級)試題與參考答案
- 無縫氣瓶檢驗作業(yè)指導(dǎo)書2024
- 《改革開放史》教學(xué)大綱
- 大學(xué)生就業(yè)指導(dǎo) 課件 第六單元 就業(yè)權(quán)益保護
評論
0/150
提交評論