1、 LVM簡介服務器
在 Linux 中規定,每個硬盤設備最多能有 4個主分區(其中包含擴展分區)構成,任何一個擴展分區都要佔用一個主分區號碼,也就是在一個硬盤中,主分區和擴展分區一共最可能是 4 個。ide
對於每個硬盤(IDE 或 SCSI)設備,Linux 分配了一個 1 到 16 的序列號碼,這就表明了這塊硬盤上面的分區號碼。3d
LVM 是一個應用於 Linux 內核的本地卷管理器 (Logical Volume Manager)。 使用 LVM 你能夠抽象你的存儲空間,而且能夠有很容易更改的「虛擬分區」。LVM的基本模塊以下:blog
Physical volume (PV): 物理卷,例如一個硬盤,或一個Software RAID設備; 硬盤的一個分區 (或者甚至硬盤自己或者回環文件),在它上面能夠創建卷組。ip
Volume group (VG): 卷組,將一組物理卷收集爲一個管理單元;rem
Logical volume(LV): 邏輯卷,等同於傳統分區,可看做便準的塊設備,以容納文件系統;get
Physical extent (PE): 物理塊,劃分物理卷的數據塊。it
使用 LVM 你能夠比正常的硬盤分區更容易的管理硬盤分區(邏輯卷)。例如,你能夠:class
使用卷組(VG),使衆多硬盤空間看起來像一個大硬盤。cli
使用邏輯卷(LV),能夠建立跨越衆多硬盤空間的分區。
能夠根據須要,對分區(LV)和硬盤空間(VG)進行建立、刪除、調整大小等操做
2、 建立LVM
應用場景存:一臺Linux服務器增長兩塊硬盤,實現lvm便於動態擴展空間。
一、分別創建兩個lvm邏輯分區
fdisk /dev/sdb
輸入n
輸入p
輸入1
Enter
Enter
輸入t
輸入8e 設置lvm分區號
輸入w 保存
fdisk /dev/sdc
輸入n
輸入p
輸入1
Enter
Enter
輸入t
輸入8e 設置lvm分區號
輸入w 保存
二、創建Physical Volume(物理卷PV)
yum install lvm2
pvcreate /dev/sdc1
pvscan :搜索當前系統具備pv的磁盤。
pvdisplay:顯示當前系統pv狀態。
pvremove:將pv屬性刪除,該分區不具備pv屬性。Pvremove /dev/sdb1
pvmove: 把pv的數據遷移到另外空閒的pv。
三、創建Volume Group(卷組VG)
vgcreate vg1 /dev/sdb1 /dev/sdc1
vg1:卷組名。
/dev/sdb1:物理卷名。
/dev/sdc1: 物理卷名。
vgscan:搜索是否vg存在。
vgdisplay:顯示VG狀態。
vgremove:刪除卷組,vgremove vg1
vgextend:卷組內增長額外的物理卷pv,vgextend vg1 /dev/hdc1
vg1:當前卷組名。
/dev/hdc1:新的物理卷pv
vgreducd: 在卷組VG中刪除物理卷pv,vgreducd vg1 dev/sdc1。刪除前確保pv未被LV使用使用pvdisplay顯示當前系統pv狀態。
四、設置卷組VG啓動
vgchange –a y
vgremove vg1 刪除指定的vg。
五、創建邏輯卷LV
lvcreate -L 14G -n lv1 vg1
lv1:邏輯卷名。
vg1:卷組名。
lvscan:查看系統中lv。
lvdisplay:查看lv狀態。
lvremove:刪除邏輯卷lv,Lvremove vg1 lv1。
lvextend :在 LV 裏面添加容量。
lvreduce :在 LV 裏面減小容量。
lvresize :對 LV 進行容量大小的調整。
六、格式化
mkfs.ext3 /dev/vg1/lv1
七、掛載
mkdir /lvm
mount /dev/vg1/lv1 /lvm
vi /etc/fstab
/dev/vg1/lv1 /lvm ext3 defaults 0 0
八、擴展LV空間
對新磁盤進行分區
1) fdisk -l 查看目前分區狀況
2)新增磁盤hdd未分區,對hdd磁盤分區操做
3)創建Physical Volume(PV)
pvcreate /dev/sdd1
4)將新pv添加到原卷組
vgextend vg1 /dev/sdd1
5)查看卷組剩餘空間
vgs
6)擴展lv容量到17.80G
vgs
7) 增長LV容量100M。
vgs
8)在線擴展空間
擴充了LV後,從新掛載,查看大小當前的LV大小並無增大。
umount /dev/vg1/lv1
mount /dev/vg1/lv1 /lvm
df –h
在線進行空間擴展
resize2fs /dev/vg1/lv1
df –h 在線擴展成功
離線擴展:
umount /dev/vg1/lv1
resize_reiserfs /dev/vg1/lv1
mount -treiserfs /dev/vg1/lv1 /lvm