使用 LVM 將多個硬碟合併,解決 /home 目錄容量不足問題

技术颜良發表於2024-03-07

使用 LVM 將多個硬碟合併,解決 /home 目錄容量不足問題

誤傷這又何妨

於 2023-11-08 21:38:42 釋出

閱讀量698
收藏

點贊數 11
文章標籤: 5G 運維
版權
你是否有這樣一個難題,由於在安裝系統時僅僅給了/home目錄100G硬碟大小,但過了一段時間,發現“哎,100G不夠用了,當初怎麼不多分點呢。”你當然知道重灌系統就能解決這個問題,但你的資料就都丟了呀。這時,剛好你還有幾塊沒用的硬碟,於是你就想:可不可以不用重灌系統,就可以擴容 /home 目錄呢?
目錄
1-將多個硬碟合併成一個虛擬磁碟
1.1 使用`fdisk -l` 檢視當前系統識別到的硬碟:
1.2 合併成一個虛擬硬碟
1.3 檢視是否虛擬硬碟是否建立成功
2-將虛擬硬碟掛載到/home目錄下
2.1 掛載到/home目錄下
2.2 修改/etc/fstab檔案,實現開機自動掛載
參考資料
1-將多個硬碟合併成一個虛擬磁碟
首先Linux只允許一個硬碟對應一個掛載點,也就是說,你只可以使用一個硬碟掛載到 /home,其餘硬碟無法再進行掛載。解決方法有兩種,一種是Logical Volume Manager(LVM)將多個硬碟合併成一個邏輯卷組,形成一個虛擬磁碟,並且可以方便地動態調整容量。另一種是RAID儲存陣列,允許將多個磁碟組成一個大型儲存池,並提供冗餘功能。這裡採用的是第一種。

1.1 使用fdisk -l 檢視當前系統識別到的硬碟:

假設我需要掛載的是這三塊硬碟。

1.2 合併成一個虛擬硬碟
# 1.建立 pv
# pvcreate [物理卷名]
sudo pvcreate /dev/nvme1n1
sudo pvcreate /dev/nvme2n1
sudo pvcreate /dev/nvme3n1

# 2.建立 vg
# vgcreate [自定義lvm名] [物理卷名]
sudo vgcreate lvm_data /dev/nvme1n1 # 其中一個盤做開始盤
sudo vgextend lvm_data /dev/nvme2n1 # 其餘兩個盤做擴充套件
sudo vgextend lvm_data /dev/nvme3n1

# 3.建立 lv
# lvcreate -l[容量] -n [自定義分割槽名] [lvm名]
# eg:lvcreate -l100G -n vg_data lvm_data
sudo lvcreate -l 100%VG -n vg_data lvm_data
sudo mkfs -t ext4 /dev/lvm_data/vg_data # 做格式化

1.3 檢視是否虛擬硬碟是否建立成功
df -h


2-將虛擬硬碟掛載到/home目錄下
2.1 掛載到/home目錄下
# 1. 建立目錄
sudo mkdir /data
# 2. 把/dev/mapper/lvm_data-vg_data掛載到/data
sudo mount /dev/mapper/lvm_data-vg_data /data
# 3. 同步/home到/data,執行這一步需要時間,會出現卡住不動的情況,一定要耐心等待。
sudo rsync -aXS /home/. data/.
# 4. 重新命名/home
sudo mv /home /home_old
# 5. 新建/home
sudo mkdir /home
# 6. 取消/dev/mapper/lvm_data-vg_data
sudo umount /dev/mapper/lvm_data-vg_data
# 7. 重新掛載/dev/mapper/lvm_data-vg_data到/home
sudo mount /dev/mapper/lvm_data-vg_data /home

2.2 修改/etc/fstab檔案,實現開機自動掛載
檢視/dev/mapper/lvm_data-vg_data的 UUID

blkid


把UUID複製下來,修改/etc/fstab檔案,實現開機自動掛載

sudo nano /etc/fstab # nano開啟,使用別的編輯器可以

在檔案最後新增(#號是解釋,不需要新增):

# UUID=8da46012-ab9c-434f-a855-2484112fd1a7:這是檔案系統的唯一識別符號(UUID),用於指定要掛載的檔案系統。
# /home:這是檔案系統的掛載點,也就是檔案系統將被掛載到的目錄。
# ext4:這是檔案系統的型別,這裡是 ext4 型別的檔案系統。
# nodev,nosuid:這是檔案系統的掛載選項。nodev 表示不允許在該檔案系統上建立裝置檔案,nosuid 表示不允許 setuid 和 setgid 位。
# 0:這是用於確定檔案系統是否應該被備份的欄位。0 表示不需要備份。
# 2:這是用於確定檔案系統是否應該被檢查的欄位。2 表示在啟動時需要被檢查。
UUID=5bf12e10-cf61-447e-b171-91de34eedee7 /home ext4 nodev,nosuid 0 2

重啟系統,檢測是否成功

shutdown -r now
# 重啟後執行
df -h


刪除多餘檔案

sudo rm -rf /home_old
suod rm -rf /data
————————————————

版權宣告:本文為博主原創文章,遵循 CC 4.0 BY 版權協議,轉載請附上原文出處連結和本宣告。

原文連結:https://blog.csdn.net/m0_61552056/article/details/134297482

相關文章