『學了就忘』Linux檔案系統管理 — 67、通過命令模式進行LVM分割槽

繁華似錦Fighting發表於2021-12-08

通過命令模式進行LVM分割槽,也就是通過命令進行LVM邏輯卷分割槽。

1、物理卷管理

(1)準備硬碟或者分割槽

前提還是首先要有一塊硬碟或者分割槽。

建立方式就是使用fdisk互動命令,不過需要注意的是,分割槽的系統ID不再是Linux預設的分割槽ID號83了,而要改成LVM的ID號8e

通過fdisk互動命令,在擴充套件分割槽sdb3中建立了三個邏輯分割槽sdb4sdb5sdb6

如下圖所示:

image

從圖中可以看出,這三個分割槽的預設系統ID號為83,我們需要修改程LVM的ID號8e

執行如下命令即可,逐一修改。

image

最後結果如下:

image

最後儲存退出即可,如下圖所所示:

image

需要執行reboot命令,重啟一下系統。

(2)建立物理卷

有了上邊的分割槽之後,我們就可以把分割槽建立成物理捲了。

建立物理卷命令:

[root@localhost ~]# pvcreate [裝置檔名]

建立物理卷時,我們說即可以把整塊硬碟都建立成物理卷,也可以把某個分割槽建立成物理卷。

如果要把整塊硬碟都建立成物理卷,命令如下:

[root@localhost ~]# pvcreate /dev/sdb(硬碟的裝置檔名)

在我們的使用中,是要把分割槽建立成為物理卷,執行以下命令:

[root@localhost ~]# pvcreate /dev/sdb5(分割槽名稱)

執行命令結果:

image

(3)檢視物理卷

需要執行pvscan 命令檢視物理卷。

[root@localhost ~]# pvscan

命令結果如下:

image

我們可以看到在我的系統中,/dev/sdb5-7這三個分割槽是物理卷。

最後一行的意思是:總共3個物理卷[大小] / 使用了0個卷[大小] / 空閒3個卷[大小]

第二個查詢命令是pvdisplay命令,它可以檢視到更詳細的物理卷狀態。

命令如下:

[root@localhost ~]# pvdisplay

命令結果如下:

image

(3)刪除物理卷

需要執行pvremove命令。

命令如下:

[root@localhost ~]# pvremove /dev/sdb7

2、建立卷組

(1)建立卷組

建立卷組格式如下:

[root@localhost ~]# vgcreate [選項] 卷組名 物理卷名

選項:

  • -s:指定PE的大小,單位可以是MBGBTB等。如果不寫預設PE大小是4MB。(vgcreate命令的選項就-s一個,還是修改PE大小的,所以上邊命令中選項就可以省略了。 )

我們有三個物理卷/dev/sdb5-7,我們先把/dev/sdb5和/dev/sdb6加入卷組,留著/dev/sdb7一會實驗調整卷組大小。

命令如下:

[root@localhost ~]# vgcreate scvg /dev/sdb5 /dev/sdb6
Volume group "scvg" successfully created
# 提示:名稱為scvg的VG建立成功

上邊命令的作用就是把/dev/sdb5和/dev/sdb6物理卷加入到scvg卷組中。

(2)檢視卷組

檢視卷組的命令同樣是兩個,vgscan命令主要是檢視系統中是否有卷組,而vgdisplay命令則是檢視卷組的詳細狀態的。

執行vgscan命令,結果如下:

image

執行vgdisplay命令,結果如下:

image

(3)增加捲組容量

卷組是可以進行擴容的,使用的命令是vgextend

執行命令:把/derv/sdb7物理卷也加入scvg卷組。

[root@localhost ~]# vgextend scvg /dev/sdb7
Volume group "scvg" successfully extended

執行vgdisplay命令檢視卷組,結果如下:

image

說明:如果有更多的物理卷,可以隨時加入到卷組中。

(4)減小卷組容量

特別注意:

理論上卷組容量是可以縮減的,但是不允許進行縮減操作。例如:如果你6GB容量寫滿資料,你縮減2GB容量,資料肯定會丟失。

# 在卷組中刪除/dev/sdb7物理卷
[root@localhost ~]# vgreduce scvg /dev/sdb7
Removed "/dev/sdb7" from volume group "scvg"

# 刪除所有的未使用物理卷
[root@localhost ~]# vgreduce -a

(5)刪除卷組

使用vgremove 命令,可以刪除卷組。

[root@localhost ~]# vgremove scvg
Volume group "scvg" successfully removed

卷組刪除之後,才能刪除物理卷。

還要注意的是,scvg卷組還沒有新增任何的邏輯卷,才可以刪除,那如果擁有了邏輯卷,記得先刪除邏輯卷再刪除卷組。還記得我剛說的嗎?刪除就是安裝的反過程,每一步都不能跳過。

3、建立邏輯卷管理

(1)建立邏輯卷

建立邏輯卷命令:

[root@localhost ~]# lvcreate [選項] [-n 邏輯卷名] 卷組名

選項:

  • -L容量:指定邏輯卷大小,單位MBGBTB等。(只要卷組中有空間,分配多大的空間都可以,不一定按照物理卷的大小進行分配。)
  • -l個數:按照PE個數指定邏輯卷大小,這個引數需要換算容量,太麻煩。
  • -n邏輯卷名:指定邏輯卷名。

那我們就建立一個3GB的sclv邏輯卷,建立命令如下:

#在scvg卷組中建立3GB的sclv邏輯卷
[root@localhost ~]# lvcreate -L 3G -n sclv scvg
Logical volume "sclv" created

建立完邏輯卷之後,還要對邏輯捲進行格式化和掛載,之後邏輯卷才能正常使用。格式化和掛載命令的操作,和操作普通分割槽時是一樣的,不過需要注意的是,邏輯卷的裝置檔名是/dev/卷組名/邏輯卷名,如我們的sclv的裝置檔名就是/dev/scvg/sclv

具體命令如下:

# 格式化
[root@localhost ~]# mkfs -t ext4 /dev/scvg/sclv

# 建立掛載點,並掛載
[root@localhost ~]# mkdir /disklvm
[root@localhost ~]# mount /dev/scvg/sclv /disklvm/

再用mount命令檢視分割槽掛載情況(用df -h命令也可以檢視)。

執行命令如下:

image

可以看到sclv邏輯卷,已正常掛載。

當然如果需要開機自動掛載,也要修改/etc/fstab檔案。

(2)檢視邏輯卷

同樣的檢視命令是兩個,第一個lvscan命令只能看到系統中是否擁有邏輯卷。

命令如下:

# 能夠看到啟用的邏輯卷,大小事3GB
[root@localhost ~] # lvscan 
ACTIVE  '/dev/scvg/sclv' [3 GiB]inherit

第二個命令是lvdisplay,可以看到邏輯卷的詳細資訊。

命令如下:

image

(3)調整邏輯卷大小

調整邏輯卷大小用lvresize命令,執行命令如下。

[root@localhost ~]# lvresize [選項] 邏輯卷裝置檔名

選項:

  • -L容量:安裝容量調整大小,單位KBGBTB等。使用+代表增加空間,-號代表減少空間。如果直接寫容量,代表設定邏輯卷大小為指定大小。
  • -l個數:按照PE個數調整邏輯卷大小。(一般不按這個分配空間,不好算。)

提示:邏輯卷增加容量,邏輯卷中的檔案是不會丟失的。縮減容量不符合使用習慣,不要使用。

剛剛的sclv邏輯卷的大小是3GB,我們的scvg卷組中還有3GB的空閒空間,那麼增加sclv邏輯卷的大小到4GB。

命令如下:

# 增加sclv邏輯卷的大小到4GB
[root@localhost ~]# lvresize -L 4G /dev/scvg/sclv
Size of logical volume scvg/sclv changed from 3.00 GiB (768 extents) to 4.00 GiB(1024 extents).
Logical volume userlv successfully resized

# 當然命令也可以這樣寫
[root@localhost ~]# lvresize -L +1G /dev/scvg/sclv

執行lvdisplay命令檢視卷組,結果如下:

image

邏輯卷的大小已經改變了,但是好像有些問題,我通過df -h命令檢視磁碟資訊,發現sclv邏輯卷的大小還是3GB,如下圖:

image

是因為sclv邏輯卷的大小調整了,但是sclv邏輯卷的掛載,依舊掛的是3GB大小。

如果需要讓分割槽使用這個新擴容的邏輯卷,我們還要使用resize2fs命令來調整分割槽的大小。不過這裡就體現了LVM的優勢,我們不需要解除安裝分割槽,直接就能調整分割槽的大小。(總結一下說,lvresize命令是邏輯卷的擴容,resize2fs命令是邏輯卷檔案系統的擴充套件。)

resize2fs命令格式如下:

[root@localhost ~]# resize2fs [選項] [裝置檔名] [調整的大小]

選項:

  • -f:強制調整。
  • 裝置檔名:指定調整哪個分割槽的大小。
  • 調整的大小:指定把分割槽調整到多大,要加MG等單位。如果不加大小,會使用整個分割槽。

執行resize2fs命令,之後再用df -h命令檢視磁碟資訊。

執行命令結果如下:

image

可以看到sclv邏輯卷的大小變成了4GB。(不需要解除安裝分割槽,裡邊的資料也不會丟失,很方便。)

(4)刪除邏輯卷

一般不用此需求,建立好的邏輯卷就踏實的用。

lvremove命令是刪除邏輯卷,格式如下:

[root@localhost ~]# lvremove 邏輯卷裝置檔名

我們刪除sclv這個邏輯卷,記得刪除時要先解除安裝。

命令如下:

[root@localhost ~]# umount /dev/scvg/sclv
[root@localhost ~]# lvremove /dev/scvg/sclv

相關文章