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

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中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
Linux:基本命令和操作Linux:基本命令和操作Apr 24, 2025 am 12:20 AM

Linux中不可或缺的命令包括:1.ls:列出目錄內容;2.cd:改變工作目錄;3.mkdir:創建新目錄;4.rm:刪除文件或目錄;5.cp:複製文件或目錄;6.mv:移動或重命名文件或目錄。這些命令通過與內核交互執行操作,幫助用戶高效管理文件和系統。

Linux操作:管理文件,目錄和權限Linux操作:管理文件,目錄和權限Apr 23, 2025 am 12:19 AM

在Linux中,文件和目錄管理使用ls、cd、mkdir、rm、cp、mv命令,權限管理使用chmod、chown、chgrp命令。 1.文件和目錄管理命令如ls-l列出詳細信息,mkdir-p遞歸創建目錄。 2.權限管理命令如chmod755file設置文件權限,chownuserfile改變文件所有者,chgrpgroupfile改變文件所屬組。這些命令基於文件系統結構和用戶、組系統,通過系統調用和元數據實現操作和控制。

Linux中的維護模式是什麼?解釋了Linux中的維護模式是什麼?解釋了Apr 22, 2025 am 12:06 AM

MaintenancemodeInuxisAspecialBootenvironmentforforcalsystemmaintenancetasks.itallowsadMinistratorStoperFormTaskSlikerSettingPassingPassingPasswords,RepairingFilesystems,andRecoveringFrombootFailuresFailuresFailuresInamInimAlenimalenimalenrenmentrent.ToEnterMainterMainterMaintErmaintErmaintEncemememodeBoode,Interlecttheboo

Linux:深入研究其基本部分Linux:深入研究其基本部分Apr 21, 2025 am 12:03 AM

Linux的核心組件包括內核、文件系統、Shell、用戶空間與內核空間、設備驅動程序以及性能優化和最佳實踐。 1)內核是系統的核心,管理硬件、內存和進程。 2)文件系統組織數據,支持多種類型如ext4、Btrfs和XFS。 3)Shell是用戶與系統交互的命令中心,支持腳本編寫。 4)用戶空間與內核空間分離,確保系統穩定性。 5)設備驅動程序連接硬件與操作系統。 6)性能優化包括調整系統配置和遵循最佳實踐。

Linux體系結構:揭示5個基本組件Linux體系結構:揭示5個基本組件Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

Linux操作:利用維護模式Linux操作:利用維護模式Apr 19, 2025 am 12:08 AM

Linux的維護模式可以通過GRUB菜單進入,具體步驟為:1)在GRUB菜單中選擇內核並按'e'編輯,2)在'linux'行末添加'single'或'1',3)按Ctrl X啟動。維護模式提供了一個安全環境,適用於系統修復、重置密碼和系統升級等任務。

Linux:如何進入恢復模式(和維護)Linux:如何進入恢復模式(和維護)Apr 18, 2025 am 12:05 AM

進入Linux恢復模式的步驟是:1.重啟系統並按特定鍵進入GRUB菜單;2.選擇帶有(recoverymode)的選項;3.在恢復模式菜單中選擇操作,如fsck或root。恢復模式允許你以單用戶模式啟動系統,進行文件系統檢查和修復、編輯配置文件等操作,幫助解決系統問題。

Linux的基本要素:為初學者解釋Linux的基本要素:為初學者解釋Apr 17, 2025 am 12:08 AM

Linux的核心組件包括內核、文件系統、Shell和常用工具。 1.內核管理硬件資源並提供基本服務。 2.文件系統組織和存儲數據。 3.Shell是用戶與系統交互的接口。 4.常用工具幫助完成日常任務。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。