Sector size 是硬碟中最小儲存單位,通常會是 512 bytes 的大小,但是通常使用在 Storage 的儲存裝置上會使用 520 bytes 大小的 Sector size.怎麼多出這 8 bytes 是做什麼的??在 Linux 下有什麼工具是可以將 Sector size 做改變的.
多出來的那 8bytes 廠商可以依據自己需求來定義,大多是儲存錯誤檢查等資料.
要改變 Sector size 的工具在,RHEL 4 / 5 光碟中皆有提供, sg_format 主要是由套件 sg3_utils , sg3_utils_libs 所提供,如果找不到可以上官方網站來查詢.
Ubuntu 可以直接透過 #apt-get 去安裝
[root@benjr ~]# apt-get install sg3-utils
The Linux sg3_utils package http://sg.danny.cz/sg/sg3_utils.html
使用下面的指令加上參數就可以將 sdd 的 Sector size 改成 520 bytes 大小.
[root@benjr ~]# sg_format -–format -–size=520 /dev/sdd
格式化的時間會依據磁碟的大小來決定,但是記得一點當我們將 Sector size 由 512 bytes 改成 520 bytes 之後,Linux 就無法透過 fdisk , mkfs 的工具做存取.不過透過 dmesg 還是可以得知有新的硬碟加入系統中.
[root@benjr ~]# dmesg sd 0:0:7:0: Attached scsi disk sdc sd 0:0:7:0: Attached scsi generic sg2 type 0 mptsas: ioc0: attaching ssp device, channel 0, id 33, phy 2 Vendor: Fujitsu Model: MBE2147RC Rev: NQ00 Type: Direct-Access ANSI SCSI revision: 03 sdd : unsupported sector size 520.
Advanced Format(AF)
原本每個 sector 預設的 Block size 是 512 或 520-bytes,每一個sector 的 512bytes 其實還包含了(Gap 間隙、Sync/DAM 及 ECC 錯誤校).所以當硬碟越來越大時 Block size 卻還是相對的小會造成空間的浪費,而所謂的 Advanced Format(AF) 就將 Block size 由 512 bytes 提升為 4096 bytes.
http://en.wikipedia.org/wiki/Advanced_Format
http://www.wdc.com/wdproducts/library/WhitePapers/CHT/2579-771430.pdf
怎麼知道520 bytes?
但是通常使用在 Storage 的儲存裝置上會使用 520 bytes 大小的 Sector size。
這是從哪邊得知,我用很多儲存裝置,沒仔細去看過Sector size,更不知道Sector size怎麼去看。
要看 sector size 只要使用 fdisk -l ,如果你的硬碟格式是 512 bytes 系統會正確的顯示出來.Linux 無法處理 sector size 為 520 bytes.這時我們可以透過指令 #dmesg 來看.
一般的 storage 所指派給 initiator 端硬碟都是已經過 Target 端處理過所以看到都是 512 bytes 大小的.如果是用 JBOD 就有可能會看到 sector size 為 520 bytes 大小的.