LVM的知識總結和操作大全

lusklusklusk發表於2019-11-12

lvm的步驟
1:把磁碟或磁碟分割槽建立為pv物理卷
2:建立卷組vg,把pv加入已有卷組vg或把pv加入剛建立的卷組
3:在卷組vg中建立lv並分配空間,或對vg中現有lv擴充套件空間:
4:新建的lv必須格式化才能掛載路徑使用,如果是已有lv並且已經掛載過路徑,擴充套件空間後不需要格式化



重要知識點
1、服務端對磁碟擴充套件了空間,但是這個擴充套件的空間並不會在原來已經劃分出來的分割槽/dev/sdb1上自動擴充套件,而只是擴充套件了/dev/sdb,這個時候需要重新建立分割槽/dev/sdb2來使用擴充套件的磁碟,把/dev/sdb2加到/dev/sdb1對應的lv中
2、如果是把磁碟分割槽建立為pv物理卷,磁碟分割槽型別必須是linux lvm,即通過8e把分割槽格式從linux改為linux lvm,磁碟建立為pv物理卷沒有這個要求
3、partprobe可以重新整理系統分割槽表的變化
4、如果是新增空間,第一要先使用pvscan看哪些磁碟或哪些磁碟分割槽加入了pv,再使用vgscan看哪些pv已經使用了
5、如果需要擴充套件lv空間並使lv對應的掛載目錄能看到擴充套件後的空間,必須使用resize2fs,如lvextend -L 9G /dev/vg_1/lv_1 --resizefs






LVM的一些檢視命令:pvscan、pvdisplay 、vgscan、vgdisplay、lvscan、lvdisplay
Pv為物理卷,建立方式為pvcreate /sda/sda1
Vg為卷組,建立方式為vgcreate 卷組名 /sda/sda1
Lv為邏輯卷,建立方式為lvcreate –n 邏輯卷名 –l 2G卷組名

檢視LVM的VG對應的磁碟分割槽的命令是pvscan





新增一個磁碟,建立新的VG

1、伺服器新增一塊磁碟/dev/sdb,大小10G,fdisk -l看不到,執行如下後可以看到了
[root@FRSPGSQLDEV2 ~]# ls /sys/class/scsi_host/
host0  host1  host2
[root@FRSPGSQLDEV2 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@FRSPGSQLDEV2 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@FRSPGSQLDEV2 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan

2、對這塊盤劃分為LVM分割槽,建立分割槽後,使用8e把分割槽格式從linux改為linux lvm
[root@FRSPGSQLDEV2 ~]# fdisk /dev/sdb
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-20971519, default 2048):
Command (m for help): t
Hex code (type L to list all codes): 8e
Command (m for help): p
Command (m for help): w

3、將該分割槽建立為物理卷PV
[root@FRSPGSQLDEV2 ~]# pvcreate /dev/sdb1

4、將該物理卷PV建立為卷組VG,名稱為vg_1,此時還沒有/dev/vg_1這個目錄
[root@FRSPGSQLDEV2 ~]# vgcreate vg_1 /dev/sdb1

5、從名為vg_1的VG中建立名為lv_1的lv,並劃分3GB,建立成功後可以看到/dev/vg_1/lv_1,之前沒有/dev/vg_1這個父目錄的
[root@FRSPGSQLDEV2 ~]# lvcreate -n lv_1 -L 3G vg_1

6、格式化lv,並掛載該lv到目錄/data
[root@FRSPGSQLDEV2 ~]# mkfs.ext4 /dev/vg_1/lv_1
[root@FRSPGSQLDEV2 ~]# mount /dev/vg_1/lv_1 /data

7、通過vgdisplay、lvdisplay可以看到vg_1還有7G空間,lv1只分配了3G,還有,繼續擴充套件lv1為9G
[root@FRSPGSQLDEV2 ~]# lvextend -L 9G /dev/vg_1/lv_1
[root@FRSPGSQLDEV2 ~]# resize2fs /dev/vg_1/lv_1
--以上只執行第一個命令的話,/data目錄的空間不會顯示新增空間,需要執行resize2fs
以上兩條命令可以合併為lvextend -L 9G /dev/vg_1/lv_1 --resizefs





磁碟新增空間,追加空間到已有VG
1、磁碟/dev/sdb增加10G空間,變成20G,此時無法把新增的10G追加到/dev/sdb1,只能重新建立分割槽/dev/sdb2
[root@FRSPGSQLDEV2 ~]# fdisk /dev/sdb
Command (m for help): n
Select (default p): p
Partition number (2-4, default 2):
First sector (20971520-41943039, default 20971520):
Command (m for help): t
Hex code (type L to list all codes): 8e
Command (m for help): p
Command (m for help): w
Select (default p): p

2、將該分割槽建立為物理卷PV
[root@FRSPGSQLDEV2 ~]# partprobe
[root@FRSPGSQLDEV2 ~]# pvcreate /dev/sdb2

3、將該物理卷PV擴充套件到名稱為vg_1的卷組VG
[root@FRSPGSQLDEV2 ~]# vgextend vg_1 /dev/sdb2

4、通過vgdisplay、lvdisplay可以看到vg_1還有11G空間,lv1只分配了9G,還有,繼續擴充套件lv1為19G
[root@FRSPGSQLDEV2 ~]# lvextend -L 19G /dev/vg_1/lv_1 --resizefs




新增一塊磁碟,追加空間到已有VG,並建立新的lv
1、新增磁碟/dev/sdc,空間10G,把磁碟建立為物理卷
[root@FRSPGSQLDEV2 ~]# pvcreate /dev/sdc

2、將該物理卷PV擴充套件到名稱為vg_1的卷組VG
[root@FRSPGSQLDEV2 ~]# vgextend vg_1 /dev/sdc

3、通過vgdisplay、lvdisplay可以看到vg_1還有11G空間,lv1只分配了19G,還有,繼續擴充套件lv1為25G,這樣vg_1就只剩5G了
[root@FRSPGSQLDEV2 ~]# lvextend -L 25G /dev/vg_1/lv_1 --resizefs

4、vg_1剩餘的5G繼續建立出一個新的lv2
[root@FRSPGSQLDEV2 ~]# lvcreate -n lv_2 -L 3G vg_1

5、格式化lv2,並掛載該lv到目錄/data2
[root@FRSPGSQLDEV2 ~]# mkfs.ext4 /dev/vg_1/lv_2
[root@FRSPGSQLDEV2 ~]# mount /dev/vg_1/lv_2 /data2

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2663760/,如需轉載,請註明出處,否則將追究法律責任。

相關文章