LVM的知識總結和操作大全
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 例項總結Oracle知識點大全Oracle
- JS知識總結之DOM操作JS
- jQuery知識總結之DOM操作jQuery
- Linux基礎知識和基本操作語句總結Linux
- 【全面】Linux基礎知識和基本操作語句大全(一)Linux
- 類和物件部分知識總結物件
- Java類和物件知識點總結Java物件
- NLP知識總結和論文整理
- jQuery知識總結之元素屬性與樣式的操作jQuery
- servlet知識總結Servlet
- Cookie知識總結(-)Cookie
- MySQL知識總結MySql
- 知識點總結
- 知識方法總結
- Docker知識總結Docker
- JQuery知識總結jQuery
- Redis知識總結Redis
- 圖知識總結
- golang知識總結Golang
- 常量知識總結
- servelt知識總結
- 總結的小知識點(一)
- HTML簡單知識的總結HTML
- 總結的Java知識點集合Java
- Core Java 的知識點總結Java
- Java 知識點總結Java
- Vue知識總結(2)Vue
- django知識點總結Django
- iOS 知識點總結iOS
- MongoDB知識點總結MongoDB
- HDFS知識點總結
- HBase知識點總結
- jQuery 知識點總結jQuery
- Kafka知識點總結Kafka
- Tomcat 知識點總結Tomcat
- MySQL知識點總結MySql
- 概率論知識總結
- Android Service和IntentService知識點詳細總結AndroidIntent