(一)???在VM中加一個(gè)15G的磁盤
創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元瀘縣做網(wǎng)站,已為上家服務(wù),為瀘縣各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
重啟后#fdisk –l可以看到新的磁盤已經(jīng)認(rèn)出來(lái)了。
Disk /dev/sdb: 16.1 GB, 16106127360 bytes
............................
Disk /dev/sdb doesn't contain a valid partition table
(二)創(chuàng)建物理卷(PV)
#pvcreate /dev/sdb
查看系統(tǒng)PV的情況:
[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name???????????????/dev/sda2??//原有硬盤上的PV
VG Name???????????????VolGroup
PV Size???????????????7.51 GiB / not usable 3.00 MiB
Allocatable???????????yes (but full)
PE Size???????????????4.00 MiB
Total PE??????????????1922
Free PE???????????????0
Allocated PE??????????1922
PV UUID???????????????SGH1dY-4tp2-Nr1a-w93Z-V4LA-pQBh-VGzzTH
"/dev/sdb" is a new physical volume of "15.00 GiB"
--- NEW Physical volume ---
PV Name???????????????/dev/sdb
VG Name????????????????//新建的PV的VG name是空的,下一步就是把PV加入VG
PV Size???????????????15.00 GiB
Allocatable???????????NO
PE Size???????????????0
Total PE??????????????0
Free PE???????????????0
Allocated PE??????????0
PV UUID???????????????8TZUlz-YyUp-RBvf-lSzm-7MgG-DSZS-qNqX1Z
查看原VG的情況
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name???????????????VolGroup?//注意記錄此名字,擴(kuò)容時(shí)將新的pv加入指定的名字
System ID
Format????????????????lvm2
Metadata Areas????????1
Metadata Sequence No??3
VG Access?????????????read/write
VG Status?????????????resizable
MAX LV????????????????0
Cur LV????????????????2
Open LV???????????????2
Max PV????????????????0
Cur PV????????????????1
Act PV????????????????1
VG Size???????????????7.51 GiB
PE Size???????????????4.00 MiB
Total PE??????????????1922
AllocPE / Size???????1922 / 7.51 GiB
Free??PE / Size???????0 / 0
VG UUID???????????????FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1
建議看看這本書《Linux就該這么學(xué)》
(三)#擴(kuò)展卷組,將/dev/sdb物理卷添加到VolGroup卷組中
[root@localhost ~]# vgextend VolGroup /dev/sdb
Volume group "VolGroup" successfully extended
再查看VG情況,可以看到VG大小變化,空余空間。
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name???????????????VolGroup
System ID
Format????????????????lvm2
Metadata Areas????????2
Metadata Sequence No??4
VG Access?????????????read/write
VG Status?????????????resizable
MAX LV????????????????0
Cur LV????????????????2
Open LV???????????????2
Max PV????????????????0
Cur PV????????????????2
Act PV????????????????2
VG Size???????????????22.50 GiB
PE Size???????????????4.00 MiB
Total PE??????????????5761
AllocPE / Size???????1922 / 7.51 GiB
Free??PE / Size???????3839 / 15.00 GiB
VG UUID???????????????FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1
(四)將新的VG空間劃入LV(擴(kuò)容lv_root)
#直接擴(kuò)展5G給/root分區(qū),不用umount,也不需要重啟
# lvextend -L +5G??/dev/mapper/VolGroup-lv_root
Extending logical volume lv_root to 10.38 GiB
Logical volume lv_root successfully resized
也可以使用命令
# lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root
此時(shí),如果有df命令查看的話,會(huì)發(fā)現(xiàn)root空間并沒(méi)有增加的.還需要執(zhí)行以下兩步操作才可以.
#檢查/root邏輯卷
#e2fsck -f /dev/mapper/VolGroup-lv_root
#重新定義分區(qū)大小
#resize2fs /dev/mapper/VolGroup-lv_root
查看/目錄大小
可以看到/目錄已經(jīng)從原來(lái)的5.3G擴(kuò)容到了11G。
(五)LV卷空間分配(新增lv_oracle)
在VG中還有新增的10G沒(méi)有用,可以將VG中的空余空間劃分為L(zhǎng)V,并將新的LV掛載在目錄下。
# vgs
VG???????#PV #LV #SN Attr???VSize??VFree
VolGroup???2???2???0 wz--n- 22.50g10.00g
//可以通過(guò)#vgs命令查看vg信息統(tǒng)計(jì),可以看到VFree還有10G。
將VG空余的空間化分為L(zhǎng)V
#lvcreate -L 10G -n lv_oracle VolGroup
圖四
//少了一點(diǎn)點(diǎn)空間…
//可以用-l?分,它是按pv塊數(shù)來(lái)分的。一個(gè)pv默認(rèn)是4M,可是從vgdisplay中去查vg中還剩多少pv以及總數(shù)是多少。
//查到剩余2559個(gè)PE,于是執(zhí)行
# lvcreate -l 2559 -n lv_oracle VolGroup
Logical volume "lv_oracle" created
提示創(chuàng)建成功后,用vgs和lvs命令分別查看。
(五)掛載LV到目錄下
接下來(lái)就是要把lv_oracle掛到/oracle,目錄下
#cd /
#mkdir oracle
#chmod 777 /oracle
創(chuàng)建/oracle目錄并修改權(quán)限
# vi /etc/fstab
可以看到目前掛載分區(qū)的情況
//我們可以參照/的分區(qū)把oracle的加上去。加入這行:
/dev/mapper/VolGroup-lv_oracle??????/oracle????ext4 defaults??0 0
然后把lv_oracle格式化成ext4
#mkfs.ext4 /dev/mapper/VolGroup-lv_oracle
將lv_oracle??mount到目錄/oracle上
# mount /dev/mapper/VolGroup-lv_oracle /oracle之后查看一下分區(qū)情況
可以重啟系統(tǒng)檢查一下是否正常。
#df –h
掛載正常,可以收工了。
思路:因?yàn)樽隽讼到y(tǒng)盤本身做了 lvm ,所以只需要將新磁盤加到現(xiàn)有的 lv 上去即可,具體的思路是: PV-VG-LV- 文件系統(tǒng)使用(掛載到某個(gè)目錄)
PV (physical volume) 即物理卷,就是物理磁盤,可以通過(guò) lsblk / fdisk -l 查看操作系統(tǒng)有幾塊硬盤
VG (volume group) 即卷組,就是一組物理磁盤的組合,里面可以有一塊硬盤也可以有多塊硬盤
LV (logical volume) 即邏輯卷,就是在 VG (指定的物理磁盤組)里面劃分出來(lái)的
可以說(shuō)成是 PV 就是硬盤,而 VG 就是管理硬盤的操作系統(tǒng),而 LV 就是操作系統(tǒng)分出來(lái)的各個(gè)分區(qū) 。
此時(shí) /dev/mapper/vg0-data 使用率已經(jīng)超過(guò) 90%
查看新加盤 vdc
查看vgname
用 pvcreate /dev/vdb 命令將 /dev/vdb 磁盤轉(zhuǎn)換為物理卷(PV)
查看系統(tǒng)pv卷
使用 vgextend 命令將 /dev/vdb 加入到 centos 這個(gè) vg 卷組中,也就是把兩個(gè)物理卷放到一個(gè) vg 卷組里統(tǒng)一管理
再次查看 vg 卷組的信息,觀察 Free PE/Size 的變化
命令直接擴(kuò)容對(duì)應(yīng)的 LV 分區(qū),這里我直接用的 data 分區(qū)的路徑 /dev/mapper/vg0-data,猜測(cè)用 lv 的名字也可以,lv 的名字可以使用 lvdisplay 命令查詢, +100%FREE 的意思是把剩下的空間全部分配,也可以寫成 “+120G -n”
從下面可以發(fā)現(xiàn),我給 /dev/mapper/vg0-data 分區(qū)增加的 400G 空間并沒(méi)有加上,是因?yàn)樾枰⑿乱幌?/p>
使用 xfs_growfs 命令刷新分區(qū)的空間,可以看到新加的 400G 磁盤已經(jīng)添加到 /dev/mapper/vg0-data 分區(qū)了
這是 Linux 中 LVM(邏輯卷管理)的完整初學(xué)者指南。
在本教程中,您將了解 LVM 的概念、它的組件以及為什么要使用它。
我不會(huì)僅限于理論上的解釋,我還將展示在 Linux 中創(chuàng)建和管理 LVM 的動(dòng)手示例。
簡(jiǎn)而言之,我將為您提供在現(xiàn)實(shí)世界中開(kāi)始使用 LVM 所需的所有必要信息。
LVM 代表邏輯卷管理。這是管理存儲(chǔ)系統(tǒng)的另一種方法,而不是傳統(tǒng)的基于分區(qū)的方法。在 LVM 中,您無(wú)需創(chuàng)建分區(qū),而是創(chuàng)建邏輯卷,然后您可以像掛載磁盤分區(qū)一樣輕松地將這些卷掛載到文件系統(tǒng)中。
LVM 包含三個(gè)主要組件:
盡管該列表由三個(gè)部分組成,但其中只有兩個(gè)是分區(qū)系統(tǒng)的直接對(duì)應(yīng)部分,下表記錄了這一點(diǎn)。
物理卷沒(méi)有任何直接對(duì)應(yīng)物,但我很快就會(huì)談到這一點(diǎn)。
LVM 的主要優(yōu)點(diǎn)是調(diào)整卷或卷組的大小非常容易。它抽象出了所有丑陋的部分(分區(qū)、原始磁盤),并為我們留下了一個(gè)中央存儲(chǔ)池可供使用。
如果您曾經(jīng)經(jīng)歷過(guò)分區(qū)大小調(diào)整的恐懼,那么您會(huì)想要使用 LVM。
這篇文章不僅僅是理論。在此過(guò)程中,我將展示實(shí)際的命令示例,學(xué)習(xí)某些東西的最佳方法是親身實(shí)踐。為此,我建議您使用虛擬機(jī)。
為了幫助你,我已經(jīng)準(zhǔn)備了一個(gè)簡(jiǎn)單的 Vagrantfile,你可以用它來(lái)用 VirtualBox 啟動(dòng)一個(gè)非常輕量級(jí)的虛擬機(jī)。此虛擬機(jī)具有三個(gè)額外的磁盤,您和我可以將它們用于下面的命令示例。
在文件系統(tǒng)的某處創(chuàng)建一個(gè)目錄,并將以下內(nèi)容保存在該文件中,名為Vagrantfile.
或者,如果您愿意,可以使用wget或curl從我的 gist 下載文件。
確保你安裝了Vagrant和VirtualBox。
一旦 Vagrantfile 就位,將環(huán)境變量設(shè)置VAGRANT_EXPERIMENTAL為disks.
最后,使用以下命令啟動(dòng)虛擬機(jī)(確保您與 Vagrantfile 位于同一目錄中):
機(jī)器運(yùn)行后,您可以使用vagrant sshSSH 連接到它并運(yùn)行本文中的示例命令。
完成后請(qǐng)記住vagrant destroy從與 Vagrantfile 相同的目錄運(yùn)行。
在您可以使用任何命令之前,您需要安裝該lvm2軟件包。這應(yīng)該預(yù)裝在大多數(shù)現(xiàn)代發(fā)行版中,尤其是基于 Ubuntu 的發(fā)行版中。但是,在繼續(xù)之前,我不得不提到這一點(diǎn)。要安裝lvm2,請(qǐng)查閱您的發(fā)行版的文檔。
對(duì)于這個(gè)動(dòng)手演練,我構(gòu)建了一個(gè)具有 40G 根存儲(chǔ)(不重要)和三個(gè)大小為 5G 的外部磁盤的虛擬機(jī)。這些磁盤的大小是任意的。
如您所見(jiàn),我將使用的設(shè)備sdc是sdd和sde。
還記得我告訴過(guò)你 LVM 包含三個(gè)主要組件嗎?
是時(shí)候一一見(jiàn)他們了。
關(guān)于 LVM,您首先需要了解的是物理卷。物理卷是用于實(shí)現(xiàn)抽象即邏輯卷的原材料或構(gòu)建塊。簡(jiǎn)單來(lái)說(shuō),物理卷是 LVM 系統(tǒng)的邏輯單元。
物理卷可以是任何東西,原始磁盤或磁盤分區(qū)。創(chuàng)建和初始化物理卷是一回事。兩者都意味著您只是在為進(jìn)一步的操作準(zhǔn)備構(gòu)建塊(即分區(qū)、磁盤)。這將在瞬間變得更加清晰。
實(shí)用程序:pv所有管理物理卷的實(shí)用程序都以P hysical Volume的字母開(kāi)頭。例如pvcreate, pvchange,pvs等pvdisplay。
您可以使用原始未分區(qū)磁盤或分區(qū)本身來(lái)創(chuàng)建物理卷。
正如我之前提到的,我的虛擬機(jī)連接了三個(gè)外部驅(qū)動(dòng)器,讓我們從/dev/sdc.
我們使用pvcreate命令來(lái)創(chuàng)建物理卷。只需將設(shè)備名稱傳遞給它即可。
你應(yīng)該看到這樣的東西:-
接下來(lái)我將/dev/sdd分成相等的部分。使用任何工具cfdisk,,,等parted,fdisk有很多工具可以完成這項(xiàng)工作。
您現(xiàn)在可以在一個(gè)步驟中從這兩個(gè)分區(qū)中快速創(chuàng)建另外兩個(gè)物理卷,同時(shí)將這兩個(gè)設(shè)備傳遞給pvcreate。
看一看:-
您可以使用三個(gè)命令來(lái)獲取可用物理卷的列表pvscan,pvs和pvdisplay。您通常不需要向這些命令傳遞任何內(nèi)容。
pvscan:-
pvs:-
pvdisplay:-
正如您所看到的,除了列出物理卷之外,這些命令還為您提供了大量有關(guān)這些卷的其他信息。
pvremove您可以使用該命令刪除物理卷。就像pvcreate,只需將設(shè)備(初始化為物理卷)傳遞給pvremove命令。
為了演示,我將從/dev/sdd2列表中刪除。
輸出應(yīng)與此相同:-
現(xiàn)在列出物理卷sudo pvs
/dev/sdd2不再在這里。
卷組是物理卷的集合。它是 LVM 中的下一個(gè)抽象級(jí)別。卷組是結(jié)合了多個(gè)原始存儲(chǔ)設(shè)備的存儲(chǔ)容量的存儲(chǔ)池。
實(shí)用程序:所有卷組實(shí)用程序名稱都以 開(kāi)頭vg,代表卷組,例如、等。vgcreatevgsvgrename
卷組是使用該vgcreate命令創(chuàng)建的。的第一個(gè)參數(shù)vgcreate是您要為該卷組指定的名稱,其余的是要支持存儲(chǔ)池的物理卷的列表。
例子:-
列出卷組類似于列出物理卷,您可以使用具有不同詳細(xì)級(jí)別的不同命令vgdisplay、vgscan和vgs。
我個(gè)人更喜歡vgs命令,sudo vgs
您可以使用以下命令列出連接到特定卷組的所有物理卷:-
例子:-
您還可以獲得物理卷的計(jì)數(shù)。
例子:-
擴(kuò)展卷組意味著向卷組添加額外的物理卷。為此,vgextend使用該命令。語(yǔ)法很簡(jiǎn)單:-
讓我們將lvm_tutorial音量擴(kuò)大/dev/sdd2.
專注于輸出:-
在物理卷部分,我們最終將其/dev/sdd2作為物理卷刪除,但必須將分區(qū)或原始磁盤初始化為物理卷,否則 LVM 將無(wú)法將其作為卷組的一部分進(jìn)行管理。所以在將它添加到卷組之前vgextend做好準(zhǔn)備。/dev/sdd2
現(xiàn)在列出附加到此卷組的物理卷,以確保安全。
輸出:-
/dev/sdd2現(xiàn)在按預(yù)期在列表中。
就像擴(kuò)展一個(gè)卷組意味著添加另一個(gè)物理卷一樣,減少它意味著刪除一個(gè)或多個(gè)物理卷。
我們使用vgreduce命令來(lái)執(zhí)行此操作。一般語(yǔ)法如下:-
讓我們刪除物理卷/dev/sdc和/dev/sdd1.
例子:-
再次列出物理卷。
輸出:-
那兩個(gè)物理卷不見(jiàn)了。
現(xiàn)在,為了本文的其余部分,將這兩個(gè)物理卷添加回來(lái)。
vgremove您可以使用該命令刪除邏輯卷。
現(xiàn)在不要運(yùn)行此命令,否則您必須重新創(chuàng)建卷組。如果您想對(duì)其進(jìn)行測(cè)試,請(qǐng)?jiān)诒疚牡淖詈筮\(yùn)行它。
這是您將主要使用的內(nèi)容。邏輯卷就像一個(gè)分區(qū),但它不是位于原始磁盤之上,而是位于卷組之上。你可以,
在本節(jié)中,您將學(xué)習(xí),
實(shí)用程序 :所有卷組實(shí)用程序名稱都以 開(kāi)頭lv,代表邏輯卷。例如, ,等等, ,等等lvcreatelvslvreducevgcreatevgsvgrename
lvcreate使用該命令創(chuàng)建邏輯卷。常用的語(yǔ)法如下所示,
在虛擬機(jī)上運(yùn)行以下命令:
示例輸出:
正如我之前所說(shuō),您可以將文件系統(tǒng)放在邏輯卷上,也可以將其掛載到文件系統(tǒng)的任何位置。
/dev/ / 創(chuàng)建后,您可以在路徑中找到邏輯卷。例如,在我們的例子中,音量將在 /dev/lvm_tutorial/lv1 .
現(xiàn)在您可以像使用任何分區(qū)一樣使用它。用ext4格式化,
將它安裝在當(dāng)前目錄結(jié)構(gòu)中的某個(gè)位置,例如/mnt,
您可以使用命令擴(kuò)展邏輯卷lvextend并使用命令減小其大小lvreduce?;蛘?,您可以使用單個(gè)命令lvresize來(lái)完成這兩項(xiàng)任務(wù)。
首先讓我們看看卷組中是否還有剩余空間。
輸出:-
根據(jù)輸出,我還有一些空間,所以讓我們將卷大小增加 2GB。
請(qǐng)記住,邏輯卷仍安裝在/mnt.
使用以下命令調(diào)整卷大?。?/p>
一般語(yǔ)法是這樣的:
后面的符號(hào) + 或 --L取決于您是嘗試增加音量還是分別減小音量。
卷大小增加后,文件系統(tǒng)也必須調(diào)整大小。對(duì)于 ext4,要使用的命令是resize2fs.
輸出:
減少邏輯卷是一項(xiàng)稍微復(fù)雜的任務(wù),我不會(huì)在本文中討論這個(gè)問(wèn)題。我將把這個(gè)卷的大小減少 1GB。
lvremove您可以使用該命令刪除邏輯卷。命令語(yǔ)法如下:-
在虛擬機(jī)上運(yùn)行此命令:-
輸出:-
在邏輯卷、物理卷和卷組上還有許多其他操作可行,但不可能將所有這些都寫到一篇文章中。
我/dev/sde在虛擬機(jī)中為您多留了一個(gè)磁盤,使用它,練習(xí)本文中的一些命令,創(chuàng)建一個(gè)新的卷組,擴(kuò)展一個(gè)現(xiàn)有的卷組,只是練習(xí)。
我希望這篇文章對(duì)你有所幫助,如果你想在以后看到更多關(guān)于這方面的內(nèi)容,請(qǐng)?jiān)谙旅娴脑u(píng)論部分告訴我。
1.關(guān)閉虛擬機(jī),調(diào)整磁盤容量大小。
2.開(kāi)啟虛擬機(jī),查看磁盤分區(qū)信息。
3.創(chuàng)建新分區(qū)
4.重新讀取分區(qū)
5.創(chuàng)建物理卷
6.查看卷組名稱,以及卷組使用情況
7.將物理卷擴(kuò)展到卷組
8.查看當(dāng)前邏輯卷的空間狀態(tài)
9.將卷組中的空閑空間擴(kuò)展到根分區(qū)邏輯卷
10.執(zhí)行
11.查看擴(kuò)展之后磁盤使用情況
列出各分區(qū)使用情況
可以看見(jiàn) /dev/mapper/centos-root 已經(jīng)使用了 92% ,我們準(zhǔn)備為它擴(kuò)容
創(chuàng)建新分區(qū)
先看一下現(xiàn)有磁盤情況:
已經(jīng)可以看到新添加的磁盤 /dev/sdb
對(duì)新磁盤進(jìn)行分區(qū)
在 fdisk 的交互模式中,依次輸入:
這樣就把整個(gè)磁盤分成了一個(gè)區(qū)
再看一下現(xiàn)有磁盤情況
已經(jīng)多出了一個(gè)新分區(qū)
擴(kuò)展根目錄
將新分區(qū)用于擴(kuò)展 /root
先看一下卷分組
可以看到當(dāng)前卷分組名為 "centos"
為之前新增的分區(qū)創(chuàng)建物理卷:
查看結(jié)果:
已經(jīng)看到新創(chuàng)建的 200G 大小的物理卷
擴(kuò)展卷分組 "centos"是vgdisplay 命令查到的卷分組名
提示成功擴(kuò)展
下面查看一下邏輯卷:
可以看到 /dev/centos/root目前的LV Size是35.62 G
下面擴(kuò)展邏輯卷 /dev/centos/root
注:+199G是我們新增加的分區(qū)大小
擴(kuò)展后,還要執(zhí)行一步:
將文件系統(tǒng)擴(kuò)大
因?yàn)榘惭bCentOS用的xfs分區(qū),所以使用命令xfs_growfs擴(kuò)展文件系統(tǒng)大小。否則的話使用resize2fs命令
查看結(jié)果:
/root已經(jīng)擴(kuò)充到235G
背景:由于最近要做環(huán)境遷移,需要在新的服務(wù)器搭建環(huán)境,看了下新的云服務(wù)器頓時(shí)感覺(jué)淚流滿面,文件目錄太小,無(wú)法滿足需求;
fdisk -l 查看了一下磁盤情況,發(fā)現(xiàn)磁盤沒(méi)有完全分配,數(shù)據(jù)盤也沒(méi)有掛載(這個(gè)就不講了)
輸入lsblk進(jìn)行磁盤分配查看,發(fā)現(xiàn)vda還有260G沒(méi)有分配,這樣就不用在vdb磁盤上分出來(lái)一塊了,直接把剩下的進(jìn)行分區(qū);
現(xiàn)在開(kāi)始正式步驟
1,磁盤分區(qū):輸入fdisk /dev/vda 進(jìn)入分區(qū),執(zhí)行以下步驟
2,再次輸入lsblk,發(fā)現(xiàn)不顯示vda3
3,reboot重啟,再次lsblk查看,vda3已經(jīng)出現(xiàn)
4,輸入pvs 查看
5,將新分區(qū)vda3創(chuàng)建pv ,輸入pvcreate /dev/vda3
6,查看vg ,輸入vgs
7,輸入vgdisplay或lvdisplay查看vgName,然后擴(kuò)容名稱為centos的vg,輸入vgextend centos /dev/vda3
8,查看lv,輸入lvs
9,擴(kuò)容根目錄lv,輸入?lvextend -L +165G /dev/mapper/centos-root?(之所這樣是想著留著些空間后續(xù)可以分配到其他目錄)或者
lvextend -L +100%FREE /dev/mapper/centos-root(擴(kuò)容所有剩余空間)
10,查看lsblk,發(fā)現(xiàn)擴(kuò)容完成
11,輸入xfs_growfs /dev/mapper/centos-root 在線自動(dòng)擴(kuò)展文件系統(tǒng)到最大的可用大小
如果使用ext4文件系統(tǒng) resize2fs /dev/mapper/centos-root
12,進(jìn)行重啟完成操作