溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux磁盤管理之LVM磁盤操作命令怎么使用

發(fā)布時間:2023-03-20 14:33:07 來源:億速云 閱讀:129 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Linux磁盤管理之LVM磁盤操作命令怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習“Linux磁盤管理之LVM磁盤操作命令怎么使用”吧!

LVM,Logical Volume Manger,是linux內(nèi)核提供的一種邏輯卷管理功能,由內(nèi)核驅(qū)動和應(yīng)用層工具組成,它是在硬盤的分區(qū)基礎(chǔ)上,創(chuàng)建了一個邏輯層,可以非常靈活且非常方便的管理存儲設(shè)備。

LVM利用Linux內(nèi)核的device-mapper功能來實現(xiàn)存儲系統(tǒng)的虛擬化(系統(tǒng)分區(qū)獨立于底層硬件)。 通過LVM,可以實現(xiàn)存儲空間的抽象化并在上面建立虛擬分區(qū)(virtual partitions),可以更簡便地擴大和縮小分區(qū),可以增刪分區(qū)時無需擔心某個硬盤上沒有足夠的連續(xù)空間,避免為正在使用的磁盤重新分區(qū)的麻煩、為調(diào)整分區(qū)而不得不移動其他分區(qū)的不便,它相比傳統(tǒng)的分區(qū)系統(tǒng)可以更靈活地管理磁盤。

一、LVM的基本組成

1、物理卷 (PV,Physical Volume)

一個可供存儲LVM的塊設(shè)備. 如硬盤分區(qū)(MBR或GPT分區(qū))、SAN 的硬盤、RAID 或 LUN,一個回環(huán)文件, 一個被內(nèi)核映射的設(shè)備 (例如 dm-crypt),它包含一個特殊的LVM頭,它是 LVM 構(gòu)建的實際硬件或存儲系統(tǒng)。

2、卷組 (VG,Volume Group)

卷組是對一個或多個物理卷的集合,并在設(shè)備文件系統(tǒng)中顯示為 /dev/VG_NAME。

3、邏輯卷 (LV,Logical Volume)

邏輯卷是可供系統(tǒng)使用的最終元設(shè)備,它們在卷組中創(chuàng)建和管理,由物理塊組成,實際上就是一個虛擬分區(qū),并顯示為 /dev/VG_NAME/LV_NAME,通常在其上可以創(chuàng)建文件系統(tǒng)。

4、物理塊 (PE,Physical Extends)

一個卷組中最小的連續(xù)區(qū)域(默認為4 MiB),多個物理塊將被分配給一個邏輯卷。你可以把它看成物理卷的一部分,這部分可以被分配給一個邏輯卷。

下面我畫了一張lvm在linux磁盤管理中的位置圖:

Linux磁盤管理之LVM磁盤操作命令怎么使用

 依次為:disk -> partition -> PV -> VG -> LV -> fs,也即磁盤->分區(qū)->物理卷->卷組->邏輯卷->文件系統(tǒng)。

其創(chuàng)建也是按照這個順序,下面會詳細介紹。 

二、LVM的優(yōu)缺點

1、優(yōu)點

比起傳統(tǒng)的硬盤分區(qū)管理方式,LVM更富于靈活性:

  • 將多塊硬盤看作一塊大硬盤

  • 使用邏輯卷(LV),可以創(chuàng)建跨越眾多硬盤空間的分區(qū)。

  • 可以創(chuàng)建小的邏輯卷(LV),在空間不足時再動態(tài)調(diào)整它的大小。

  • 在調(diào)整邏輯卷(LV)大小時可以不用考慮邏輯卷在硬盤上的位置,不用擔心沒有可用的連續(xù)空間。

  • 可以在線(online)對邏輯卷(LV)和卷組(VG)進行創(chuàng)建、刪除、調(diào)整大小等操作。不過LVM上的文件系統(tǒng)也需要重新調(diào)整大小,好在某些文件系統(tǒng)(例如ext4)也支持在線操作。

  • 無需重新啟動服務(wù),就可以將服務(wù)中用到的邏輯卷(LV)在線(online)/動態(tài)(live)遷移至別的硬盤上。

  • 允許創(chuàng)建快照,可以保存文件系統(tǒng)的備份,同時使服務(wù)的下線時間(downtime)降低到最小。

  • 支持各種設(shè)備映射目標(device-mapper targets),包括透明文件系統(tǒng)加密和緩存常用數(shù)據(jù)(caching of frequently used data)。這將允許你創(chuàng)建一個包含一個或多個磁盤、并用LUKS加密的系統(tǒng),使用LVM on top 可輕松地管理和調(diào)整這些獨立的加密卷 (例如. /, /home, /backup等) 并免去開機時多次輸入密鑰的麻煩。

2、缺點

  • 在系統(tǒng)設(shè)置時需要更復(fù)雜的額外步驟。

  • Windows系統(tǒng)并不支持LVM,若使用雙系統(tǒng),你將無法在Windows上訪問LVM分區(qū)。

三、LVM的使用

1、創(chuàng)建分區(qū)(partition)

在配置lvm之前,必須對存儲設(shè)備進行分區(qū),可以使用fdisk或者parted工具進行,創(chuàng)建分區(qū)時注意分區(qū)類型的設(shè)置(類型為linux lvm):

  • 如果使用的是MBR,設(shè)置分區(qū)類型要為8e。

  • 如果使用的是GPT,設(shè)置分區(qū)類型要為E6D6D379-F507-44C2-A23C-238F2A3DF928。

我虛擬機新加了個磁盤/dev/sdb,下面我們創(chuàng)建一個8G的分區(qū):

Linux磁盤管理之LVM磁盤操作命令怎么使用

Linux磁盤管理之LVM磁盤操作命令怎么使用

以同樣的方式,再創(chuàng)建一個10G的linux lvm類型的分區(qū):

Linux磁盤管理之LVM磁盤操作命令怎么使用

2、物理卷(PV)相關(guān)操作

①、通過lvmdiskscan命令列出可被用作pv的設(shè)備

Linux磁盤管理之LVM磁盤操作命令怎么使用

 注:如果系統(tǒng)引導(dǎo)程序不支持LVM,則/boot不能置于LVM中。此刻必須創(chuàng)建一個獨立的/boot分區(qū)并直接格式化后掛載到/boot。已知支持LVM的引導(dǎo)程序只有GRUB。

從上圖可以看到//dev/sda2已經(jīng)是PV了,所以只有dev/sda1、/dev/sdb1、/dev/sdb2可以用于創(chuàng)建PV,又因為/dev/sda1是boot引導(dǎo)區(qū),所以下面我們可以對/dev/sdb1、/dev/sdb2創(chuàng)建PV

②、使用pvcreate命令創(chuàng)建pv
root# pvcreate device1 device2 ...

Linux磁盤管理之LVM磁盤操作命令怎么使用

③、查看當前所有PV信息

可以通過pvs、pvscan、pvdisplay這三個命令查看pv信息 

Linux磁盤管理之LVM磁盤操作命令怎么使用

 注意: 如果你用的是未格式化過且擦除塊(erase block)大小小于1M的SSD,請采用以下命令pvcreate --dataalignment 1m /dev/sda來設(shè)置對齊(alignment)。

3、卷組(VG)相關(guān)操作

①、創(chuàng)建卷組

使用命令vgcreate創(chuàng)建卷組

root# vgcreate vg_name pv1 pv2 ...

Linux磁盤管理之LVM磁盤操作命令怎么使用

 創(chuàng)建卷組vg_fedora_yg,并把pv /dev/sdb1加入該卷組。

②、查看卷組信息

Linux磁盤管理之LVM磁盤操作命令怎么使用

 此時,也可以通過pvs查看各個物理卷所在的卷組:

Linux磁盤管理之LVM磁盤操作命令怎么使用

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>

Linux磁盤管理之LVM磁盤操作命令怎么使用

該邏輯卷創(chuàng)建完后,你就可以通過/dev/mapper/vg_fedora_yg-lv_yg01/dev/vg_fedora_yg/lv_yg01來訪問它:

Linux磁盤管理之LVM磁盤操作命令怎么使用

②、查看lv

 命令lvs、lvscan、lvdisplay查看

Linux磁盤管理之LVM磁盤操作命令怎么使用

③、擴容邏輯卷

通過命令lvextend:

root# lvextend -L <extend_size> <lv_path>

Linux磁盤管理之LVM磁盤操作命令怎么使用

注意:如果擴容的邏輯卷已經(jīng)掛載到具體文件系統(tǒng),則需要執(zhí)行resize2fs或者xfs_growfs(針對xfs文件系統(tǒng))命令使修改生效,可以通過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

最后,可以看到如下:

Linux磁盤管理之LVM磁盤操作命令怎么使用

①、格式化邏輯卷

現(xiàn)在可以在該邏輯卷上創(chuàng)建文件系統(tǒng):

# mkfs.<filesystem_type> /dev/mapper/<vg_name>-<lv_name>
 
# 
# mkfs.xfs /dev/mapper/vg_fedora_yg-lv_yg01

Linux磁盤管理之LVM磁盤操作命令怎么使用

②、掛載
# mount /dev/mapper/<vg_name>-<lv_name> <mount_point>

Linux磁盤管理之LVM磁盤操作命令怎么使用

 注:掛載點請選擇你所新建的邏輯卷(例如:/dev/mapper/vg_fedora_yg-lv_yg01),不要使用邏輯卷所在的實際分區(qū)設(shè)備(即不要使用:/dev/sdb1

 最后,我畫了一張圖,來展示linux lvm:

Linux磁盤管理之LVM磁盤操作命令怎么使用

你可以對照上面內(nèi)容,理解下linux lvm的磁盤管理機制。

說明:

①、圖中/dev/sda1是boot引導(dǎo)區(qū),不能用lvm管理,所以直接格式化后掛載到目錄/boot下,另外/dev/sdb2也是沒有經(jīng)過lvm直接格式化后掛載到目錄的。 

②、卷組vg_fedora1容量為139G,從其中分配出去了40+5+45=90G,還有49G空閑,這些空閑容量可以lvextend到下面的lv中;也可以再創(chuàng)建個lv,分配出去。

③、磁盤設(shè)置/dev/sdc還有50G空閑空間未分區(qū),可以分區(qū)后使用。

感謝各位的閱讀,以上就是“Linux磁盤管理之LVM磁盤操作命令怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習后,相信大家對Linux磁盤管理之LVM磁盤操作命令怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI