目錄
簡介
基本術語
PV、VG、LV三者關系
LVM的優點
創建LVM的基本步驟
LVM常用命令
創建使用LVM邏輯卷
LV擴容
小結一下
簡介
邏輯卷管理器(LogicalVolumeManager)本質上是一個虛擬設備驅動,是在內核中塊設備和物理設備之間添加的一個新的抽象層次,如圖所示,它可以將幾塊磁盤(物理卷,PhysicalVolume)組合起來形成一個存盤池或者卷組(VolumeGroup),LVM可以每次從卷組中劃分出不同大小的邏輯卷(LogicalVolume)創建新的邏輯設備,底層的原始的磁盤不再由內核直接控制,而由LVM層來控制,對于上層應用來說卷組替代了磁盤塊成為資料存盤的基本單元,LVM管理著所有物理卷的物理盤區,維持著邏輯盤區和物理盤區之間的映射,LVM邏輯設備向上層應用提供了和物理磁盤相同的功能,如檔案系統的創建和資料的訪問等,但LVM邏輯設備不受物理約束的限制,邏輯卷不必是連續的空間,它可以跨越許多物理卷,并且可以在任何時候任意的調整大小,相比物理磁盤來說,更易于磁盤空間的管理,
我giao,好家伙這一大長串的看一遍也看不明白,反正只要記住它的優勢:可以很方便的擴展自己的空間就ok了,
基本術語
- 物理存盤介質(PhysicalStorageMedia)
指系統的物理存盤設備:磁盤,如:/dev/hda、/dev/sda等,是存盤系統最底層的存盤單元,
-
物理卷(Physical Volume,PV)
指磁盤磁區或從邏輯上與磁盤磁區具有同樣功能的設備(如RAID),是LVM的基本存盤邏輯塊,但和基本的物理存盤介質(如磁區、磁盤等)比較,卻包含有與LVM相關的管理引數,
-
卷組(Volume Group,VG)
類似于非LVM系統中的物理磁盤,其由一個或多個物理卷PV組成,可以在卷組上創建一個或多個LV(邏輯卷),
-
邏輯卷(Logical Volume,LV)
類似于非LVM系統中的磁盤磁區,邏輯卷建立在卷組VG之上,在邏輯卷LV之上可以建立檔案系統(比如/home或者/usr等),
-
物理塊(Physical Extent,PE)
PE是物理卷PV的基本劃分單元,具有唯一編號的PE是可以被LVM尋址的最小單元,PE的大小是可配置的,默認為4MB,所以物理卷(PV)由大小等同的基本單元PE組成,
-
邏輯塊(Logical Extent,LE)
邏輯卷LV也被劃分為可被尋址的基本單位,稱為LE,在同一個卷組中,LE的大小和PE是相同的,并且一一對應,
PV、VG、LV三者關系
注:年輕人不講武德,這里盜個圖哈哈


LVM的優點
這玩意優勢還真蠻多哩,簡簡單單的總結幾條,耗子尾汁!
- 使用卷組,可以讓多個硬碟空間組合成一個大的硬碟;
- 使用邏輯卷,可以跨多個硬碟空間的磁區,sdb sdc sdf;
- 使用邏輯卷的時候,可以自由的調節它的大小;
- 可以在線對LV,VG,進行創建和洗掉,調整大小等操作;
- 允許創建快照,可以用來保存檔案系統的備份,
創建LVM的基本步驟
LVM常用命令

查看命令:

創建使用LVM邏輯卷
我giao,一開始我以為做LVM是要先把原有所有的磁區轉成LVM格式,自己研究了半天也沒搞定,結果從官方那得到了結果,原來Centos7以上默認就做了lvm,自己在擴容即可,沃膩嗎這linux官方不講武德啊,這里建議大家沒事多看看官方檔案,
1)添加一塊硬碟(我用的是本地虛機)

2)創建兩個磁區
[root@hya ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 18G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
sdb 8:16 0 40G 0 disk ##剛加入的新硬碟
sr0 11:0 1 8.8G 0 rom
[root@hya ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2),
更改將停留在記憶體中,直到您決定將更改寫入磁盤,
使用寫入命令前請三思,
Device does not contain a recognized partition table
使用磁盤識別符號 0xdef043ce 創建新的 DOS 磁盤標簽,
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
磁區號 (1-4,默認 1):1
起始 扇區 (2048-83886079,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-83886079,默認為 83886079):+20G
磁區 1 已設定為 Linux 型別,大小設為 20 GiB
Select (default p): p
磁區號 (2-4,默認 2):
起始 扇區 (41945088-83886079,默認為 41945088):
將使用默認值 41945088
Last 扇區, +扇區 or +size{K,M,G} (41945088-83886079,默認為 83886079):
將使用默認值 83886079
磁區 2 已設定為 Linux 型別,大小設為 20 GiB
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤,
3)查看已分的區
[root@hya ~]# ll /dev/sdb*
brw-rw----. 1 root disk 8, 16 11月 20 14:46 /dev/sdb
brw-rw----. 1 root disk 8, 17 11月 20 14:46 /dev/sdb1
brw-rw----. 1 root disk 8, 18 11月 20 14:46 /dev/sdb2
4)設定磁區號代碼
[root@hya ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2),
更改將停留在記憶體中,直到您決定將更改寫入磁盤,
使用寫入命令前請三思,
命令(輸入 m 獲取幫助):t
磁區號 (1,2,默認 2):1
Hex 代碼(輸入 L 列出所有代碼):l
0 空 24 NEC DOS 81 Minix / 舊 Linu bf Solaris
1 FAT12 27 隱藏的 NTFS Win 82 Linux 交換 / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 隱藏的 C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux 擴展 c7 Syrinx
5 擴展 41 PPC PReP Boot 86 NTFS 卷集 da 非檔案系統資料
6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 純文本 de Dell 工具
8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt
9 AIX 可啟動 4f QNX4.x 第3部分 93 Amoeba e1 DOS 訪問
a OS/2 啟動管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 擴展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC
11 隱藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq 診斷 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 隱藏的 FAT16 <3 61 SpeedStor ab Darwin 啟動 f2 DOS 次要
16 隱藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS
17 隱藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自動
1b 隱藏的 W95 FAT3 70 DiskSecure 多啟 bb Boot Wizard 隱 fe LANstep
1c 隱藏的 W95 FAT3 75 PC/IX be Solaris 啟動 ff BBT
1e 隱藏的 W95 FAT1 80 舊 Minix
Hex 代碼(輸入 L 列出所有代碼):8e
已將磁區“Linux”的型別更改為“Linux LVM”
命令(輸入 m 獲取幫助):t
磁區號 (1,2,默認 2):2
Hex 代碼(輸入 L 列出所有代碼):8e
已將磁區“Linux”的型別更改為“Linux LVM”
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤,
5)創建PV
[root@hya ~]# pvcreate /dev/sdb{1,2}
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
[root@hya ~]#
6)查看物理卷資訊
[root@hya ~]# pvdisplay /dev/sdb1
"/dev/sdb1" is a new physical volume of "20.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 20.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID RAi9EP-MkJB-GIzU-z1OB-UObV-Al2u-XMdRAB
7)創建VG卷組
語法: vgcreate vg名字 pv的名字 可以跟多個pv
[root@hya ~]# vgcreate vg-01 /dev/sdb1
Volume group "vg-01" successfully created
[root@hya ~]# vgcreate vg-02 /dev/sdb2
Volume group "vg-02" successfully created
[root@hya ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 4.00m
vg-01 1 0 0 wz--n- <20.00g <20.00g
vg-02 1 0 0 wz--n- <20.00g <20.00g
[root@hya ~]# vgdisplay vg-01
--- Volume group ---
VG Name vg-01
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size <20.00 GiB
PE Size 4.00 MiB
Total PE 5119
Alloc PE / Size 0 / 0
Free PE / Size 5119 / <20.00 GiB
VG UUID JBObHy-ulpP-eO74-pHXc-neV8-gPa7-61MKcI
8)創建LV
lvcreate -n 指定新邏輯卷的名稱 -L指定lv大小的SIZE(M,G) (-l:小l 指定LE的數量) vgname
[root@hya ~]# lvcreate -n lv-01 -l 10G vg-01
Invalid argument for --extents: 10G
Error during parsing of command line.
[root@hya ~]# lvcreate -n lv-01 -L 10G vg-01
Logical volume "lv-01" created.
[root@hya ~]# lvcreate -n lv-02 -l 9G vg-01
Invalid argument for --extents: 9G
Error during parsing of command line.
[root@hya ~]# lvcreate -n lv-02 -L 9G vg-01
Logical volume "lv-02" created.
[root@hya ~]# lvcreate -n lv-01 -l 10G vg-02
Invalid argument for --extents: 10G
Error during parsing of command line.
[root@hya ~]# lvcreate -n lv-01 -L 10G vg-02
Logical volume "lv-01" created.
[root@hya ~]# lvcreate -n lv-02 -l 9G vg-02
Invalid argument for --extents: 9G
Error during parsing of command line.
[root@hya ~]# lvcreate -n lv-02 -L 9G vg-02
Logical volume "lv-02" created.
[root@hya ~]# pvdisplay /dev/sdb1
--- Physical volume ---
PV Name /dev/sdb1
VG Name vg-01
PV Size 20.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 5119
Free PE 255
Allocated PE 4864 #已經使用了4864個PE
PV UUID RAi9EP-MkJB-GIzU-z1OB-UObV-Al2u-XMdRAB
[root@hya ~]# vgdisplay vg-01
--- Volume group ---
VG Name vg-01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <20.00 GiB
PE Size 4.00 MiB
Total PE 5119
Alloc PE / Size 4864 / 19.00 GiB
Free PE / Size 255 / 1020.00 MiB
VG UUID JBObHy-ulpP-eO74-pHXc-neV8-gPa7-61MKcI
[root@hya ~]# lsblk #目前的一個狀況
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 18G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
sdb 8:16 0 40G 0 disk
├─sdb1 8:17 0 20G 0 part
│ ├─vg--01-lv--01 253:2 0 10G 0 lvm
│ └─vg--01-lv--02 253:3 0 9G 0 lvm
└─sdb2 8:18 0 20G 0 part
├─vg--02-lv--01 253:4 0 10G 0 lvm
└─vg--02-lv--02 253:5 0 9G 0 lvm
sr0 11:0 1 8.8G 0 rom
9)格式化與掛載
[root@hya ~]# mkfs.xfs /dev/vg-01/lv-01
[root@hya ~]# mkfs.xfs /dev/vg-01/lv-02
[root@hya ~]# mkfs.xfs /dev/vg-02/lv-01
[root@hya ~]# mkfs.xfs /dev/vg-02/lv-02
[root@hya ~]# mount /dev/vg-01/lv-01 /backup/ 掛載即可
[root@hya ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 18G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
sdb 8:16 0 40G 0 disk
├─sdb1 8:17 0 20G 0 part
│ ├─vg--01-lv--01 253:2 0 10G 0 lvm /backup
│ └─vg--01-lv--02 253:3 0 9G 0 lvm
└─sdb2 8:18 0 20G 0 part
├─vg--02-lv--01 253:4 0 10G 0 lvm
└─vg--02-lv--02 253:5 0 9G 0 lvm
sr0 11:0 1 8.8G 0 rom
LV擴容
1)擴容前確認是否有可擴容空間,空間是從vg創建的
[root@hya ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 4.00m
vg-01 1 2 0 wz--n- <20.00g 1020.00m
vg-02 1 2 0 wz--n- <20.00g 1020.00m
2)擴容邏輯卷
[root@hya ~]# lvextend -L +20M /dev/vg-01/lv-01
Size of logical volume vg-01/lv-01 changed from 10.00 GiB (2560 extents) to <10.02 GiB (2565 extents).
Logical volume vg-01/lv-01 successfully resized.
[root@hya ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 17.99g
swap centos -wi-ao---- 1.00g
lv-01 vg-01 -wi-ao---- <10.02g
lv-02 vg-01 -wi-a----- 9.00g
lv-01 vg-02 -wi-a----- 10.00g
lv-02 vg-02 -wi-a----- 9.00g
[root@hya ~]# df -Th /backup/
檔案系統 型別 容量 已用 可用 已用% 掛載點
/dev/mapper/vg--01-lv--01 xfs 10G 33M 10G 1% /backup
[root@hya ~]# xfs_growfs /dev/vg-01/lv-01
meta-data=/dev/mapper/vg--01-lv--01 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2621440 to 2626560
[root@hya ~]# df -Th /backup/
檔案系統 型別 容量 已用 可用 已用% 掛載點
/dev/mapper/vg--01-lv--01 xfs 11G 33M 10G 1% /backup
3)VG擴容
##這里我的硬碟沒空間了,只把命令寫上
[root@hya ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 4.00m
vg-01 1 2 0 wz--n- <20.00g 1000.00m
vg-02 1 2 0 wz--n- <20.00g 1020.00m
[root@hya ~]# pvcreate /dev/設備名稱
[root@hya ~]# vgextend vg-01 /dev/設備名稱
[root@hya ~]# vgs 查看
小結一下
這命令也太多了吧,搞的我剛做的時候懵懵的,只要搞清楚VG、LV、PV三者的區別完全OK的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/225935.html
標籤:其他
