一、LVM簡介
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫。LVM將一個或多個硬盤的分區在邏輯上集合,相當於一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,這樣可以實現磁盤空間的動態管理,相對於普通的磁盤分區有很大的靈活性。
與傳統的磁盤與分區相比,LVM為計算機提供了更高層次的磁盤存儲。它使系統管理員可以更方便的為應用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時改變大小與移除(可能需對文件系統工具進行升級)。LVM也允許按用戶組對存儲卷進行管理,允許管理員用更直觀的名稱(如"sales'、 'development')代替物理磁盤名(如'sda'、'sdb')來標識存儲卷。
二、 LVM基本術語
物理存儲介質(The physical media):這里指系統的存儲設備:硬盤,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。
物理卷(physical volume):物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
卷組(Volume Group):LVM卷組類似於非LVM系統中的物理硬盤,其由物理卷組成。可以在卷組上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
邏輯卷(logical volume):LVM的邏輯卷類似於非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。
PE(physical extent):每一個物理卷被划分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。
LE(logical extent):邏輯卷也被划分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。
簡單來說就是:
PV:是物理的磁盤分區
VG:LVM中的物理的磁盤分區,也就是PV,必須加入VG,可以將VG理解為一個倉庫或者是幾個大的硬盤。
LV:也就是從VG中划分的邏輯分區
三、創建和管理LVM
1、顯示硬盤及所屬分區情況。
fidsk /dev/sdb Command (m for help): p ##顯示磁盤信息
2、增加一個分區的操作
Command (m for help): n ##創建新的分區 Command action e extended p primary partition (1-4) p ##分區類型為主分區 Partition number (1-4): 1 ##主分區分塊 First cylinder (1-243201, default 1): Using default value 1 ##起始塊 Last cylinder, +cylinders or +size{K,M,G} (1-243201, default 243201): ##結束塊 Using default value 243201 Command (m for help): t ##修改分區格式 Selected partition 1 ##只有一塊主分區 Hex code (type L to list codes): 8e ##類型改成LVM Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): p ##查看修改的情況 Command (m for help): w ##保存
3、創建物理卷PV
pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created ##查看已經存在的PV
pvdisplay
4、創建卷組VG
vgcreate vg_server1 /dev/sdb1 Volume group "vg_server1" successfully created
##查看已經存在的VG
vgdisplay
5、創建邏輯卷lV
lvcreate -L 50G -n local vg_server1 Logical volume "local" created ##查看已經存在的LV
lvdisplay
6、格式化
mkfs -t ext3 /dev/vg_server1/local
#查看磁盤情況
fdisk -l
7、掛載
mount /dev/vg_server1/local /usr/local/ ##查看掛載情況 df -h
8、寫入開機自動掛載
vi /etc/fstab #加入一行 /dev/mapper/vg_skimoserver1-lv_local /usr/local ext3 defaults 1 2 #測試掛載 umount /usr/local/ mount -a #沒出現報錯說明掛在成功 #如果失敗,系統啟動所有磁盤都不能正常掛在,可以用root用戶登錄后取消所有掛在,然后重新修改/etc/fstab mount –o remount,rw/
四、擴容分區
1、增加10G的容量
lvextend -L +10G -f -r /dev/vg_server1/local
2、擴展到80G的容量
lvextend -L 80G -f -r /dev/vg_server1/local
五、減少分區
#減少lv空間的操作是有風險的,操作之前一定要做好備份,以免數據丟失。要減少一個LV的空間,必須先減少之上的文件系統的大小
#取消掛載
umount /dev/vg_server1/local
1、縮減到80G的容量
e2fsck -f /dev/vg_server1/local
resize2fs /dev/vg_server1/local 60G
2、減小10G的容量
lvreduce -L -10G -f -r /dev/vg_server1/local
六、刪除一個分區的操作
fidsk /dev/sdb Command (m for help): d //刪除 Command (m for help): w //保存