首頁 >運維 >linux運維 >Linux磁碟管理之LVM磁碟操作指令怎麼使用

Linux磁碟管理之LVM磁碟操作指令怎麼使用

WBOY
WBOY轉載
2023-05-23 13:58:453500瀏覽

LVM,Logical Volume Manger,是linux核心提供的一種邏輯磁碟區管理功能,由核心驅動和應用層工具組成,它是在硬碟的分區基礎上,創建了一個邏輯層,可以非常靈活且非常方便的管理儲存設備。

LVM利用Linux核心的device-mapper功能來實現儲存系統的虛擬化(系統分割區獨立於底層硬體)。透過LVM,可以實現儲存空間的抽象化並在上面建立虛擬分區(virtual partitions),可以更簡便地擴大和縮小分區,可以增刪分區時無需擔心某個硬碟上沒有足夠的連續空間,避免為正在使用的磁碟重新分割的麻煩、為調整分割區而不得不移動其他分割區的不便,它相比傳統的分割系統可以更靈活地管理磁碟。

一、LVM的基本組成

1、實體磁碟區(PV,Physical Volume)

一個可供儲存LVM的區塊裝置. 如硬碟分割區(MBR或GPT分區)、SAN 的硬碟、RAID 或LUN,一個回環檔案, 一個被核心映射的設備(例如dm-crypt),它包含一個特殊的LVM頭,它是LVM 建構的實際硬體或儲存系統。

2、磁碟區組 (VG,Volume Group)

卷組是對一個或多個實體磁碟區的集合,並在裝置檔案系統中顯示為 /dev/VG_NAME。

3、邏輯磁碟區(LV,Logical Volume)

邏輯磁碟區是可供系統使用的最終元設備,它們在磁碟區組中建立和管理,由實體區塊組成,實際上就是一個虛擬分區,並顯示為/dev/VG_NAME/LV_NAME,通常在其上可以建立檔案系統。

4、物理區塊(PE,Physical Extends)

如果一個邏輯磁碟區需要分配多個物理區塊,它們將會成為一個卷組中最小的連續區域(預設為4 MiB )。你可以把它看成物理卷的一部分,這部分可以被指派給一個邏輯磁碟區。

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

Linux磁碟管理之LVM磁碟操作指令怎麼使用

 依序為:disk -> partition -> PV - > VG -> LV -> fs,也即磁碟->分割->物理磁碟區->磁碟區->邏輯磁碟區->檔案系統。

其創建也是按照這個順序,以下會詳細介紹。

二、LVM的優缺點

1、優點

比起傳統的硬碟分割區管理方式,LVM更富於彈性:

  • 將多塊硬碟視為一塊大硬碟

  • 使用邏輯磁碟區(LV),可以建立跨越眾多硬碟空間的分割區。

  • 可以建立小的邏輯磁碟區(LV),在空間不足時再動態調整它的大小。

  • 在調整邏輯磁碟區(LV)大小時可以不用考慮邏輯磁碟區在硬碟上的位置,不用擔心沒有可用的連續空間。

  • 在線上進行邏輯捲和卷組的建立、刪除、大小調整等操作是可行的。對於LVM上的檔案系統,需要重新調整大小,但有些檔案系統(例如ext4)支援線上操作。

  • 無需重新啟動服務,就可以將服務中使用的邏輯磁碟區(LV)在線上(online)/動態(live)遷移到別的硬碟上。

  • 允許建立快照,可以儲存檔案系統的備份,同時將服務的離線時間(downtime)降低到最小。

  • 支援各種裝置映射目標(device-mapper targets),包括透明檔案系統加密和快取常用資料(caching of frequently used data)。這將允許你建立一個包含一個或多個磁碟、並用LUKS加密的系統,使用LVM on top 可輕鬆地管理和調整這些獨立的加密磁碟區(例如. /, /home, /backup等) 並免去開機時多次輸入密鑰的麻煩。

2、缺點

  • 在系統設定時需要更複雜的額外步驟。

  • Windows系統不支援LVM,若使用雙系統,你將無法在Windows上存取LVM分割區。

三、LVM的使用

1、建立分區(partition)

在配置lvm之前,必須對儲存設備進行分區,可以使用fdisk或parted工具進行,建立分割區時注意分割區類型的設定(類型為linux lvm):

  • 如果使用的是MBR,設定分割區類型要為8e。

  • 如果使用的是GPT,設定分區類型要為E6D6D379-F507-44C2-A23C-238F2A3DF928。

我虛擬機器新加了個磁碟/dev/sdb,下面我們建立一個8G的分割區:

Linux磁碟管理之LVM磁碟操作指令怎麼使用

Linux磁碟管理之LVM磁碟操作指令怎麼使用

以同樣的方式,再建立一個10G的linux lvm類型的分割區:

Linux磁碟管理之LVM磁碟操作指令怎麼使用

2、物理卷(PV)相关操作

①、通过lvmdiskscan命令列出可被用作pv的设备

Linux磁碟管理之LVM磁碟操作指令怎麼使用

 注:如果系统引导程序不支持LVM,则/boot不能置于LVM中。此刻必须创建一个独立的/boot分区并直接格式化后挂载到/boot。已知支持LVM的引导程序只有GRUB。

从上图可以看到//dev/sda2已经是PV了,所以只有dev/sda1、/dev/sdb1、/dev/sdb2可以用于创建PV,又因为/dev/sda1是boot引导区,所以下面我们可以对/dev/sdb1、/dev/sdb2创建PV

②、使用pvcreate命令创建pv
root# pvcreate device1 device2 ...

Linux磁碟管理之LVM磁碟操作指令怎麼使用

③、查看当前所有PV信息

可以通过pvs、pvscan、pvdisplay这三个命令查看pv信息 

Linux磁碟管理之LVM磁碟操作指令怎麼使用

 注意: 如果你用的是未格式化过且擦除块(erase block)大小小于1M的SSD,请采用以下命令pvcreate --dataalignment 1m /dev/sda来设置对齐(alignment)。

3、卷组(VG)相关操作

①、创建卷组

使用命令vgcreate创建卷组

root# vgcreate vg_name pv1 pv2 ...

Linux磁碟管理之LVM磁碟操作指令怎麼使用

 创建卷组vg_fedora_yg,并把pv /dev/sdb1加入该卷组。

②、查看卷组信息

Linux磁碟管理之LVM磁碟操作指令怎麼使用

 此时,也可以通过pvs查看各个物理卷所在的卷组:

Linux磁碟管理之LVM磁碟操作指令怎麼使用

4、逻辑卷(LV)相关操作

①、创建LV

使用lvcreate命令

root# lvcreate -L <lv_size>  <vg_name> -n <lv_name>
 
# 将卷组vg_name下所有剩余空间给创建的lv_name逻辑卷
root# lvcreate -l +100%FREE  <vg_name> -n <lv_name>
root# lvcreate -L <lv_size> <vg_name> -n <lv_name>

Linux磁碟管理之LVM磁碟操作指令怎麼使用

该逻辑卷创建完后,你就可以通过/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磁碟操作指令怎麼使用

注意:如果扩容的逻辑卷已经挂载到具体文件系统,则需要执行resize2fs或者xfs_growfs(针对xfs文件系统)命令使修改生效,可以通过df -Th或者blkid查看lv所挂载的文件系统类型。

5、格式化并挂载LV(逻辑卷)

上面逻辑卷LV创建之后,通常是已经可以在/dev/mapper/或者/dev/vg_name/下面找到该逻辑卷了,如果找不到的话,可以执行如下命令:

# modprobe dm-mod
# vgscan
# vgchange -ay

最后,可以看到如下:

Linux磁碟管理之LVM磁碟操作指令怎麼使用

①、格式化逻辑卷

现在可以在该逻辑卷上创建文件系统:

# 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),不要使用逻辑卷所在的实际分区设备(即不要使用:/dev/sdb1

 最后,我画了一张图,来展示linux lvm:

Linux磁碟管理之LVM磁碟操作指令怎麼使用

你可以对照上面内容,理解下linux lvm的磁盘管理机制。

说明:

①、圖中/dev/sda1是boot引導區,不能用lvm管理,所以直接格式化後掛載到目錄/boot下,另外/dev/sdb2也是沒有經過lvm直接格式化後掛載到目錄的。

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

③、磁碟設定/dev/sdc還有50G空閒空間未分割區,可以分割後使用。

以上是Linux磁碟管理之LVM磁碟操作指令怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除