先認出系統碟
下單時選 Proxmox VE 8 或 Proxmox VE 9。系統映像已經包含這兩份,交付後用 SSH 登入即可。不需要再拿 USB 安裝。安裝程式也不會把兩塊碟收成硬體陣列,因為機箱裡沒有陣列卡。
登入後執行 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL,再執行 findmnt / 和 pvesm status。兩塊大約 1TB 的 NVMe 各占一行,類型是 disk。根分割區所在的那一塊是系統碟。另一塊的掛載點是空的,就是還沒使用的第二塊。記下 /dev/disk/by-id/ 裡的穩定名稱和序號。重新開機後 nvme0n1 和 nvme1n1 可能對調,後面的分割和格式化都用 by-id,不用這次看到的編號。
local-lvm 所在的那塊碟不能執行 mkfs。空碟的 MOUNTPOINT 是空的,容量大約 1TB,而且沒有出現在 findmnt / 的來源裝置裡。客體磁碟預設落在系統那塊
映像把 Proxmox 裝到一塊 NVMe 時,這塊碟上通常有兩處儲存。local 是根檔案系統裡的目錄,路徑在 /var/lib/vz,預設可放 ISO、片段,以及 vzdump 備份。local-lvm 是同一塊碟上的 LVM-Thin,客體磁碟和容器磁碟寫在這裡。兩處名稱不同,實體裝置仍是這一塊 NVMe。
因此新建一台客體、儲存選 local-lvm 時,磁碟在系統碟上。備份工作若仍選 local,備份檔進入 /var/lib/vz/dump,還是系統碟。一塊碟離線時,客體磁碟和這份備份一起無法讀取。介面裡看到兩個儲存名稱,並不表示已經用上第二塊 NVMe。
用 lsblk 看 local-lvm 對應的卷組落在哪一個 NVMe。它應和根分割區在同一塊。第二塊大約 1TB 的碟此時還沒有分割區,也沒有進入這個卷組。這是直連交付的預期狀態,不是漏裝了一組陣列。
備份改到另一塊 NVMe
第二塊碟單獨分割、單獨建檔案系統,掛到新目錄,例如 /mnt/backup-nvme。分割表用 GPT,一個分割區即可。檔案系統用 ext4 就夠放備份檔。/etc/fstab 寫 UUID,不寫 /dev/nvme0n1p1 這種會變的名稱。寫完執行 mount -a,再用 findmnt /mnt/backup-nvme 確認來源裝置是第二塊碟的 by-id,而不是系統碟。
然後在 Proxmox 加入目錄儲存。資料中心裡選擇儲存、新增、目錄,路徑填這個掛載點,內容只勾「VZDump 備份」。命令列對應 pvesm add dir backup-nvme --path /mnt/backup-nvme --content backup。儲存 ID 自定,不要和已有的 local 重名。pvesm status 裡這一列應為 active,可用空間應接近第二塊碟的容量,而不是根分割區剩下的那一點。
既有的備份工作要改到這個儲存。只把新目錄加出來、工作仍指向 local,新的備份還是寫進系統碟。還沒有客體時,先確認掛載點和儲存狀態,再建立客體。有客體之後做一次備份:vzdump 的 --storage 寫成新的儲存 ID。快照模式要求客體磁碟所在的儲存支援快照,local-lvm 可以。備份檔出現在第二塊碟的目錄裡,名稱以 vzdump- 開頭。
local 可以繼續放 ISO。只要備份工作不再選擇它,客體磁碟和備份就分成了兩塊 NVMe。不必為了這個目的重裝系統。加購的 2TB 仍是單獨一碟
加購的 2TB NVMe 每塊每月 $84,最多兩塊,獨立直連,不加入硬體陣列。它在 lsblk 裡是新的一行 disk,容量大約 2TB,不會自動變成前兩塊 1TB 的成員,也不會自動擴充 local-lvm。處理方式和空著的那塊 1TB 相同:單獨分割、單獨掛載、單獨登記一個儲存。
第二塊 1TB 已經用來放備份時,這塊 2TB 適合放更多的客體磁碟。在新掛載點上加入目錄儲存,內容勾磁碟映像,建立客體磁碟時選擇這個儲存,而不是繼續把大磁碟寫進系統碟的 thin 池。若備份才是放不下的那一類,就把備份工作改到這塊 2TB,原來的第二塊 1TB 可以留作磁碟映像。兩種安排都保持磁碟一組、備份另一組,不要把磁碟和唯一一份備份寫進同一塊碟。
不要把 2TB 碟 vgextend 進系統碟那個卷組。卷組跨到兩塊容量不同的 NVMe 之後,客體磁碟的區段可能落在任意一塊,備份若還在根分割區上,故障範圍會疊在一起。這也不是硬體陣列。加購碟為什麼不能並進陣列,見加購碟不並進陣列。兩塊預設 1TB 若要做成軟鏡像,可用容量會靠近 1TB,這一篇的分碟放法就不再成立,做法見兩塊碟做軟陣列。
| 碟 | 在系統裡 | 適合放置 |
|---|---|---|
| 第一塊 1TB | 根分割區和 local-lvm | 系統和原有的客體磁碟 |
| 第二塊 1TB | 空碟,需自行掛載 | vzdump 備份 |
| 加購 2TB | 另一塊獨立 disk | 更多磁碟映像,或容量更大的備份 |
容量按兩塊相加
兩塊 1TB 都作為獨立檔案系統使用時,可用空間接近 2TB,還要扣掉分割表、檔案系統和根分割區裡已經占用的系統檔。把它理解成 RAID 1 之後只剩 1TB,會對不上 lsblk 裡的兩行 disk,備份目錄也會沒有第二塊碟可放。
客體磁碟和它的備份各占一份空間。一台客體磁碟分配了 400GB,系統碟的 thin 池要能放下這 400GB 裡實際寫入的部分,第二塊碟還要能放下一份備份。不能把 400GB 只從總容量 2TB 裡減一次。精簡配置會讓磁碟區看起來比實際寫入小,備份檔的大小仍取決於這次備份模式和壓縮。規劃時按將要寫入的資料量在兩塊碟上各留位置,而不是只看儲存清單裡的一個總數。
ext4 預設會保留一部分區塊給根使用者。備份目錄若只給 vzdump 使用,空間會比碟的標稱容量少一截。這是檔案系統的保留,不是第二塊碟沒有交付。掛載後用 df -h 看這一列的大小,用這個數字安排備份保留份數。
做完一次備份,核對檔案在哪一塊
確認第二塊碟已掛上
findmnt /mnt/backup-nvme的來源裝置指向第二塊 NVMe 的 by-id。重新開機一次之後,這個掛載點仍在,根分割區也還在。確認儲存不是 local
pvesm status裡備份儲存的路徑是新掛載點。備份工作的儲存欄是這個 ID。工作詳情若仍寫local,改完再跑。跑一次 vzdump
選一台可以快照的客體,儲存指向新目錄。結束後在該目錄找到
vzdump-檔。對這個檔執行findmnt -T,來源裝置應是第二塊碟。看系統碟沒有同步變滿
備份進行時觀察
df -h /。檔案若寫進/var/lib/vz/dump,根分割區會增長,表示工作還指著local。停掉這次工作,改儲存後再做。
保留份數要按第二塊碟的可用空間來設。份數留得很多、單份又接近整塊客體磁碟時,下一次備份會在寫到一半時失敗,並留下不完整的檔。失敗的那一份不要當作可以還原的副本。刪掉不完整檔後,把保留份數降到這塊碟放得下的數量,再跑一次成功的備份。
搬遷已經寫在 local-lvm 上的大磁碟時,先關機,再遷移到新的目錄儲存,最後開機核對。不要在客體仍在寫入時直接複製磁碟檔。備份檔則只在新儲存上重新產生,不必把系統碟舊目錄裡的歷史備份當作還在保護這塊新碟。
這台機器的磁碟就是這樣交付的
兩檔記憶體的預設磁碟相同:2 × 1TB NVMe,無硬體 RAID,碟獨立直連,可用容量按 2TB 計算。128GB 月租 $455,256GB 月租 $612。記憶體是 DDR4-3200 ECC RDIMM,不能加條。要 256GB 就選 256GB 那一檔。CPU 都是 AMD EPYC 7543P,32 核 64 執行緒。加一塊 2TB 後,128GB 這一檔的月租是 $539。加購塊數是 0、1、2,每塊 $84,先加進月租,再乘週期月數。季繳乘 3,不另打折。無安裝費。
機器部署在日本東京。宿主機用 SSH 登入,位址在控制台。磁碟配置改完之後,登入位址不會因此改變。Proxmox VE 8 和 9 在免費系統清單裡,第二塊碟和加購碟都要在系統裡自行掛載,映像不會把它們收成一塊硬體卷。
分碟完成的標誌只有一個:客體磁碟所在的區塊裝置和備份檔所在的區塊裝置不是同一個。儲存清單裡的名稱、備份工作的儲存 ID,以及 findmnt -T 的來源裝置,這三處一致,才算備份已經離開系統那塊 NVMe。