之前一篇文章介紹了lvm,今天在這里演示制作lvm的過程。lvm的制作過程有以下幾個步驟:
-
磁盤分區
-
使用分區制作pv
-
以pv建立vg
-
從vg分割出lv
-
格式化lv并掛載到目錄中使用
接下來,我們來完成上面的流程吧。
分區
首先,我們看看磁盤的分區情況。
#?lsblk NAME???MAJ:MIN?RM??SIZE?RO?TYPE?MOUNTPOINT sda??????8:0????0???40G??0?disk? ├─sda1???8:1????0????2M??0?part? ├─sda2???8:2????0????1G??0?part?/boot ├─sda3???8:3????0????1G??0?part?[SWAP] ├─sda4???8:4????0???10G??0?part?/ └─sda5???8:5????0??100M??0?part? sdb??????8:16???0????1G??0?disk? sdc??????8:32???0????1G??0?disk? sdd??????8:48???0????1G??0?disk? sde??????8:64???0????1G??0?disk
可以看到,我的主機上面有5塊磁盤,除了sda這塊磁盤,其他的磁盤還沒有分區,另外sda這塊磁盤也還有剩余空間。現在,把另外4塊磁盤也分區。分區使用fdisk或gdisk工具,具體過程這里就省略了。分完區后信息如下:
#?lsblk NAME???MAJ:MIN?RM??SIZE?RO?TYPE?MOUNTPOINT sda??????8:0????0???40G??0?disk? ├─sda1???8:1????0????2M??0?part? ├─sda2???8:2????0????1G??0?part?/boot ├─sda3???8:3????0????1G??0?part?[SWAP] ├─sda4???8:4????0???10G??0?part?/ └─sda5???8:5????0??100M??0?part? sdb??????8:16???0????1G??0?disk? └─sdb1???8:17???0?1023M??0?part? sdc??????8:32???0????1G??0?disk? └─sdc1???8:33???0?1023M??0?part? sdd??????8:48???0????1G??0?disk? └─sdd1???8:49???0?1023M??0?part? sde??????8:64???0????1G??0?disk? └─sde1???8:65???0?1023M??0?part
制作pv
首先,我們需要安裝lvm2這個軟件。
yum?install?lvm2
關于pv有幾個相關的命令:
-
pvscan 查看系統上的pv
-
pvdisplay 列出pv的使用情況
-
pvcreate 制作pv
-
pvremove 刪除該pv,即使某分區沒有了pv屬性
現在我們來使用分區來制作pv。
用法:pvcreate 分區 ……
#?pvcreate?/dev/sdb1?/dev/sdc1 ??Physical?volume?"/dev/sdb1"?successfully?created. ??Physical?volume?"/dev/sdc1"?successfully?created. #?這樣就制作好了兩個pv
下面通過pvscan查看系統上所有的pv
#?pvscan ??PV?/dev/sdc1??????????????????????lvm2?[1023.00?MiB] ??PV?/dev/sdb1??????????????????????lvm2?[1023.00?MiB] ??Total:?2?[<p>查看某個pv的使用情況:pvdispaly [分區名]</p><pre class="brush:php;toolbar:false">#?pvdisplay?/dev/sdb1 ??"/dev/sdb1"?is?a?new?physical?volume?of?"1023.00?MiB" ??---?NEW?Physical?volume?--- ??PV?Name???????????????/dev/sdb1 ??VG?Name??????????????? ??PV?Size???????????????1023.00?MiB ??Allocatable???????????NO ??PE?Size???????????????0??? ??Total?PE??????????????0 ??Free?PE???????????????0 ??Allocated?PE??????????0 ??PV?UUID???????????????6sl1Eg-S6BJ-1QYX-NAFs-9dIB-zEKN-jz7lYM
然后,我們再將這兩個pv給刪除掉
#?pvremove?/dev/sd{b,c}1 ??Labels?on?physical?volume?"/dev/sdb1"?successfully?wiped. ??Labels?on?physical?volume?"/dev/sdc1"?successfully?wiped.
最后,我們還是制作3個pv吧
#?pvcreate?/dev/sd{b,c,d}1 ??Physical?volume?"/dev/sdb1"?successfully?created. ??Physical?volume?"/dev/sdc1"?successfully?created. ??Physical?volume?"/dev/sdd1"?successfully?created.
制作vg
vg也有幾個相關的命令,如下:
-
vgcreate 制作vg,這個命令是這些命令中最復雜的。
-
vgscan 瀏覽系統上的vg
-
vgremove 刪除一個vg
-
vgdisplay 查看vg的使用情況
-
vgextend 對vg擴容,即增加pv
-
vgreduce 從vg移除pv
首先看制作vg的命令使用:
vgcreate [-s N[m|g|t]] vg名稱 pv名稱
選項與參數:
-
-s 后接大小,m、g、t大小寫均可,用來設置pe大小。省略該參數,則使用默認大小,一般為4M
-
vg名稱: 和pv過程不一樣,這里需要自定義vg的名稱,
-
pv名稱, 由哪幾個pv制作vg。
下面來制作vg
#?vgcreate?vgwww?/dev/sd{b,c,d}1??? Volume?group?"vgwww"?successfully?created
瀏覽vg有哪些
#?vgscan??? Reading?volume?groups?from?cache.??? Found?volume?group?"vgwww"?using?metadata?type?lvm2
查看vg的相關信息
#?vgdisplay? ??---?Volume?group?--- ??VG?Name???????????????vgwww ??System?ID????????????? ??Format????????????????lvm2 ??Metadata?Areas????????3 ??Metadata?Sequence?No??1 ??VG?Access?????????????read/write ??VG?Status?????????????resizable ??MAX?LV????????????????0 ??Cur?LV????????????????0 ??Open?LV???????????????0 ??Max?PV????????????????0 ??Cur?PV????????????????3 ??Act?PV????????????????3 ??VG?Size???????????????<p>現在我們對vgwww進行擴容操作</p><pre class="brush:php;toolbar:false">#?vgextend?vgwww?/dev/sde1 ??Volume?group?"vgwww"?successfully?extended
制作lv
關于lv也有一些相關命令,分別如下:
-
lvcreate :制作lv
-
lvscan :查詢系統上的lv
-
lvdisplay :顯示lv的狀況
-
lvextend :增加lv容量
-
lvreduce :減少lv容量
-
lvremove :刪除一個lv
-
lvresize :對lv容量大小進行調整
下面我們來看制作lv的命令
-
lvcreate [-L N[m/g/t]] [-n lv名稱] vg名稱
-
lvcreate [-l N] [-n lv名稱] vg名稱
選項參數:
-
-L 后接容量,設置lv的大小
-
-l 后接使用多少個pe的數量
-
可以不設置lv名稱,那么系統會自動設置lv名稱
#?lvcreate?-L?1G?-n?lvwww?vgwww ??Logical?volume?"lvwww"?created. #?lvscan ??ACTIVE????????????'/dev/vgwww/lvwww'?[1.00?GiB]?inherit
下面再來演示如何給lv進行擴容增大1G,擴容要使用lvresize命令了。首先,確定vg剩余空間大于1G,然后進行擴容
#?vgdisplay?vgwww ??---?Volume?group?--- ??VG?Name???????????????vgwww ??System?ID????????????? ??Format????????????????lvm2 ??Metadata?Areas????????4 ??Metadata?Sequence?No??5 ??VG?Access?????????????read/write ??VG?Status?????????????resizable ??MAX?LV????????????????0 ??Cur?LV????????????????1 ??Open?LV???????????????0 ??Max?PV????????????????0 ??Cur?PV????????????????4 ??Act?PV????????????????4 ??VG?Size???????????????3.98?GiB ??PE?Size???????????????4.00?MiB ??Total?PE??????????????1020 ??Alloc?PE?/?Size???????256?/?1.00?GiB ??Free??PE?/?Size???????764?/?2.98?GiB??<p><strong><span style="font-size: 24px;">格式化、掛載</span></strong></p><p>這個/dev/vgwww/lvwww就相當于一個分區,想要使用該分區就需要先進行格式化,然后掛載使用</p><pre class="brush:php;toolbar:false">#?mkfs.xfs?/dev/vgwww/lvwww #?blkid …… /dev/mapper/vgwww-lvwww:?UUID="fcbff612-a169-4542-ad92-6d53abe7b982"?TYPE="xfs"? #?mount?/dev/vgwww/lvwww?/www [root@localhost?~]#?df?-h …… /dev/mapper/vgwww-lvwww??2.0G???33M??2.0G????2%?/www
到此,整個流程就結束了,新的文件系統已經創建完畢了。