物理卷 (PV)
物理卷是指硬盤分區或者從邏輯上看起來和硬盤分區類似的設備(比如RAID設備)。
邏輯卷 (LV)
一個或者多個物理卷組成一個邏輯卷。對於LVM而言,邏輯卷類似於非LVM系統中的硬盤分區。邏輯卷可以包含一個文件系統(比如/home或者/usr)。
卷組 (vg)
一個或者多個邏輯卷組成一個卷組。對於LVM而言,卷組類似於非LVM系統中的物理硬盤。卷組把多個邏輯卷組合在一起,形成一個可管理的單元。
LVM流程就是:fdisk創建分區lvm格式-->把lvm分區專爲物理卷(pv)pvcreate-->多個物理卷分區加載到一個卷組(vg)-->創建一個邏輯卷(lv)需要卷名稱以及容量-->格式化邏輯卷爲ext3-->掛載
後期工作就是:增加分區添加物理卷(pv)--將新增物理卷添加到卷組-->擴容或者減少邏輯卷容量
一 創建分區
[root@localhost ~]# fdisk /dev/sda Command (m for help): p Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 ####創建第一個分區 First cylinder (1-261, default 1): ##默認回車 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261): +500M ##500M空間 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 ##第二個分區 First cylinder (66-261, default 66): Using default value 66 Last cylinder, +cylinders or +size{K,M,G} (66-261, default 261): +500M ##創建了兩個500M分分區
二 將創建的兩個分區設置爲lvm格式 我們可以由看到 目前還不是lvm格式
[root@localhost ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Device Boot Start End Blocks Id System /dev/sda1 1 65 522081 83 Linux /dev/sda2 66 130 522112+ 83 Linux Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): 8e Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 8e Changed system type of partition 2 to 8e (Linux LVM) Command (m for help): p Device Boot Start End Blocks Id System /dev/sda1 1 65 522081 8e Linux LVM /dev/sda2 66 130 522112+ 8e Linux LVM #Partition number (1-4): 2 輸入盤符 #Hex code (type L to list codes): 8e ##格式類型
三 我們的分區就有了,然後我們要把LVM分區轉化爲物理卷
首先激活分區執行:partprobe [root@localhost ~]# pvcreate /dev/sda1 Physical volume "/dev/sda1" successfully created [root@localhost ~]# pvcreate /dev/sda2 Physical volume "/dev/sda2" successfully created 使用pvdisplay 查看建的pv
四 將分區加載到卷組VG001
[root@localhost ~]# vgcreate VG001 /dev/sda1 /dev/sda2 Volume group "VG001" successfully created 使用vgdisplay 查看。由於sda1 sda2每個都是500M 這個VG001卷容量爲1G
五 創建lv分區800M lv名稱爲lv0 VG001是上面的卷組名
[root@localhost ~]# lvcreate -L 800M -nlv0 VG001 Logical volume "lv0" created 使用 lvdisplay可以查看到 /dev/VG001/lv0的容量爲800M 那麼此時VG001容量爲200M
六 將分區格式化爲ext3
mkfs.ext3 /dev/VG001/lv0
七 將/dev/VG001/lv0掛載到/mnt
[root@localhost ~]# mount /dev/VG001/lv0 /mnt/ [root@localhost ~]# df -lh 文件系統 容量 已用 可用 已用%% 掛載點 /dev/mapper/VolGroup-lv_root 19G 5.0G 13G 29% / tmpfs 242M 0 242M 0% /dev/shm /dev/sdb1 485M 53M 408M 12% /boot /dev/mapper/VG001-lv0 788M 17M 731M 3% /mnt
八 在/etc/fstab和/etc/lilo.conf中添加一個入口。在/etc/fstab中加入以下入口,在啓動時加載文件系統: mount /dev/VG001/lv0 /mnt/
九 向lv空間增加容量100M。目前我們的lv空間爲800M VG001還剩下200M(1000M-lv的800M)
[root@localhost ~]# lvextend -L+100M /dev/VG001/lv0 Extending logical volume lv0 to 900.00 MiB Logical volume lv0 successfully resized
所以說要是lv的容量不夠時 可以從VG001裏面不斷的添加。現在VG001只剩下100M 但是lv需要增加700M 那麼現在就要擴容VG001的容量
十 增加VG001容量 lv要增加700M 此前剩餘100M空間 那麼我們要新建一個600M的分區
fdisk /dev/sda Device Boot Start End Blocks Id System /dev/sda1 1 65 522081 8e Linux LVM /dev/sda2 66 130 522112+ 8e Linux LVM Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (131-261, default 131): Using default value 131 Last cylinder, +cylinders or +size{K,M,G} (131-261, default 261): +600M Command (m for help): p Device Boot Start End Blocks Id System /dev/sda1 1 65 522081 8e Linux LVM /dev/sda2 66 130 522112+ 8e Linux LVM /dev/sda3 131 207 618502+ 83 Linux Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): 8e Changed system type of partition 3 to 8e (Linux LVM) Command (m for help): p Device Boot Start End Blocks Id System /dev/sda1 1 65 522081 8e Linux LVM /dev/sda2 66 130 522112+ 8e Linux LVM /dev/sda3 131 207 618502+ 8e Linux LVM
激活分區執行:partprobe
創建pv格式:pvcreate /dev/sda3
將/dev/sda3 添加到VG001 :vgextend VG001 /dev/sda3 然後vgdisplay可以查看VG001容量變爲1.6G
對lv進行擴容:
lvextend -L+700M /dev/VG001/lv0 e2fsck -f /dev/VG001/lv0 resize2fs /dev/VG001/lv0 mount /dev/VG001/lv0 /mnt [root@localhost soft]# df -lh 文件系統 容量 已用 可用 已用%% 掛載點 /dev/mapper/VolGroup-lv_root 19G 5.1G 13G 30% / tmpfs 242M 0 242M 0% /dev/shm /dev/sdb1 485M 53M 408M 12% /boot /dev/mapper/VG001-lv0 1.6G 18M 1.5G 2% /mnt ########## 此時可以看到mnt的容量由最開始的800M變成800+100+700=1600M
LVM操作的相關命令:
fdisk -l :查看系統中都認到了那些物理硬盤 pvdisplay:查看系統中已經創建好的物理卷 pvcreate:創建一個新的物理卷 pvremove:刪除一個物理卷(也就是從物理卷中刪除一個LVM標籤) vgdisplay:查看系統中的卷組 vgcreate:創建一個新的卷組 vgreduce:從卷組中刪除一個物理卷(也就是縮小卷組) vgremove:刪除一個卷組 lvdisplay:查看系統中已經創建好的邏輯卷 lvcreate:創建一個新的邏輯卷 lvreduce:縮小邏輯卷(也就是從一個邏輯卷中減少一些LE) lvremove:從系統中刪除一個邏輯卷