搜尋
首頁運維linux運維linux中什麼是lvm

linux中什麼是lvm

Feb 24, 2022 pm 03:08 PM
linuxlvm

在linux中,LVM全名為“Logical Volume Manager”,中文意思為“邏輯磁碟區管理”,是Linux環境下對磁碟分割區進行管理的一種機制;LVM是建立在硬碟和分割區之上的一個邏輯層,可用來提高磁碟分割管理的彈性。

linux中什麼是lvm

本教學操作環境:linux5.9.8系統、Dell G3電腦。

什麼是LVM

LVM(Logical Volume Manager),即邏輯磁碟區管理,是Linux環境下對磁碟分割區進行管理的一種機制,LVM是建立在硬碟和分割區之上的邏輯層,來提高磁碟分割管理的彈性。透過LVM系統管理員可以輕鬆管理磁碟分割區,如:將若干個磁碟分割區連接為一個整塊的磁碟區組(volume group),形成一個儲存池。管理員可以在磁碟區組上隨意建立邏輯磁碟區組(logical volumes),並進一步在邏輯磁碟區組上建立檔案系統。管理員透過LVM可以方便的調整儲存卷組的大小,並且可以對磁碟儲存按照群組的方式進行命名、管理和分配。當系統新增了新的磁碟,透過LVM管理員就不必將磁碟的檔案移至新的磁碟上以充分利用新的儲存空間,而是直接擴​​展檔案系統跨越磁碟即可。

一般來說,實體磁碟或分割區之間是分隔的,資料無法跨磁碟或分割區,而各磁碟或分割區的大小固定,重新調整比較麻煩。 LVM可以將這些底層的實體磁碟或分割區整合起來,抽象化成容量資源池,以劃分成邏輯磁碟區的方式供上層使用,其最主要的功能即是可以在無需關機無需重新格式化(準確地說,原來的部分無需格式化,只格式化新增的部分)的情況下彈性調整邏輯磁碟區的大小。

LVM的實作過程如下圖:

linux中什麼是lvm

#LVM名詞解釋

PV(physical volume):實體磁碟區在邏輯磁碟區管理系統最底層,可為整個實體硬碟或實際實體硬碟上的分割區。它只是在實體分區中劃出了一個特殊的區域,用來記載與LVM相關的管理參數。

VG(volume group):卷組建立在實體卷上,一卷組中至少要包括一物理卷,卷組建立後可動態的添加捲到卷組中,一個邏輯磁碟區管理系統工程中可有多個磁碟區組。

LV(logical volume):邏輯卷建立在卷組基礎上,卷組中未分配空間可用於建立新的邏輯卷,邏輯卷建立後可以動態擴展和縮小空間。

PE(physical extent):物理區域是物理磁碟區中可用於分配的最小儲存單元,物理區域大小在建立磁碟區組時指定,一旦確定不能更改,同一磁碟區組所有實體磁碟區的實體區域大小需一致,新的pv加入vg後,pe的大小會自動變更為vg中定義的pe大小。

LE(logical extent):邏輯區域是邏輯磁碟區中可用於指派的最小儲存單元,邏輯區域的大小取決於邏輯磁碟區所在磁碟區組中的實體區域的大小。由於受核心限制的原因,一個邏輯磁碟區(Logic Volume)最多只能包含65536個PE(Physical Extent),所以一個PE的大小就決定了邏輯磁碟區的最大容量,4 MB(預設) 的PE決定了單一邏輯卷最大容量為256 GB,若希望使用大於256G的邏輯卷,則在建立卷組時需要指定較大的PE。在Red Hat Enterprise Linux AS 4中PE大小範圍為8 KB 到 16GB,且必須總是 2 的倍數。

LVM的寫入模式

LVM有兩種寫入模式:線性模式和條帶模式。

  • 線性模式即寫完一個裝置後再寫另一個裝置

  • #條帶模式就有點類似RAID0,也就是資料是被分散寫入到LVM各成員設備上的。

    因為條帶模式的資料不具有安全性,且LVM並不強調讀寫性能,故LVM預設為線性模式,這樣即使一個設備壞了,其它設備上的資料還在。

LVM的工作原理

#LVM在每個實體卷頭都維護了一個metadata,每個metadata中都包含了整個VG(volume group:卷組)的信息,包括每個VG的佈局配置,PV(physical volume:物理卷)的編號,LV(logical volume:邏輯卷)的編號,以及每個PE(physical extends:物理擴展單元)到LE(logical extends:物理擴展單元)的映射關係。同一個VG的每個PV頭部的資訊都是相同的,這樣有利於故障時進行資料復原。

LVM對上層檔案系統提供LV層,隱藏了操作細節。對檔案系統而言,對LV的操作與原先對partition的操作沒有差別。當對LV進行寫入操作的時候,LVM定位對應的LE,透過PV頭部的映射表將資料寫入對應的PE上。 LVM最大的特點就是可以對磁碟進行動態管理。因為邏輯磁碟區的大小是可以動態調整的,而且不會遺失現有的資料。我們如果新增加了硬碟,其也不會改變現有上層的邏輯磁碟區。關鍵在於PE和LE之間建立映射關係,不同的映射規則決定了不同的LVM儲存模型。 LVM支援多個PV 的stripe和mirror。

LVM的優缺點

# 優點:

  • 檔案系統可以跨多個磁碟,因此檔案系統大小不會受實體磁碟的限制。

  • 可以在系統運作的狀態下動態的擴充檔案系統的大小。

  • 可以增加新的磁碟到LVM的儲存池。

  • 可以以鏡像的方式冗餘重要的資料到多個實體磁碟。

  • 可以方便的匯出整個磁碟區組到另外一台機器。

缺點:

  • #從磁碟區組中移除一個磁碟的時候必須使用reducevg指令(這個指令要求root權限,並且不允許在快照卷組中使用)。

  • 當磁碟區組中的磁碟損壞時,整個磁碟區組都會受到影響。

  • 因為加入了額外的操作,存貯性能受到影響。

建立PV/VG/LV的方法

1、將各實體磁碟或分割區的系統類型設為Linux LVM,其system ID為8e,透過fdisk工具中的t指令設定

[root@localhost ~]# fdisk /dev/sdb 
...
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (20973568-62914559, default 20973568): 
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-62914559, default 62914559): +5G
...
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e  # 指定system id为8e
Changed type of partition 'Linux' to 'Linux LVM'
...
Command (m for help): p
...
/dev/sdb1            2048    20973567    10485760   8e  Linux LVM
/dev/sdb2        20973568    31459327     5242880   8e  Linux LVM
Command (m for help): w
...

2、將各實體磁碟或分割區初始化為PV(physical volume,物理卷)

這階段可使用的指令為pvcreate、pvremove、pvscan、pvdisplay(pvs)

1)pvcreate:建立實體磁碟區

用法: pvcreate [option] DEVICE

  選項:

  •       -f:強制建立邏輯卷,不需要使用者確認

  •       -u:指定裝置的UUID

  •       -y:所有問題都回答yes

  範例pvcreate /dev/sdb1 /dev/sdb2

2)pvscan:掃描目前系統上的所有實體磁碟區

用法:pvscan [option]

  選項:

  •       -e:只顯示屬於輸出磁碟區組的實體卷

  •       -n:只顯示不屬於任何卷組的實體磁碟區

  •       -u:顯示UUID

3)pvdisplay:顯示實體磁碟區的屬性

 用法:pvdisplay [PV_DEVICE]

#4 )pvremove:將實體磁碟區資訊刪除,使其不再被視為一個實體磁碟區

 用法:pvremove [option] PV_DEVICE

##  選項:

  •      

    -f:強制刪除

  •      

    -y:全部回答yes

#  範例

pvremove /dev/sdb1

#5)pv建立和刪除範例

[root@localhost ~]# pvcreate /dev/sdb{1,2}  # 将两个分区初始化为物理卷
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvscan 
  PV /dev/sdb2                      lvm2 [5.00 GiB]
  PV /dev/sdb1                      lvm2 [10.00 GiB]
  Total: 2 [15.00 GiB] / in use: 0 [0   ] / in no VG: 2 [15.00 GiB]
[root@localhost ~]# pvdisplay /dev/sdb1   # 显示物理卷sdb1的详细信息
  "/dev/sdb1" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   # 由于PE是在VG阶段才划分的,所以此处看到的都是0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               GrP9Gi-ubau-UAcb-za3B-vSc3-er2Q-MVt9OO
   
[root@localhost ~]# pvremove /dev/sdb2   # 删除sdb2的物理卷信息
  Labels on physical volume "/dev/sdb2" successfully wiped.
[root@localhost ~]# pvscan     # 可以看到PV列表中已无sdb2
  PV /dev/sdb1                      lvm2 [10.00 GiB]
  Total: 1 [10.00 GiB] / in use: 0 [0   ] / in no VG: 1 [10.00 GiB]
[root@localhost ~]# pvcreate /dev/sdb2 
  Physical volume "/dev/sdb2" successfully created.

3、建立VG(volume group,卷組)。

卷組將多個物理卷整合起來(屏蔽了底層細節),並劃分PE(physical extend)

PE是物理卷中的最小存儲單元,有點類似於檔案系統中的block,PE大小可指定,預設為4M。這階段用到的指令有vgcreate、vgscan、vgdisplay、vgextend、vgreduce

1)vgcreate:建立卷宗組

 用法:

vgcreate [option] VG_NAME PV_DEVICE

#  選項:

  •      

    -s:卷組中的實體磁碟區的PE大小,預設為4M

  • #     

    -l:在卷組上允許建立的最大邏輯磁碟區數

  •      

    -p:在卷層級中允許新增的最大實體磁碟區數

  範例

vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2

#2)vgscan:在尋找系統中存在的LVM磁碟區組,並顯示找到的磁碟區組清單

3)vgdisplay:顯示磁碟區組屬性

  用法:

vgdisplay [option] [VG_NAME]

  選項:

  •      

    -A:僅顯示活動卷組的資訊

  •      

    -s:使用短格式輸出資訊

4)vgextend:動態擴展LVM卷組,它透過向卷組中添加物理卷來增加卷組的容量

 用法:

vgextend VG_NAME PV_DEVICE

  例 vgextend myvg /dev/sdb3

5)vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量,不能删除LVM卷组中剩余的最后一个物理卷

 用法:vgreduce VG_NAME PV_DEVICE

6)vgremove:删除卷组,其上的逻辑卷必须处于离线状态

  用法:vgremove [-f] VG_NAME

  •   -f:强制删除

7)vgchange:常用来设置卷组的活动状态

  用法:vgchange -a n/y VG_NAME

  •   -a n为休眠状态,休眠之前要先确保其上的逻辑卷都离线;

  •   -a y为活动状态

8)vg创建例子

[root@localhost ~]# vgcreate -s 8M myvg /dev/sdb{1,2}
  Volume group "myvg" successfully created
[root@localhost ~]# vgscan
  Reading volume groups from cache.
  Found volume group "myvg" using metadata type lvm2
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               14.98 GiB
  PE Size               8.00 MiB
  Total PE              1918
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1918 / 14.98 GiB
  VG UUID               aM3RND-aUbQ-7RjC-dCci-JiS4-Oj2Z-wv9poA

4、在卷组上创建LV(logical volume,逻辑卷)

为了便于管理,逻辑卷对应的设备文件保存在卷组目录下,为/dev/VG_NAME/LV_NAME。LV中可以分配的最小存储单元称为LE(logical extend),在同一个卷组中,LE的大小和PE是一样的,且一一对应。这一阶段用到的命令有lvcreate、lvscan、lvdisplay、lvextend、lvreduce、lvresize

1)lvcreate:创建逻辑卷或快照

  用法:lvcreate [选项] [参数]

  选项:

  •       -L:指定大小

  •       -l:指定大小(LE数)

  •       -n:指定名称

  •       -s:创建快照

  •       -p r:设置为只读(该选项一般用于创建快照中)

  注:使用该命令创建逻辑卷时当然必须指明卷组,创建快照时必须指明针对哪个逻辑卷         

  例 lvcreate -L 500M -n mylv myvg

2)lvscan:扫描当前系统中的所有逻辑卷,及其对应的设备文件

3)lvdisplay:显示逻辑卷属性

  用法:lvdisplay [/dev/VG_NAME/LV_NAME]

4)lvextend:可在线扩展逻辑卷空间

  用法:lvextend -L/-l 扩展的大小 /dev/VG_NAME/LV_NAME  

  选项:

  •       -L:指定扩展(后)的大小。例如,-L +800M表示扩大800M,而-L 800M表示扩大至800M

  •       -l:指定扩展(后)的大小(LE数)

  例 lvextend -L 200M /dev/myvg/mylv

5)lvreduce:缩减逻辑卷空间,一般离线使用

 用法:lvexreduce -L/-l 缩减的大小 /dev/VG_NAME/LV_NAME  

  选项:

  •       -L:指定缩减(后)的大小

  •       -l:指定缩减(后)的大小(LE数)

  例 lvreduce -L 200M /dev/myvg/mylv

6)lvremove:删除逻辑卷,需要处于离线(卸载)状态

  用法:lvremove [-f] /dev/VG_NAME/LV_NAME

  •   -f:强制删除

7)lv创建例子

[root@localhost ~]# lvcreate -L 2G -n mylv myvg  
  Logical volume "mylv" created.
[root@localhost ~]# lvscan 
  ACTIVE            '/dev/myvg/mylv' [2.00 GiB] inherit
[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                2lfCLR-UEhm-HMiT-ZJil-3EJm-n2H3-ONLaz1
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2019-07-05 13:42:44 +0800
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

5、格式化逻辑卷并挂载

[root@localhost ~]# mke2fs -t ext4 /dev/myvg/mylv
...
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
...
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount
mount mountpoint
[root@localhost ~]# mount /dev/myvg/mylv /data
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 1.5G 49G 3% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.6M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/myvg-mylv 2.0G 6.0M 1.8G 1% /data

相关推荐:《Linux视频教程

以上是linux中什麼是lvm的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Linux操作:系統管理和維護Linux操作:系統管理和維護Apr 15, 2025 am 12:10 AM

Linux系統管理和維護的關鍵步驟包括:1)掌握基礎知識,如文件系統結構和用戶管理;2)進行系統監控與資源管理,使用top、htop等工具;3)利用系統日誌進行故障排查,借助journalctl等工具;4)編寫自動化腳本和任務調度,使用cron工具;5)實施安全管理與防護,通過iptables配置防火牆;6)進行性能優化與最佳實踐,調整內核參數和養成良好習慣。

了解Linux的維護模式:必需品了解Linux的維護模式:必需品Apr 14, 2025 am 12:04 AM

Linux維護模式通過在啟動時添加init=/bin/bash或single參數進入。 1.進入維護模式:編輯GRUB菜單,添加啟動參數。 2.重新掛載文件系統為讀寫模式:mount-oremount,rw/。 3.修復文件系統:使用fsck命令,如fsck/dev/sda1。4.備份數據並謹慎操作,避免數據丟失。

Debian如何提升Hadoop數據處理速度Debian如何提升Hadoop數據處理速度Apr 13, 2025 am 11:54 AM

本文探討如何在Debian系統上提升Hadoop數據處理效率。優化策略涵蓋硬件升級、操作系統參數調整、Hadoop配置修改以及高效算法和工具的運用。一、硬件資源強化確保所有節點硬件配置一致,尤其關注CPU、內存和網絡設備性能。選擇高性能硬件組件對於提升整體處理速度至關重要。二、操作系統調優文件描述符和網絡連接數:修改/etc/security/limits.conf文件,增加系統允許同時打開的文件描述符和網絡連接數上限。 JVM參數調整:在hadoop-env.sh文件中調整

Debian syslog如何學習Debian syslog如何學習Apr 13, 2025 am 11:51 AM

本指南將指導您學習如何在Debian系統中使用Syslog。 Syslog是Linux系統中用於記錄系統和應用程序日誌消息的關鍵服務,它幫助管理員監控和分析系統活動,從而快速識別並解決問題。一、Syslog基礎知識Syslog的核心功能包括:集中收集和管理日誌消息;支持多種日誌輸出格式和目標位置(例如文件或網絡);提供實時日誌查看和過濾功能。二、安裝和配置Syslog(使用Rsyslog)Debian系統默認使用Rsyslog。您可以通過以下命令安裝:sudoaptupdatesud

Debian中Hadoop版本怎麼選Debian中Hadoop版本怎麼選Apr 13, 2025 am 11:48 AM

選擇適合Debian系統的Hadoop版本,需要綜合考慮以下幾個關鍵因素:一、穩定性與長期支持:對於追求穩定性和安全性的用戶,建議選擇Debian穩定版,例如Debian11(Bullseye)。該版本經過充分測試,擁有長達五年的支持週期,能夠確保系統穩定運行。二、軟件包更新速度:如果您需要使用最新的Hadoop功能和特性,則可以考慮Debian的不穩定版(Sid)。但需注意,不穩定版可能存在兼容性問題和穩定性風險。三、社區支持與資源:Debian擁有龐大的社區支持,可以提供豐富的文檔和

Debian上TigerVNC共享文件方法Debian上TigerVNC共享文件方法Apr 13, 2025 am 11:45 AM

本文介紹如何在Debian系統上使用TigerVNC共享文件。你需要先安裝TigerVNC服務器,然後進行配置。一、安裝TigerVNC服務器打開終端。更新軟件包列表:sudoaptupdate安裝TigerVNC服務器:sudoaptinstalltigervnc-standalone-servertigervnc-common二、配置TigerVNC服務器設置VNC服務器密碼:vncpasswd啟動VNC服務器:vncserver:1-localhostno

Debian郵件服務器防火牆配置技巧Debian郵件服務器防火牆配置技巧Apr 13, 2025 am 11:42 AM

配置Debian郵件服務器的防火牆是確保服務器安全性的重要步驟。以下是幾種常用的防火牆配置方法,包括iptables和firewalld的使用。使用iptables配置防火牆安裝iptables(如果尚未安裝):sudoapt-getupdatesudoapt-getinstalliptables查看當前iptables規則:sudoiptables-L配置

Debian郵件服務器SSL證書安裝方法Debian郵件服務器SSL證書安裝方法Apr 13, 2025 am 11:39 AM

在Debian郵件服務器上安裝SSL證書的步驟如下:1.安裝OpenSSL工具包首先,確保你的系統上已經安裝了OpenSSL工具包。如果沒有安裝,可以使用以下命令進行安裝:sudoapt-getupdatesudoapt-getinstallopenssl2.生成私鑰和證書請求接下來,使用OpenSSL生成一個2048位的RSA私鑰和一個證書請求(CSR):openss

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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。