欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux給磁盤擴容(LVM方式)的方法實現(xiàn)

 更新時間:2025年05月25日 11:31:51   作者:NPE~  
本文主要介紹了Linux給磁盤擴容(LVM方式)的方法實現(xiàn),涵蓋PV/VG/LV概念及操作步驟,具有一定的參考價值,感興趣的可以了解一下

最近測試性能,在本地打數(shù)據(jù)時,發(fā)現(xiàn)磁盤空間不足,于是想手動給/掛載點添加空間。這里介紹通過LVM方式快速給磁盤擴容。

LVM:是一種技術(shù),方便管理磁盤。如果不用LVM,那么就不好在之前的磁盤基礎(chǔ)上擴容,比如我一塊硬盤20G被寫滿了之后,我想將這塊硬盤擴容到40G,就無法操作。只能新開一個磁盤。對于MySQL這種數(shù)據(jù)保存在本地磁盤路徑/var/mysql/data這種就無法正確擴容。

  • 有人會說我直接新插一個更大的硬盤,然后把數(shù)據(jù)從舊磁盤復(fù)制到新磁盤上,顯然這在數(shù)據(jù)量大的情況下是不合理的。會耗費大量的時間。

1 概念

PV:物理卷,同一磁盤可劃分為多個物理卷。

VG:卷組,一個到多個PV可組成一個卷組。

LV:邏輯卷,卷組可劃分為多個邏輯卷。

PE:Physical extent物理區(qū)域,硬盤可供指派給邏輯卷的最小單位(通常為 4MB)

掛載點:lv與掛載點是1:1的關(guān)系。

在這里插入圖片描述

1.1 物理卷 Physical Volume (PV)

可以在上面建立卷組的媒介,可以是硬盤分區(qū),也可以是硬盤本身或者回環(huán)文件(loopback file)。物理卷包括一個特殊的 header,其余部分被切割為一塊塊物理區(qū)域(physical extents)

1.2 卷組 Volume group (VG): 將一組物理卷收集為一個管理單元

1.3 邏輯卷 Logical volume (LV): 虛擬分區(qū),由物理區(qū)域(physical extents)組成

1.4 物理區(qū)域 Physical extent (PE): 硬盤可供指派給邏輯卷的最小單位(通常為 4MB)

2 實戰(zhàn)

我本地/目錄下有50G空間,現(xiàn)在我想擴容到100G。

在這里插入圖片描述

2.1 相關(guān)基礎(chǔ)命令

# 查看掛載點
df -h 

# 查看邏輯卷( logical volume)
lvdisplay

# 查看當(dāng)前的卷組(volume group),輸出結(jié)果中的VG Size表示當(dāng)前卷組總大小
vgdisplay

# 查看當(dāng)前的物理卷組(physical volume)
pvdisplay

# 執(zhí)行fdisk /dev/vdb給vdb磁盤創(chuàng)建分區(qū)
fdisk /dev/vdb

# 格式化分區(qū)
mkfs -t xfs /dev/vdb1 # 一般用于centos7及以上
# mkfs -t ext4 /dev/vdb1 # 一般用于centos6

# 創(chuàng)建pv,方便將pv交給vg管理
pvcreate /dev/vdb1

# 給centos這個VG擴容
vgextend centos /dev/vdb1

# 給LV擴容 
lvextend -l +100%FREE /dev/centos/root

# 刷新分區(qū)
# resize2fs /dev/centos/root # 適用于centos6
xfs_growfs /dev/centos/root # centos7及以后

2.2 開始給LVM擴容

1. 查看fdisk:fdisk -l

fdisk -l

在這里插入圖片描述

可以看到我們當(dāng)前磁盤的基礎(chǔ)信息,以及掛載情況。

# 查詢掛載點情況
df -h 

在這里插入圖片描述

可以看到我/下可用容量只有50G,現(xiàn)在我需要給它擴容。

2. 查看所有存儲設(shè)備:fdisk -l |grep ‘/dev’

# 查看當(dāng)前所有的存儲設(shè)備
# fdisk -l |grep '/dev'
# 查看當(dāng)前所有磁盤
fdisk -l |grep '/dev/vd'

在這里插入圖片描述

手動給虛擬機或者物理機新增一塊磁盤,再執(zhí)行相同命令:

# 查看當(dāng)前所有磁盤
fdisk -l |grep '/dev/vd'

在這里插入圖片描述

3. 給磁盤創(chuàng)建分區(qū):fdisk /dev/vdb

# 執(zhí)行fdisk /dev/vdb給vdb磁盤創(chuàng)建分區(qū)
fdisk /dev/vdb
## n:新建分區(qū)
## l: 選擇邏輯分區(qū),如果沒有,則首先創(chuàng)建主分區(qū)(p),然后再添加邏輯分區(qū)(硬盤最多四個分區(qū) P-P-P-P 或 P-P-P-E)

在這里插入圖片描述

# 查看是否分區(qū)成功
fdisk -l | grep 'dev/vd'

在這里插入圖片描述

4. 格式化磁盤:mkfs -t xfs /dev/vdb1

文件系統(tǒng)類型centos6文件系統(tǒng)是ext4,因為設(shè)計較早,對于現(xiàn)今動輒上T的海量數(shù)據(jù)處理,性能較低。 centos7文件系統(tǒng)是xfs,適用于海量數(shù)據(jù)。

# 格式化分區(qū)
mkfs -t xfs /dev/vdb1 # 一般用于centos7及以上
# mkfs -t ext4 /dev/vdb1 # 一般用于centos6

在這里插入圖片描述

5. 創(chuàng)建pv:pvcreate /dev/vdb1

# 創(chuàng)建pv,方便將pv交給vg管理
pvcreate /dev/vdb1
# pvscan查看卷組,觀察是否創(chuàng)建成功
pvscan |  grep /dev/vdb1

在這里插入圖片描述

6. 擴容vg:vgextend centos /dev/vdb1

我現(xiàn)在要給/擴容,所以要知道/屬于哪個vg管理

# 查看lv
lvdisplay

在這里插入圖片描述

所以我現(xiàn)在要給centos這個VG擴展容量

# 將/dev/vdb1這個pv交給centos這個vg管理
vgextend centos /dev/vdb1
# 查看vg狀態(tài)
vgdisplay

在這里插入圖片描述

7.擴容lv:lvextend -l +100%FREE /dev/centos/root

我們要給/目錄擴容,所以需要知道/目錄對應(yīng)的LVPath是什么

# 查看/掛載點對應(yīng)的信息
df -h 

在這里插入圖片描述

# 查看LV虛擬卷信息,可以知道/對應(yīng)的LVPath為/dev/centos/root
lvdisplay

在這里插入圖片描述

下面就是給LV擴容:

# 按固定大小追加(追加10G給/dev/centos/root這個LVPath)
lvextend -L +10G /dev/centos/root

# 按百分比追加
lvextend -l +100%FREE /dev/centos/root

以百分比追加為例,我將vg中剩下的所有容量全部分配給/

lvextend -l +100%FREE /dev/centos/root

在這里插入圖片描述

# 查看LV是否擴容成功
lvdisplay

在這里插入圖片描述

LV Size成功由50G擴容到了100G

8. 刷新分區(qū):xfs_growfs /dev/centos/root

df 命令參看硬盤信息-T選項, 查看文件系統(tǒng)類型centos6文件系統(tǒng)是ext4,因為設(shè)計較早,對于現(xiàn)今動輒上T的海量數(shù)據(jù)處理,性能較低。 centos7文件系統(tǒng)是xfs,適用于海量數(shù)據(jù)。

# xfs格式的硬盤使用xfs_growfs
# ext4用resize2fs命令,
df -T # 查看文件系統(tǒng)類型(一般centos6是ext4,centos7及以后是xfs)
# resize2fs /dev/centos/root # 適用于centos6
xfs_growfs /dev/centos/root # centos7及以后

在這里插入圖片描述

9. 驗證df -h

擴容前:

在這里插入圖片描述

擴容后:

在這里插入圖片描述

注意: 不要卸載擴容的磁盤,可能出現(xiàn)丟失數(shù)據(jù)或是系統(tǒng)無法啟動

因為多個LV對外提供的是一個VG,如果你卸載了其中一個磁盤導(dǎo)致LV失效,部分?jǐn)?shù)據(jù)就可能丟失。類比:ES中的Shard

2.3 總結(jié)

新增磁盤

fdisk給磁盤創(chuàng)建分區(qū),fdisk /dev/vdb

mkfs格式化磁盤,mkfs -t xfs /dev/vdb1

pvcreate創(chuàng)建pv,pvcreate /dev/vdb1

vgextend擴容vg,vgextend centos /dev/vdb1,給vg擴容(將/dev/vdb1交給centos這個vg管理)

lvextend擴容lv,lvextend -l +100%FREE /dev/centos/root(將vg剩余的容量全部分配給/dev/centos/root這個lv)

xfs_growfs刷新分區(qū),# resize2fs /dev/centos/root # 適用于centos6
xfs_growfs /dev/centos/root # centos7及以后

df -h 查看掛載點大小變化,觀察是否擴容成功

 到此這篇關(guān)于Linux給磁盤擴容(LVM方式)的方法實現(xiàn)的文章就介紹到這了,更多相關(guān)Linux 磁盤擴容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論