Linux

如何從lvm分區中刪除磁碟?

  • September 16, 2021

任何人都可以幫忙嗎?我有 2 個磁碟跨越我的主分區。1個是460Gb,另一個是1TB。我想刪除 1TB - 我想在另一台機器上使用它。

無論如何,卷組並沒有使用很多空間,我只有 docker 和幾個使用該磁碟的容器,而且我的 docker 容器卷無論如何都在不同的物理磁碟上。

如果我只是刪除磁碟(

$$ physically $$),它會引起問題嗎? 這是一些資訊


pvdisplay


 --- Physical volume ---
 PV Name               /dev/sda3
 VG Name               ubuntu-vg
 PV Size               <464.26 GiB / not usable 2.00 MiB
 Allocatable           yes (but full)
 PE Size               4.00 MiB
 Total PE              118850
 Free PE               0
 Allocated PE          118850
 PV UUID               DA7Q8E-zJEz-2FzO-N64t-HtU3-2Z8P-UQydU4

 --- Physical volume ---
 PV Name               /dev/sdb1
 VG Name               ubuntu-vg
 PV Size               931.51 GiB / not usable 4.69 MiB
 Allocatable           yes (but full)
 PE Size               4.00 MiB
 Total PE              238466
 Free PE               0
 Allocated PE          238466
 PV UUID               Sp6b1v-nOj2-XXdb-GZYf-1Vej-cfdr-qLB3GU

LVM讓我有點困惑:-)

不只是一個簡單的例子,

“將自己從 VG 中移除並使用剩餘的組成員來評估任何你正在使用的東西”?

值得注意的是 1TB 是後來添加的,所以假設它更容易刪除?

任何幫助都非常感謝

編輯

還有更多資訊

df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                                16G     0   16G   0% /dev
tmpfs                              3.2G  1.4M  3.2G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  1.4T  5.1G  1.3T   1% /

它僅使用 1%

也輸出lvs

lvs
 LV        VG        Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
 ubuntu-lv ubuntu-vg -wi-ao---- 1.36t

編輯

pvdisplay -m
 --- Physical volume ---
 PV Name               /dev/sda3
 VG Name               ubuntu-vg
 PV Size               <464.26 GiB / not usable 2.00 MiB
 Allocatable           yes (but full)
 PE Size               4.00 MiB
 Total PE              118850
 Free PE               0
 Allocated PE          118850
 PV UUID               DA7Q8E-zJEz-2FzO-N64t-HtU3-2Z8P-UQydU4

 --- Physical Segments ---
 Physical extent 0 to 118849:
   Logical volume  /dev/ubuntu-vg/ubuntu-lv
   Logical extents 0 to 118849

 --- Physical volume ---
 PV Name               /dev/sdb1
 VG Name               ubuntu-vg
 PV Size               931.51 GiB / not usable 4.69 MiB
 Allocatable           NO
 PE Size               4.00 MiB
 Total PE              238466
 Free PE               0
 Allocated PE          238466
 PV UUID               Sp6b1v-nOj2-XXdb-GZYf-1Vej-cfdr-qLB3GU

 --- Physical Segments ---
 Physical extent 0 to 238465:
   Logical volume  /dev/ubuntu-vg/ubuntu-lv
   Logical extents 118850 to 357315

編輯

的輸出

lsblk -f
NAME   FSTYPE     LABEL UUID                                   MOUNTPOINT
loop0  squashfs                                                /snap/core/9066
loop2  squashfs                                                /snap/core/9289
sda
├─sda1 vfat             E6CC-2695                              /boot/efi
├─sda2 ext4             0909ad53-d6a7-48c7-b998-ac36c8f629b7   /boot
└─sda3 LVM2_membe       DA7Q8E-zJEz-2FzO-N64t-HtU3-2Z8P-UQydU4
 └─ubuntu--vg-ubuntu--lv
      ext4             b64f2bf4-cd6c-4c21-9009-76faa2627a6b   /
sdb
└─sdb1 LVM2_membe       Sp6b1v-nOj2-XXdb-GZYf-1Vej-cfdr-qLB3GU
 └─ubuntu--vg-ubuntu--lv
      ext4             b64f2bf4-cd6c-4c21-9009-76faa2627a6b   /
sdc    xfs              1a9d0e4e-5cec-49f3-9634-37021f65da38   /gluster/bricks/2

上面的 sdc 是一個不同的驅動器 - 並且不相關。

由於您需要從中刪除磁碟的文件系統是您的文件系統,並且文件系統類型是ext4,因此您必須首先從一些實時 Linux 啟動媒體啟動系統。Ubuntu Live 可能會很好地解決這個問題。

從外部媒體啟動後,執行sudo vgchange -ay ubuntu-vg以啟動卷組,以便您能夠訪問 LV,但不要掛載文件系統:需要解除安裝 ext2/3/4 文件系統以進行收縮。然後將文件系統縮小到 10G(或您希望的任何大小 - 以後可以輕鬆地再次擴展,甚至線上):

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 10G

注意輸出的消息resize2fs- 如果它說文件系統不能縮小那麼遠,請指定更大的大小並重試。

這是在外部媒體上啟動時唯一需要完成的步驟;在此之後的所有內容,您都可以正常啟動系統。

此時,文件系統應該已經縮小到 10G(或您指定的任何大小)。下一步是縮小 LV。**至關重要的是,LV 的新大小應該與文件系統的新大小完全相同或更大!**您不想在縮小 LV 時切斷文件系統的尾部。在此處指定稍大的尺寸是最安全的:

sudo lvreduce -L 15G /dev/mapper/ubuntu--vg-ubuntu--lv

現在,使用pvdisplayorpvs查看 LVM 現在是否考慮/dev/sdb1完全免費。在pvdisplay中,Total PE和的Free PEsdb1應該相等 - 在pvs輸出中,PFree值應該PSize分別相等。如果不是這種情況,那麼是時候使用了pvmove

sudo pvmove /dev/sdb1

在此之後,sdb1根據 LVM,PV 絕對應該是完全免費的,並且可以從 VG 中減少。

sudo vgreduce vg-ubuntu /dev/sdb1

如果您願意,您可以從前 PV 中刪除 LVM 簽名:

sudo pvremove /dev/sdb1

但是如果你還是要覆蓋它,你可以省略這一步。

在這些步驟之後,縮小的文件系統的大小仍將保持在 10G(或任何您指定的大小),即使 LV 可能比這大一些。要解決這個問題:

sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

擴展文件系統時,您不必指定大小:該工具將自動擴展文件系統以匹配包含它的最裡面設備的確切大小。在這種情況下,文件系統的大小將根據 LV 的大小進行調整。

稍後,如果你想擴展 LV+文件系統,你可以只用兩個命令:

sudo lvextend -L <new size> /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

即使文件系統正在使用和掛載,您也可以這樣做。因為縮小文件系統比擴展它更難,所以在 LVM 級別保留一些未分配的空間可能很有用 - 您將能夠立即使用它來創建新的 LV 和/或擴展現有的 LV根據需要在同一個 VG 中。

引用自:https://unix.stackexchange.com/questions/591389