這是 Linux 中 LVM(邏輯卷管理)的完整初學者指南。
創新互聯公司于2013年開始,先為沐川等服務建站,沐川等地企業,進行企業商務咨詢服務。為沐川企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
在本教程中,您將了解 LVM 的概念、它的組件以及為什么要使用它。
我不會僅限于理論上的解釋,我還將展示在 Linux 中創建和管理 LVM 的動手示例。
簡而言之,我將為您提供在現實世界中開始使用 LVM 所需的所有必要信息。
LVM 代表邏輯卷管理。這是管理存儲系統的另一種方法,而不是傳統的基于分區的方法。在 LVM 中,您無需創建分區,而是創建邏輯卷,然后您可以像掛載磁盤分區一樣輕松地將這些卷掛載到文件系統中。
LVM 包含三個主要組件:
盡管該列表由三個部分組成,但其中只有兩個是分區系統的直接對應部分,下表記錄了這一點。
物理卷沒有任何直接對應物,但我很快就會談到這一點。
LVM 的主要優點是調整卷或卷組的大小非常容易。它抽象出了所有丑陋的部分(分區、原始磁盤),并為我們留下了一個中央存儲池可供使用。
如果您曾經經歷過分區大小調整的恐懼,那么您會想要使用 LVM。
這篇文章不僅僅是理論。在此過程中,我將展示實際的命令示例,學習某些東西的最佳方法是親身實踐。為此,我建議您使用虛擬機。
為了幫助你,我已經準備了一個簡單的 Vagrantfile,你可以用它來用 VirtualBox 啟動一個非常輕量級的虛擬機。此虛擬機具有三個額外的磁盤,您和我可以將它們用于下面的命令示例。
在文件系統的某處創建一個目錄,并將以下內容保存在該文件中,名為Vagrantfile.
或者,如果您愿意,可以使用wget或curl從我的 gist 下載文件。
確保你安裝了Vagrant和VirtualBox。
一旦 Vagrantfile 就位,將環境變量設置VAGRANT_EXPERIMENTAL為disks.
最后,使用以下命令啟動虛擬機(確保您與 Vagrantfile 位于同一目錄中):
機器運行后,您可以使用vagrant sshSSH 連接到它并運行本文中的示例命令。
完成后請記住vagrant destroy從與 Vagrantfile 相同的目錄運行。
在您可以使用任何命令之前,您需要安裝該lvm2軟件包。這應該預裝在大多數現代發行版中,尤其是基于 Ubuntu 的發行版中。但是,在繼續之前,我不得不提到這一點。要安裝lvm2,請查閱您的發行版的文檔。
對于這個動手演練,我構建了一個具有 40G 根存儲(不重要)和三個大小為 5G 的外部磁盤的虛擬機。這些磁盤的大小是任意的。
如您所見,我將使用的設備sdc是sdd和sde。
還記得我告訴過你 LVM 包含三個主要組件嗎?
是時候一一見他們了。
關于 LVM,您首先需要了解的是物理卷。物理卷是用于實現抽象即邏輯卷的原材料或構建塊。簡單來說,物理卷是 LVM 系統的邏輯單元。
物理卷可以是任何東西,原始磁盤或磁盤分區。創建和初始化物理卷是一回事。兩者都意味著您只是在為進一步的操作準備構建塊(即分區、磁盤)。這將在瞬間變得更加清晰。
實用程序:pv所有管理物理卷的實用程序都以P hysical Volume的字母開頭。例如pvcreate, pvchange,pvs等pvdisplay。
您可以使用原始未分區磁盤或分區本身來創建物理卷。
正如我之前提到的,我的虛擬機連接了三個外部驅動器,讓我們從/dev/sdc.
我們使用pvcreate命令來創建物理卷。只需將設備名稱傳遞給它即可。
你應該看到這樣的東西:-
接下來我將/dev/sdd分成相等的部分。使用任何工具cfdisk,,,等parted,fdisk有很多工具可以完成這項工作。
您現在可以在一個步驟中從這兩個分區中快速創建另外兩個物理卷,同時將這兩個設備傳遞給pvcreate。
看一看:-
您可以使用三個命令來獲取可用物理卷的列表pvscan,pvs和pvdisplay。您通常不需要向這些命令傳遞任何內容。
pvscan:-
pvs:-
pvdisplay:-
正如您所看到的,除了列出物理卷之外,這些命令還為您提供了大量有關這些卷的其他信息。
pvremove您可以使用該命令刪除物理卷。就像pvcreate,只需將設備(初始化為物理卷)傳遞給pvremove命令。
為了演示,我將從/dev/sdd2列表中刪除。
輸出應與此相同:-
現在列出物理卷sudo pvs
/dev/sdd2不再在這里。
卷組是物理卷的集合。它是 LVM 中的下一個抽象級別。卷組是結合了多個原始存儲設備的存儲容量的存儲池。
實用程序:所有卷組實用程序名稱都以 開頭vg,代表卷組,例如、等。vgcreatevgsvgrename
卷組是使用該vgcreate命令創建的。的第一個參數vgcreate是您要為該卷組指定的名稱,其余的是要支持存儲池的物理卷的列表。
例子:-
列出卷組類似于列出物理卷,您可以使用具有不同詳細級別的不同命令vgdisplay、vgscan和vgs。
我個人更喜歡vgs命令,sudo vgs
您可以使用以下命令列出連接到特定卷組的所有物理卷:-
例子:-
您還可以獲得物理卷的計數。
例子:-
擴展卷組意味著向卷組添加額外的物理卷。為此,vgextend使用該命令。語法很簡單:-
讓我們將lvm_tutorial音量擴大/dev/sdd2.
專注于輸出:-
在物理卷部分,我們最終將其/dev/sdd2作為物理卷刪除,但必須將分區或原始磁盤初始化為物理卷,否則 LVM 將無法將其作為卷組的一部分進行管理。所以在將它添加到卷組之前vgextend做好準備。/dev/sdd2
現在列出附加到此卷組的物理卷,以確保安全。
輸出:-
/dev/sdd2現在按預期在列表中。
就像擴展一個卷組意味著添加另一個物理卷一樣,減少它意味著刪除一個或多個物理卷。
我們使用vgreduce命令來執行此操作。一般語法如下:-
讓我們刪除物理卷/dev/sdc和/dev/sdd1.
例子:-
再次列出物理卷。
輸出:-
那兩個物理卷不見了。
現在,為了本文的其余部分,將這兩個物理卷添加回來。
vgremove您可以使用該命令刪除邏輯卷。
現在不要運行此命令,否則您必須重新創建卷組。如果您想對其進行測試,請在本文的最后運行它。
這是您將主要使用的內容。邏輯卷就像一個分區,但它不是位于原始磁盤之上,而是位于卷組之上。你可以,
在本節中,您將學習,
實用程序 :所有卷組實用程序名稱都以 開頭lv,代表邏輯卷。例如, ,等等, ,等等lvcreatelvslvreducevgcreatevgsvgrename
lvcreate使用該命令創建邏輯卷。常用的語法如下所示,
在虛擬機上運行以下命令:
示例輸出:
正如我之前所說,您可以將文件系統放在邏輯卷上,也可以將其掛載到文件系統的任何位置。
/dev/ / 創建后,您可以在路徑中找到邏輯卷。例如,在我們的例子中,音量將在 /dev/lvm_tutorial/lv1 .
現在您可以像使用任何分區一樣使用它。用ext4格式化,
將它安裝在當前目錄結構中的某個位置,例如/mnt,
您可以使用命令擴展邏輯卷lvextend并使用命令減小其大小lvreduce。或者,您可以使用單個命令lvresize來完成這兩項任務。
首先讓我們看看卷組中是否還有剩余空間。
輸出:-
根據輸出,我還有一些空間,所以讓我們將卷大小增加 2GB。
請記住,邏輯卷仍安裝在/mnt.
使用以下命令調整卷大小:
一般語法是這樣的:
后面的符號 + 或 --L取決于您是嘗試增加音量還是分別減小音量。
卷大小增加后,文件系統也必須調整大小。對于 ext4,要使用的命令是resize2fs.
輸出:
減少邏輯卷是一項稍微復雜的任務,我不會在本文中討論這個問題。我將把這個卷的大小減少 1GB。
lvremove您可以使用該命令刪除邏輯卷。命令語法如下:-
在虛擬機上運行此命令:-
輸出:-
在邏輯卷、物理卷和卷組上還有許多其他操作可行,但不可能將所有這些都寫到一篇文章中。
我/dev/sde在虛擬機中為您多留了一個磁盤,使用它,練習本文中的一些命令,創建一個新的卷組,擴展一個現有的卷組,只是練習。
我希望這篇文章對你有所幫助,如果你想在以后看到更多關于這方面的內容,請在下面的評論部分告訴我。
LVM(Logical Volume Manager)卷組管理器,通過對底層物理磁盤的封裝,可以將多塊物理磁盤組合成邏輯資源池,提供給上層應用使用(如文件系統). LVM的好處是,可以跨物理硬盤為文件系統提供容量,并且可以動態進行分區容量的調整,而不會損壞原有的文件系統.
物理磁盤 :物理存儲介質,可以是整塊物理存儲或一個分區.
物理卷PV(physical volume) :LVM要使用物理磁盤,在物理磁盤的頭部寫入lvm標簽頭,就創建了一個PV,PV是組成VG的基本單元.
卷組VG(Volume Group) :VG相當于非LVM系統中的物理硬盤,一個卷組VG由一個或多個PV組成,形成一個存儲資源池.
邏輯卷LV(logical volume) :LV相當于非LVM系統中的硬盤分區,LV建立在卷組VG之上,文件系統建立在LV之上.
物理塊PE(physical Extent) :創建LV時可以分配的最小存儲單元,大小可以指定,默認為4MB
如上是從物理磁盤到lvm邏輯卷的創建過程及映射關系,lv01、lv02被創建后,通過device-mapper映射為邏輯塊設備(塊設備路徑/dev/vg01/lv01、/dev/vg01/lv02),供文件系統使用,通過mkfs.ext4 /dev/vg01/lv02可創建ext4文件系統.
元數據主要是兩部分,PV header + metadata,位置一般是在PV的0~2048 sector中,從2048 sector開始是數據區域.
通過pvcreate創建pv時,會將pv header寫入物理磁盤,位置一般是在磁盤的第二個sector(512B/sector),lvm掃描磁盤時,通過pv header來識別PV.
pv header主要信息包括,pv uuid、元數據位置和metadata位置.
pv header實例:
metadata記錄的是vg和lv的配置信息,以ASCII碼的方式寫入metadata區域;vg和lv的每次配置變更,都會以追加的方式寫入metadata區域,并打上時間戳,該區域寫滿后,新的變更記錄會覆蓋最早的一次記錄. 進行vgscan時,猜測應該是通過讀取最新一次的配置記錄,進行激活.
vg配置信息,主要是包含的pv信息.
lv配置信息,主要是lv的起始位置和PE大小.
實例:
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個sector通過dd拷貝出來,用cat查看如下.
假設我們有一塊磁盤 /dev/sdb1 作為應用數據盤使用,以此為例創建lvm分區
先創建物理卷PV,命令: pvcreate /dev/sdb1
創建卷組VG,卷組命名為kylin,命令:vgcreate kylin /dev/sdb1
在VG中創建邏輯分區LV,命令:lvcreate -L 30G -n test kylin
創建邏輯分區后,進行格式化,然后便可以掛載使用.
mkfs.ext4 /dev/kylin/test
mount /dev/kylin/test /data
假設我們在上述基礎上,又獲得一塊磁盤/dev/sdc1進行擴容,將磁盤容量增加到LV分區/dev/kylin/test中,具體操作如下.
先創建物理卷PV,命令: pvcreate /dev/sdc1
將/dev/sdc1添加進VG kylin,命令:vgextend kylin /dev/sdc1
增加LV分區容量,命令:lvextend -L +30G /dev/kylin/test
lvm卷組配置備份
lvm的配置信息默認在/etc/lvm/backup、/etc/lvm/archive/兩個目錄存在備份,當lvm元數據損壞,lvm卷組讀取異常時,可通過備份文件進行恢復.
/etc/lvm/backup: 保留了當前配置的備份
/etc/lvm/archive/:保留了每次配置更新前的備份
實例演示
邏輯卷/dev/wan/lv01
在/dev/wan/lv01上創建文件系統
掛載并創建文件
覆蓋/dev/vdb1、/dev/vdb2的lvm元數據,并重啟系統,vg已不能識別
通過pvcreate命令修復pv header 和metadata數據.
激活邏輯卷
掛載/dev/wan/lv01成功,說明成功修復
Linux和Windows都采用了MBR的磁盤管理方法,也就是先對一個硬盤進行分區,在對這個一般光盤進行格式化的方法;他們的區別是: Linux系統,是先進行磁盤分區,如果需要使用該分區,將其掛載到對應目錄即可;而Windows則是自動將所有分區掛載好 傳統的磁盤管理的缺點:不方便進行分區擴充、容易導致文件系統崩潰、不適用于作為生產環境的服務器、拷貝分區的時候要求強制卸載磁盤分區,分區轉移時耗費的時間長;
LVM磁盤管理技術 是Linux環境下對磁盤管理的一種技術,是通過一個建立在硬盤和分區之上的邏輯層來提高磁盤分區的靈活性
物理卷(PV):就是真正的物理硬盤或物理分區
卷組(VG):是將多個物理硬盤整合到一起形成的邏輯卷組;也可以視作一塊邏輯硬盤
邏輯卷(LV):卷組是一塊邏輯硬盤,邏輯硬盤必須分區之后才能使用;邏輯卷可以視作是卷組的邏輯分區
物理擴展(PE):物理擴展是用來保存數據的最小單元
系統首先把物理硬盤合并為卷組;再通過卷組分區;將卷組(邏輯硬盤)分成邏輯分區(邏輯卷)進行使用;
把物理硬盤分成分區,也可以使用一整塊的物理硬盤;把物理硬盤分區建立為物理卷(PV)也可以把整塊物理硬盤都建立為物理卷;把剛剛劃分的物理卷合為卷組(VG)卷組就已經可以動態的調整大小了,最后把卷組劃分成邏輯卷,其中邏輯卷也是可以隨時劃分大小的
pvcreate命令在系統中一般用于創建物理卷;
語法結構
在使用這個命令的時候不要對存放Linux系統的盤符進行進行使用;我們在創建物理卷的時候都是對邏輯分區進行創建的;擴展分區(Extend)不能進行創建物理卷
pvdisplay 命令用于查看當前的分區情況
語法格式以及常用參數:
查看我們剛剛創建的物理卷
pvremove命令常用于刪除對應的物理卷
語法結構:
刪除我們剛剛創建的物理卷
vgcreate 命令的作用是將一個或多個物理卷整合成一個卷組;在創建卷組之前我們需要保證系統中有足夠的除系統存放卷本身的物理卷(使用pvscan查看)需要注意的是,存放Linux的系統物理卷不能被劃分到自定義卷組中、 常用參數:-s:設定PE(最小物理存儲單元)的大小、-l:最大邏輯卷數量、-p:允許存在的最大物理卷數量
語法結構:
將我們剛剛創建物理卷添加到卷組之中
vgdisplay 這個命令可以用來查看我們創建的卷組; 常見的參數 -s 卷組信息以短格式輸出 ;vgdisplay可以查看對應卷組的簡短信息,所以相對于pvdisplay用處又大了那么一點
語法格式:
查看剛剛創建的卷組和某一個卷組的信息
同樣:vgscan 命令也可以查看當前卷組使用情況的簡短信息
vgremove 命令的作用是刪除指定的卷組
語法結構:
刪除我們剛剛創建的卷組
注意:當刪除含有邏輯卷的卷組的時候系統會提示是否刪除對應卷組和對應邏輯卷,只有在兩個都輸入:y之后系統才會刪除對應的卷組
lvcreate 命令作用是在一個指定的卷組中創建一塊邏輯卷,前提是要求有指定的卷組; 常用參數:-L:規定創建的邏輯卷大小(直接寫大小就可以)、-l:通過PE劃分邏輯卷的大小(后面接的數字是PE的個數)
語法結構:
在指定的卷組里創建邏輯卷
lvdisplay 命令可用于查看邏輯卷的詳細信息,也可以用來查看指定邏輯卷的詳細信息 參數:-m:查看對應邏輯卷的掛載信息
語法結構:
檢查指定的邏輯卷,并查看指定邏輯卷的掛載信息:
管理邏輯卷大小的常用命令是lvextend 命令和 lvreduce 命令分別表示邏輯卷大小的擴充和減少, 其中lvextend命令表示邏輯卷大小擴充,常用參數 -L(指的是擴充的具體大小)、-l(指的是擴充的LE塊數量);lvextend命令表示邏輯卷大小的減小,常用參數-L(指的是減小的具體大小)、-l(指的是減小的LE塊數量)
語法結構:
對我們指定的兩個邏輯卷分別進行容量的增加和減少,并掛載對應的邏輯卷
文章名稱:linux創建物理卷命令 linux物理卷能否擴容
文章源于:http://vcdvsql.cn/article12/dopiodc.html
成都網站建設公司_創新互聯,為您提供標簽優化、外貿建站、響應式網站、商城網站、網站策劃、網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯