如何使用現有未使用的 lvm 空間創建另一個物理卷/分區而不會失去數據?
我有一個安裝了 Fedora 20的1T U盤。它在下面的第一張圖片中顯示為sdd。我只用了大約50GB。sdd2 下有 3 個邏輯卷,在我縮小其主邏輯分區後還有大約 620GB 的可用空間,如第二張圖所示。
我正在考慮通過使用 620GB 可用空間創建一個物理卷/分區 sdd3。我希望其他邏輯卷不會損壞,數據保持不變。我怎樣才能做到這一點?
我用 clonezilla 創建了一個磁碟映像。所以我不擔心過程中的數據失去。
這樣做的目的是我想將我的 1T 磁碟上的安裝和設置轉移到我的另一個 500GB USB 磁碟上。我嘗試了很多方法,clonezilla、dd邏輯分區、真實映像、gparted ……由於 lvm 和較小的目的地,沒有人可以幫助我或給我一個好的結果。我希望在新的物理分區佔用一些空間後,我可以 dd 物理分區。
編輯:
我必須重新啟動我的 ubuntu live CD 會話。現在目標磁碟是sdb。嘗試調整 sdb2 的大小時出現錯誤:
ubuntu@ubuntu:~$ sudo su root@ubuntu:/home/ubuntu# pvdisplay /dev/sdb2 --- Physical volume --- PV Name /dev/sdb2 VG Name fedora_lym PV Size 930.99 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 238333 Free PE 160569 Allocated PE 77764 PV UUID Ytsy31-op7u-DqLM-lJG7-uIFb-2hAG-eZhn0a root@ubuntu:/home/ubuntu# pvresize --setphysicalvolumesize 320G /dev/sdb2 /dev/sdb2: cannot resize to 81919 extents as later ones are allocated. 0 physical volume(s) resized / 1 physical volume(s) not resized root@ubuntu:/home/ubuntu#
編輯2:
完成,sdb3 現在在這裡:
root@ubuntu:/home/ubuntu# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 223.6G 0 disk ├─sda1 8:1 0 100M 0 part └─sda2 8:2 0 223.5G 0 part sdb 8:16 0 931.5G 0 disk ├─sdb1 8:17 0 500M 0 part ├─sdb2 8:18 0 312.5G 0 part │ ├─fedora_lym-swap 252:0 0 3.8G 0 lvm │ ├─fedora_lym-home 252:1 0 250G 0 lvm │ └─fedora_lym-root 252:2 0 50G 0 lvm └─sdb3 8:19 0 618.5G 0 part sr0 11:0 1 4.4G 0 rom /cdrom loop0 7:0 0 1.1G 1 loop /rofs root@ubuntu:/home/ubuntu#
如果我理解正確,您想使用 sdd2 上的可用空間來創建另一個分區 sdd3。為此,您首先需要使用
pvresize
.首先看看你的物理卷有多大
pvdisplay /dev/sdd2
。如果它已經具有正確的大小,請跳到下一步。否則你需要先調整它的大小:pvresize --setphysicalvolumesize 123G /dev/sdd2
代替 123G 使用適當的新大小。小心這個。
當
pvresize
由於分配了某些範圍的錯誤而失敗時,可能有兩個原因:1)您試圖使 pv 大小太小 2)某些範圍被分配到磁碟的末尾而不是開頭。在後一種情況下,您需要先將這些範圍移到開頭。對於連續段分配的列表,請執行
pvs -v --segments
當您的 PV 上有可用空間時,並非所有內容都會從第一個段分配到最後一個段。將阻止您的 pvresize 的片段移動到開頭
pvmove --alloc anywhere SOURCE_SEGMENTS
(SOURCE_SEGMENTS 是您要移動的段)
有關更詳細的解釋,請查看此處的答案:https ://unix.stackexchange.com/a/67707/154982
下一步是減小分區大小。記下物理卷的新總大小。然後使用 fdisk(或您的圖形工具或您喜歡的任何分區程序),記下分區 sdd2 的起始塊,將其刪除並創建一個具有物理卷大小的新分區。重要的是,這個新分區從您的舊 sdd2 分區開始的完全相同的塊開始!對於分區大小,請記住,您可能必須將塊/扇區號轉換為字節。fdisk 將告訴您為一個扇區(通常為 512)分配了多少字節。還要記住,幅度的基數是 1024,而不是 1000(即 KiB 而不是 kB)。
創建新的較小的 sdd2 後,您的磁碟上有新的未分配空間,您可以使用它來創建另一個分區 sdd3。
但是,如果您只想在 sdd2 末尾為您的 LVM 使用免費的 600MB,您可能只想使用
pvresize /dev/sdd2
然後增加你的 lv 和文件系統的大小(使用
lvresize -r
),你就完成了。當然,您也可以在免費的 pv 空間上創建一個新的 lv。