Linux磁盤管理之LVM詳解及l(fā)vm磁盤操作命令
LVM,Logical Volume Manger,是linux內(nèi)核提供的一種邏輯卷管理功能,由內(nèi)核驅(qū)動(dòng)和應(yīng)用層工具組成,它是在硬盤的分區(qū)基礎(chǔ)上,創(chuàng)建了一個(gè)邏輯層,可以非常靈活且非常方便的管理存儲(chǔ)設(shè)備。
LVM利用Linux內(nèi)核的device-mapper功能來(lái)實(shí)現(xiàn)存儲(chǔ)系統(tǒng)的虛擬化(系統(tǒng)分區(qū)獨(dú)立于底層硬件)。 通過(guò)LVM,可以實(shí)現(xiàn)存儲(chǔ)空間的抽象化并在上面建立虛擬分區(qū)(virtual partitions),可以更簡(jiǎn)便地?cái)U(kuò)大和縮小分區(qū),可以增刪分區(qū)時(shí)無(wú)需擔(dān)心某個(gè)硬盤上沒(méi)有足夠的連續(xù)空間,避免為正在使用的磁盤重新分區(qū)的麻煩、為調(diào)整分區(qū)而不得不移動(dòng)其他分區(qū)的不便,它相比傳統(tǒng)的分區(qū)系統(tǒng)可以更靈活地管理磁盤。
一、LVM的基本組成
1、物理卷 (PV,Physical Volume)
一個(gè)可供存儲(chǔ)LVM的塊設(shè)備. 如硬盤分區(qū)(MBR或GPT分區(qū))、SAN 的硬盤、RAID 或 LUN,一個(gè)回環(huán)文件, 一個(gè)被內(nèi)核映射的設(shè)備 (例如 dm-crypt),它包含一個(gè)特殊的LVM頭,它是 LVM 構(gòu)建的實(shí)際硬件或存儲(chǔ)系統(tǒng)。
2、卷組 (VG,Volume Group)
卷組是對(duì)一個(gè)或多個(gè)物理卷的集合,并在設(shè)備文件系統(tǒng)中顯示為 /dev/VG_NAME。
3、邏輯卷 (LV,Logical Volume)
邏輯卷是可供系統(tǒng)使用的最終元設(shè)備,它們?cè)诰斫M中創(chuàng)建和管理,由物理塊組成,實(shí)際上就是一個(gè)虛擬分區(qū),并顯示為 /dev/VG_NAME/LV_NAME,通常在其上可以創(chuàng)建文件系統(tǒng)。
4、物理塊 (PE,Physical Extends)
一個(gè)卷組中最小的連續(xù)區(qū)域(默認(rèn)為4 MiB),多個(gè)物理塊將被分配給一個(gè)邏輯卷。你可以把它看成物理卷的一部分,這部分可以被分配給一個(gè)邏輯卷。
下面我畫了一張lvm在linux磁盤管理中的位置圖:
依次為:disk -> partition -> PV -> VG -> LV -> fs,也即磁盤->分區(qū)->物理卷->卷組->邏輯卷->文件系統(tǒng)。
其創(chuàng)建也是按照這個(gè)順序,下面會(huì)詳細(xì)介紹。
二、LVM的優(yōu)缺點(diǎn)
1、優(yōu)點(diǎn)
比起傳統(tǒng)的硬盤分區(qū)管理方式,LVM更富于靈活性:
- 將多塊硬盤看作一塊大硬盤
- 使用邏輯卷(LV),可以創(chuàng)建跨越眾多硬盤空間的分區(qū)。
- 可以創(chuàng)建小的邏輯卷(LV),在空間不足時(shí)再動(dòng)態(tài)調(diào)整它的大小。
- 在調(diào)整邏輯卷(LV)大小時(shí)可以不用考慮邏輯卷在硬盤上的位置,不用擔(dān)心沒(méi)有可用的連續(xù)空間。
- 可以在線(online)對(duì)邏輯卷(LV)和卷組(VG)進(jìn)行創(chuàng)建、刪除、調(diào)整大小等操作。不過(guò)LVM上的文件系統(tǒng)也需要重新調(diào)整大小,好在某些文件系統(tǒng)(例如ext4)也支持在線操作。
- 無(wú)需重新啟動(dòng)服務(wù),就可以將服務(wù)中用到的邏輯卷(LV)在線(online)/動(dòng)態(tài)(live)遷移至別的硬盤上。
- 允許創(chuàng)建快照,可以保存文件系統(tǒng)的備份,同時(shí)使服務(wù)的下線時(shí)間(downtime)降低到最小。
- 支持各種設(shè)備映射目標(biāo)(device-mapper targets),包括透明文件系統(tǒng)加密和緩存常用數(shù)據(jù)(caching of frequently used data)。這將允許你創(chuàng)建一個(gè)包含一個(gè)或多個(gè)磁盤、并用LUKS加密的系統(tǒng),使用LVM on top 可輕松地管理和調(diào)整這些獨(dú)立的加密卷 (例如. /, /home, /backup等) 并免去開(kāi)機(jī)時(shí)多次輸入密鑰的麻煩。
2、缺點(diǎn)
- 在系統(tǒng)設(shè)置時(shí)需要更復(fù)雜的額外步驟。
- Windows系統(tǒng)并不支持LVM,若使用雙系統(tǒng),你將無(wú)法在Windows上訪問(wèn)LVM分區(qū)。
三、LVM的使用
1、創(chuàng)建分區(qū)(partition)
在配置lvm之前,必須對(duì)存儲(chǔ)設(shè)備進(jìn)行分區(qū),可以使用fdisk或者parted工具進(jìn)行,創(chuàng)建分區(qū)時(shí)注意分區(qū)類型的設(shè)置(類型為linux lvm):
- 如果使用的是MBR,設(shè)置分區(qū)類型要為8e。
- 如果使用的是GPT,設(shè)置分區(qū)類型要為E6D6D379-F507-44C2-A23C-238F2A3DF928。
我虛擬機(jī)新加了個(gè)磁盤/dev/sdb,下面我們創(chuàng)建一個(gè)8G的分區(qū):
以同樣的方式,再創(chuàng)建一個(gè)10G的linux lvm類型的分區(qū):
2、物理卷(PV)相關(guān)操作
①、通過(guò)lvmdiskscan命令列出可被用作pv的設(shè)備
注:如果系統(tǒng)引導(dǎo)程序不支持LVM,則/boot
不能置于LVM中。此刻必須創(chuàng)建一個(gè)獨(dú)立的/boot
分區(qū)并直接格式化后掛載到/boot。已知支持LVM的引導(dǎo)程序只有GRUB。
從上圖可以看到//dev/sda2已經(jīng)是PV了,所以只有dev/sda1、/dev/sdb1、/dev/sdb2可以用于創(chuàng)建PV,又因?yàn)?dev/sda1是boot引導(dǎo)區(qū),所以下面我們可以對(duì)/dev/sdb1、/dev/sdb2創(chuàng)建PV
②、使用pvcreate命令創(chuàng)建pv
root# pvcreate device1 device2 ...
③、查看當(dāng)前所有PV信息
可以通過(guò)pvs、pvscan、pvdisplay這三個(gè)命令查看pv信息
注意: 如果你用的是未格式化過(guò)且擦除塊(erase block)大小小于1M的SSD,請(qǐng)采用以下命令
pvcreate --dataalignment 1m /dev/sda
來(lái)設(shè)置對(duì)齊(alignment)。
3、卷組(VG)相關(guān)操作
①、創(chuàng)建卷組
使用命令vgcreate創(chuàng)建卷組
root# vgcreate vg_name pv1 pv2 ...
創(chuàng)建卷組vg_fedora_yg,并把pv /dev/sdb1加入該卷組。
②、查看卷組信息
此時(shí),也可以通過(guò)pvs查看各個(gè)物理卷所在的卷組:
4、邏輯卷(LV)相關(guān)操作
①、創(chuàng)建LV
使用lvcreate命令
root# lvcreate -L <lv_size> <vg_name> -n <lv_name> # 將卷組vg_name下所有剩余空間給創(chuàng)建的lv_name邏輯卷 root# lvcreate -l +100%FREE <vg_name> -n <lv_name>
root# lvcreate -L <lv_size> <vg_name> -n <lv_name>
該邏輯卷創(chuàng)建完后,你就可以通過(guò)/dev/mapper/vg_fedora_yg-lv_yg01
或/dev/vg_fedora_yg/lv_yg01
來(lái)訪問(wèn)它:
②、查看lv
命令lvs、lvscan、lvdisplay查看
③、擴(kuò)容邏輯卷
通過(guò)命令lvextend:
root# lvextend -L <extend_size> <lv_path>
注意:如果擴(kuò)容的邏輯卷已經(jīng)掛載到具體文件系統(tǒng),則需要執(zhí)行resize2fs或者xfs_growfs(針對(duì)xfs文件系統(tǒng))命令使修改生效,可以通過(guò)df -Th或者blkid查看lv所掛載的文件系統(tǒng)類型。
5、格式化并掛載LV(邏輯卷)
上面邏輯卷LV創(chuàng)建之后,通常是已經(jīng)可以在/dev/mapper/或者/dev/vg_name/下面找到該邏輯卷了,如果找不到的話,可以執(zhí)行如下命令:
# modprobe dm-mod # vgscan # vgchange -ay
最后,可以看到如下:
①、格式化邏輯卷
現(xiàn)在可以在該邏輯卷上創(chuàng)建文件系統(tǒng):
# mkfs.<filesystem_type> /dev/mapper/<vg_name>-<lv_name> # # mkfs.xfs /dev/mapper/vg_fedora_yg-lv_yg01
②、掛載
# mount /dev/mapper/<vg_name>-<lv_name> <mount_point>
注:掛載點(diǎn)請(qǐng)選擇你所新建的邏輯卷(例如:/dev/mapper/vg_fedora_yg-lv_yg01
),不要使用邏輯卷所在的實(shí)際分區(qū)設(shè)備(即不要使用:/dev/sdb1
)
最后,我畫了一張圖,來(lái)展示linux lvm:
你可以對(duì)照上面內(nèi)容,理解下linux lvm的磁盤管理機(jī)制。
說(shuō)明:
①、圖中/dev/sda1是boot引導(dǎo)區(qū),不能用lvm管理,所以直接格式化后掛載到目錄/boot下,另外/dev/sdb2也是沒(méi)有經(jīng)過(guò)lvm直接格式化后掛載到目錄的。
②、卷組vg_fedora1容量為139G,從其中分配出去了40+5+45=90G,還有49G空閑,這些空閑容量可以lvextend到下面的lv中;也可以再創(chuàng)建個(gè)lv,分配出去。
③、磁盤設(shè)置/dev/sdc還有50G空閑空間未分區(qū),可以分區(qū)后使用。
關(guān)于lvm其它高級(jí)配置功能,可以查看參考鏈接。
參考:
到此這篇關(guān)于Linux磁盤管理之LVM詳解及l(fā)vm磁盤操作命令的文章就介紹到這了,更多相關(guān)Linux磁盤管理LVM命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本實(shí)現(xiàn)批量下載資源并保留原始路徑
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)批量下載資源并保留原始路徑,本文直接給出實(shí)現(xiàn)代碼和使用例子,需要的朋友可以參考下2015-02-02linux系統(tǒng)下用.sh文件執(zhí)行python命令的方法
這篇文章主要給大家介紹了關(guān)于linux系統(tǒng)下用.sh文件執(zhí)行python命令的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-07-07linux使用管道命令執(zhí)行ps獲取cpu與內(nèi)存占用率
這篇文章主要介紹了linux使用管道命令執(zhí)行ps獲取cpu與內(nèi)存占用率的示例,需要的朋友可以參考下2014-02-02Linux下shell腳本監(jiān)控Tomcat的狀態(tài)并實(shí)現(xiàn)自動(dòng)啟動(dòng)的步驟
這篇文章主要介紹了Linux下shell腳本監(jiān)控Tomcat的狀態(tài)并實(shí)現(xiàn)自動(dòng)啟動(dòng)的步驟,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-12-12