Redhat

是否可以動態調整已安裝的 LVM 分區的大小?

  • July 14, 2013

情況:我們有一個伺服器,它有一個 40GB 的 SAN(光纖通道)安裝為 /opt/application。

如果 LUN 擴展到 60GB,需要做些什麼來將 RHEL 伺服器上的 /opt/application 擴展到只有 1 個 LVM 分區的 60GB?

一種選擇是使用 fdisk 添加第二個 LVM 分區並使用 lvextend 添加此分區,但是如果我們想堅持在磁碟上保留 1 個 LVM 分區怎麼辦?

將 LUN 從 40GB 擴展到 60GB 的最佳方法是什麼?如有必要,可以進行解除安裝,這比添加第二個 LVM 分區並使用 lvextend 更好。

我假設你的底層 PV 是多路徑的。

  • 精確查看 LUN 的分區表

fdisk -ul /dev/mpathX

  • 將 LUN 重新掃描

echorescanor或issue_liprunrescan-scsi-bus.sh

  • 確認塊設備現在有更大的尺寸

fdisk -ul /dev/mpathX

  • 編輯分區表

fdisk -u /dev/mpathX

  • 刪除分區,重新創建起始扇區相同但新的結束扇區到達更大塊設備的新端的分區。

如果您的分區從 63 之類的早期扇區開始,但 fdisk 只會讓您在 2048 或更高版本開始分區,然後從 2048 開始創建分區,然後進入“專家模式”並將“數據開頭”移回 63。

  • 解除安裝文件系統

umount /opt/application

  • 將 VG 設置為非活動狀態

vgchange -an /dev/mapper/vg-lv

  • 讓系統辨識新的分區表

partprobe /dev/mpathX

  • 將 PV 增長到分區的新大小

pvresize /dev/mpathX

  • 設置 VG 啟動

vgchange -ay /dev/mapper/vg-lv

  • 調整 LV 及其底層文件系統的大小

lvresize -r -l+100%FREE /dev/mapper/vg-lv

  • 掛載文件系統並確認其新大小

df -h /opt/application

免責聲明:據我所知,這些是正確的步驟。做好備份。在將您的生產數據信任給 Serverfault 上的一些隨機網際網路評論者之前,在您的開發環境中進行測試執行。

引用自:https://serverfault.com/questions/513040