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
6、新建lv并分配空間,此空間必須小于等于vgdisplay里面看到的可用空間,所以新建的lv是沒有使用過的空間,也就解釋了為什么新建的lv必須格式化才能掛載目錄
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。