LVM的誕生:
由於傳統的磁盤管理不能對磁盤進行磁盤管理,比如我把/dev/sdb1掛載到了/liu目錄下,但是因為數據量過大的原因,此文件系統磁盤利用率已經高達98%,那么我可以直接對這個磁盤進行擴容嗎?擴容的話又會丟數據嗎?答案當然是不能直接擴充,會丟數據會影響業務的正常運轉。因此才誕生了LVM技術,LVM技術最大的特點就是對磁盤進行動態管理。由於LVM的邏輯卷的大小更改可以進行動態調整,且不會出現丟失數據的情況。
LVM介紹:
LVM(Logic Volume Manager)是邏輯卷管理的簡稱。它是Linux環境下對磁盤分區管理的一種機制。對於其他的的UNIX(AIX/HP/SUM)操作系統,以及Windows系統也有類似的磁盤管理軟件。LVM管理的方式非常簡單,就是通過將底層的物料磁盤抽象並封裝起來,然后以邏輯的方式呈現給上層應用。
LVM的組成與概念:
PE physical extend 存儲的基本單位,PE默認大小為4M。
PV physical volume 物理磁盤被格式化成PV
VG volume group 不同的PV加入同一個VG,VG相當於一個磁盤資源池
LV logic volume LV使用VG的磁盤空間,由眾多個PE組成,組成LV的PE可能來自不同磁盤,LV的擴充實際上就是增加或者加少PE的數 量,其過程不丟失數據。並且LV可以直接格式化使用。
創建LVM需要用到的命令:
pvdisplay(查看詳細信息) 或者 pvs 查看物理卷信息
vgdisplay(查看詳細信息) 或者 vgs 查看卷組信息
lvdisplay(查看詳細信息) 或者 lvs 查看邏輯卷信息
pvcreat 將物理磁盤加入物理卷
eg:pvcreat /dev/sdb /dev/sdc
vgcreat 將物理卷加入卷組
eg:vgcreat 卷組名 /dev/sdb /dev/sdc
lvcreat 將卷組划分為不同的邏輯卷
eg:lvcreat -n 邏輯卷名 -L 邏輯卷空間 卷組(從哪個卷組獲取空間)
創建LVM的過程:
1.掛載物理磁盤
2.將物理磁盤加入物理卷
3.將物理卷加入卷組
4.將卷組中的磁盤資源划分成不同的邏輯卷
創建LVM邏輯卷的示例:
[root@centos-linux-03 dev]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <63.00g 4.00m [root@centos-linux-03 dev]# pvcreate /dev/sdb /dev/sdc Physical volume "/dev/sdb" successfully created. Physical volume "/dev/sdc" successfully created. [root@centos-linux-03 dev]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <63.00g 4.00m /dev/sdb lvm2 --- 102.00m 102.00m /dev/sdc lvm2 --- 102.00m 102.00m [root@centos-linux-03 dev]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 3 0 wz--n- <63.00g 4.00m [root@centos-linux-03 dev]# vgcreate lnlvm /dev/sdb /dev/sdc Volume group "lnlvm" successfully created [root@centos-linux-03 dev]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 3 0 wz--n- <63.00g 4.00m lnlvm 2 0 0 wz--n- 200.00m 200.00m [root@centos-linux-03 dev]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home centos -wi-ao---- <20.01g root centos -wi-ao---- 40.98g swap centos -wi-ao---- 2.00g [root@centos-linux-03 dev]# lvcreate -n lna -L 50M lnlvm Rounding up size to full physical extent 52.00 MiB WARNING: xfs signature detected on /dev/lnlvm/lna at offset 0. Wipe it? [y/n]: y Wiping xfs signature on /dev/lnlvm/lna. Logical volume "lna" created. [root@centos-linux-03 dev]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home centos -wi-ao---- <20.01g root centos -wi-ao---- 40.98g swap centos -wi-ao---- 2.00g lna lnlvm -wi-a----- 52.00m [root@centos-linux-03 dev]# mkfs.xfs /dev/lnlvm/lna meta-data=/dev/lnlvm/lna isize=512 agcount=2, agsize=6656 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=13312, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=1605, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@centos-linux-03 dev]# mkdir /liu && mount /dev/lnlvm/lna /liu