如何從lvm分區中刪除磁碟?
任何人都可以幫忙嗎?我有 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
現在,使用
pvdisplay
orpvs
查看 LVM 現在是否考慮/dev/sdb1
完全免費。在pvdisplay
中,Total PE
和的Free PE
值sdb1
應該相等 - 在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 中。