Partition

強制 fdisk 使用扇區 63 邊界是否安全?

  • January 4, 2022

出於某種原因,我的 VPS(執行 Debian 8)的第一個分區與扇區 63(而不是 2048)對齊

Model: VMware Virtual disk (scsi)
Disk /dev/sda: 314572800s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start      End         Size        Type     File system     Flags
1      63s        79971569s   79971507s   primary  ext4            boot
2      79971570s  83875364s   3903795s    primary  linux-swap(v1)
       83875365s  314572799s  230697435s           Free Space

現在我想調整分區大小以分配可用空間,不幸fdisk的是,第一個扇區從 2048 開始。但正如我在這裡讀到的,可以使用此命令強制fdisk從 63 開始。

fdisk -c=dos -u=cylinders /dev/sda

這有多安全?此外,由於這種方法已被棄用,這是否會損害我的 VPS 的性能?

擴展大小時,由於它涉及刪除分區,因此您必須以它開始的任何數字重新創建它。

否則充其量不會被辨識,最壞的情況可能是數據損壞。

如果該 VPS 是用於創建其他 VM 的模板,我會不厭其煩地重新創建/移動開頭 * 和 * 數據/扇區到扇區 2048。

因為它是一個虛擬機,如果你確實想移動分區,我不會完全移動它,我會在旁邊創建一個分區,複製數據並使用複制分區啟動。這就是使用虛擬機的美妙之處,您有更多的空間來測試事物。

PS。至於我個人的觀點,性能上的微小提升並不值得將其從 63 扇區移出。我會等待機器退役,它遲早會發生。

至於分區對齊:

您希望分區與 4096 字節邊界對齊。這樣一來,實際扇區肯定會與虛擬扇區保持一致,而 VMWare 將使您的管理程序/虛擬機從硬體中提取更好的性能。

要了解為什麼未對齊的分區是一個性能問題,請參閱 purestorage.com 的這張圖片:

未對齊

查閱業內儲存專家的白皮書,以更好地了解目前的最佳實踐

來自 Microsoft 和 Linux 分銷商(如 Red Hat)的現代供應商支持的作業系統 (OS) 不再需要調整以將文件系統分區與虛擬環境中的底層儲存系統的塊對齊。

(例如“保留預設設置”)

但是,要繼續回答原始問題,請訪問一些連結的白皮書:

將分區對齊到 VMDK 和 LUN 中的 4K 邊界是推薦的最佳實踐

並且:

在每個設備的輸出中,將 start 乘以扇區大小(在 fdisk 輸出中通常為 512),然後將其除以 4096。如果結果是整數(整數),則為 ALIGNED,否則為 MISALIGNED .

因此,請檢查您關於在第 63 扇區創建分區的問題:

512 * 63 / 4096 = 7.875 => 錯位

將來我可能會使用並保留預設值 2048。讓我們檢查一下:

512 * 2048 / 4096 = 156 => 對齊

參考:

常見問題解答:VMware vSphere、其他虛擬環境和 NetApp 儲存系統的訪客 VM 文件系統分區/磁碟對齊

如何在 VMware vSphere 5.x 環境中更正來賓 VM 數據分區對齊

如何在 VMWare ESX 中對齊塊

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