阿旺的 Linux 開竅手冊





基礎篇
進階篇
補腦篇
版權所有,引用請註明出處

補腦篇

Chapter 1 : 先進格式化硬碟


1. 先進格式化硬碟
       512e 模擬傳統格式硬碟
       4Kn 原生 4K 磁區硬碟
       先進格式化硬碟的 partition 對齊
       識別先進格式化硬碟
1.1 分割先進格式化硬碟
           parted 自動對齊分割
           手動 parted 對齊分割
           用 Windows 分割 partition





















1.0 先進格式化硬碟
不久前上班用的 Windows 7 硬碟運轉時一直嘎嘎作響好像快掛了,為了安心買了顆新硬碟用 Norton GHOST 把舊硬碟的資料複製到新硬碟,原是簡單的工作想不到是惡夢的開始。

新硬碟跑起來比烏龜還慢,連關個機有時就耗十幾分鐘,怎可能新硬碟會是石器時代的速度?龜速的 PC 害的我要天天加班才能完成工作,再加上為了調查硬碟烏龜的原因一連幾天沒睡飽。

經好幾天的調查才發現目前買的硬碟大多為〝先進格式化硬碟〞(Advanced Format , AF), partition 如沒對齊先進格式化硬碟的物理磁區(Physical Sector)會嚴重拖累硬碟的效能。Windows 會遇到先進格式化硬碟的 Partition 對齊問題,同理 Linux 也會。

〝先進格式化硬碟〞可在相同的磁片密度和不增加硬體成本下增加硬碟約 10% 的容量,在 2011 年開始有部分硬碟廠商嘗試性的推出先進格式化硬碟,因加量不加價故到目前(2014)買到的硬碟 90% 都是先進格式化硬碟。

2011 年以後買的硬碟(包括 SSD)有可能是先進格式化硬碟。

雖先進格式化硬碟有容量上的優勢,但如不知所以然 partition 亂規劃可會大大影響硬碟的速度,了解先進格式化硬碟之前要先了解傳統格式的硬碟。

傳統格式的硬碟一個磁區(sector)為 512 Byte + 40 Byte 的校正碼 ECC (Error Correcting Code )如下圖


注意觀察傳統格式的硬碟會發現一個磁區 512 Byte 約有 8% 浪費在 ECC,於是就有人想到把磁區加大,但相對的 ECC 的增加有限可更有效的利用磁碟空間。

先進格式化的硬碟一個磁區不再局限 512 Byte,而定義出 1K/2K 和 4K磁區的先進化格式,但目前三大主流的 filesystem 如 Linux 的 ext3,Windows 的 NTFS 和 Apple 的 HFS Plus 一個 cluster 或 block 皆預設為 4K,所以如一個磁區也是 4K 剛好可填滿和最有效率所以先進格式化的硬碟演化到最後只有 4K 磁區的格式。

以 4K (4096 Byte) sector 的先進格式化硬碟為例,如下圖所示一個磁區為 4K+ 100 Byte 的 ECC 光用〝 看 〞的就知道比傳統 512 Byte 一個磁區的硬碟更能有效利用空間。





^ back on top ^





1.1 分割先進格式化硬碟
分割先進格式化硬碟是讓 partition 的起始 sector 對齊先進格式化硬碟的 4k Physical Sector, 特別是 512e 的硬碟,因如分割不當不但影響速度甚至會導致硬碟早衰。

Linux parted 對分割先進格式化硬碟比 fdisk 有更好的支援,但 Linux Kernel < v2.6.31 無法識別先進格式化硬碟,如 Linux Kernel 版本為 2.6.31 或以後的版本且 parted 版本 2.1 以上,不但可正確識別先進格式化硬碟,分割 partition 時也會自動對齊。

識別 Linux Kernel 和 parted 版本可如下:

# uname -r ←識別 Kernel 版本
# parted -v ←識別 parted 版本

常用會自動對齊先進格式化硬碟的工具和版本如下:

Kernel ≧2.6.31
partition parted ≧2.1
RAID mdadm ≧2.15
LVM lvm2 ≧2.15

被 Microsoft 安樂死的 Windows XP 和較早版本的 Linux (Kernel < 2.6.31),分割 partition 時無法自動對齊先進格式化硬碟,如有使用者用這些古董 OS 又老覺得硬碟跑起來很慢,可要好好檢查看看。

解決方法為用有支援先進格式化硬碟的 Linux 版本用 parted 自動對齊分割手動 parted 對齊分割 或用 Winodws Vista 以上版本來Windows 分割 partition ,分割好 partition 後再來安裝這些古董級的 OS。


^ back on top ^











www.reliablecounter.com
digital mastering

[註1.0] 參考來源 http://support.microsoft.com/kb/2510009

[註1.1] 可參考 redhat 有關 parted 自動對齊說明 http://people.redhat.com/msnitzer/docs/io-limits.txt
或 HP 的說明 http://h10025.www1.hp.com/ewfrf/wc/document?cc=uk&lc=en&dlc=en&docname=c03479326

[註1.1a] 參考來源:Vista's New Partitioning Rules http://www.multibooters.co.uk/partitions.html