nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Hard disk con settori da 4 KB (aka: maledetti WD WD10EARS)

Von: radarino (a.pasquanoreply@gmail.com) [Profil]
Datum: 17.05.2010 12:26
Message-ID: <4bf11979$1@news.x-privat.org>
Newsgroup: it.comp.os.linux.sys
Salve,
dopo giorni di indagini per capire quale fosse il motivo dell'estrema
lentezza dei 3 dischi SATA su un nuovo server Dell PowerEdge R510 (vedi
post precedenti), ho scoperto che la causa non è il controller (SAS
6/iR), ma sono i dischi (Western Digital WD10EARS)...

Questi dischi, infatti, come pare altri di nuova generazione, utilizzano
settori da 4 KB, pur "presentandosi" come normali dischi con settori da
512 B. Secondo quello che ho trovato in giro sul web:

http://www.osnews.com/story/22872/Linux_Not_Fully_Prepared_for_4096-Byte_Sector_Hard_Drive
s
http://lwn.net/Articles/322777/
http://www.tomshardware.com/reviews/wd-4k-sector,2554-3.html

la lentezza (se ho capito bene) è dovuta alle operazioni di
riallineamento che si rendono necessarie per adattare blocchi da 512 B
(scritte dal sistema operativo) in blocchi da 4 KB utilizzati dall'hard
disk. Ad esempio, partizionando un disco normalmente, il settore
iniziale sarà il 63 (quindi: 63 * 512B = 32256 B); ma utilizzando i
settori da 4 K questo punto sarà al settore 32256/4096 = 7.8; quindi non
direttamente accessibile dal disco.

La soluzione proposta da Western Digital, per i Windows che non
gestiscono i settori da 4 KB (XP e non so altri) consiste
nell'utilizzare un loro tool
(http://www.wdc.com/it/products/advancedformat/index.asp), oppure
l'apposito jumper presente sull'hard disk..

Mentre per Linux pare che sia sufficiente partizionare i dischi in modo
che l'inizio delle partizioni coincida con l'inizio di un settore (da
4KB)... Ecco cosa ho sperimentato personalmente:

tempo formattazione (ext2):

part. non allineata: 1:36
part. allineata: 0:26

tempo formattazione (ext3):

part. non allineata: 1:39
part. allineata: 0:28

scrittura file 1 GB (ext2):

part. non allineata: 0:11
part. allineata: 0:10

scrittura file 1 GB (ext3):

part. non allineata: 0:33
part. allineata: 0:13


Di seguito, i dettagli dei test:

--===== partizioni NON allineate =====--

1) Ho creato 2 partizioni, senza badare alla posizione; la situazione è
questa (output di fdisk in cilindri, e poi in settori)

(cilindri)
Device		Boot	Start 	End	 Blocks	           Id   System
/dev/sda1		1	  12925	 103820031    83  Linux
/dev/sda2		12926  25850 103820062+ 83  Linux

(settori)
Device          Boot    Start             End	            Blocks
Id    System
/dev/sda1		63	           207640124   103820031     83   Linux
/dev/sda2		207640125   415280249   103820062+  83   Linux


2) ho formattato le partizioni in ext2 (time mkfs.ext2 /dev/sda[12]),
ecco i tempi:

sda1 -> 1:40 (real)
sda2 -> 1:36 (real)

3) ho eseguito un test di scrittura  (dd if=/dev/zero of=/mnt/out
count24 bs=1M; sync); ecco i tempi medi su 3 esecuzioni:

sda1 -> 11.1 s
sda2 -> 11.4 s

4) ho formattato le partizioni in ext3 (time mkfs.ext3 /dev/sda[12]),
ecco i tempi:

sda1 -> 1:39 (real)
sda2 -> 1:39 (real)

5) ho eseguito un test di scrittura  (dd if=/dev/zero of=/mnt/out
count24 bs=1M; sync); ecco i tempi medi su 3 esecuzioni:

sda1 -> 33.2 s
sda2 -> 33.4 s

--===== partizioni allineate =====--

1) Ho creato 2 partizioni in modo che fossero allineate (partendo dalle
dimensioni delle partizioni precedenti); la situazione è questa (output
di fdisk in cilindri, e poi in settori)

(cilindri)
Device        Boot   Start    End        Blocks             Id   System
/dev/sda1            1          12925    103820030+ 83   Linux
/dev/sda2            12926  25850    103820061	  83   Linux

(settori)
Device        Boot	Start             End               Blocks
Id  System
/dev/sda1               64                 207640124   103820030+  83  Linux
/dev/sda2               207640128   415280249   103820061     83  Linux

2) ho formattato le partizioni in ext2 (time mkfs.ext2 /dev/sda[12]),
ecco i tempi:

sda1 -> 26 s (real)
sda2 -> 27 s (real)

3) ho eseguito un test di scrittura  (dd if=/dev/zero of=/mnt/out
count24 bs=1M; sync); ecco i tempi medi su 3 esecuzioni:

sda1 -> 10.2 s (real)
sda2 -> 10.3 s (real)

4) ho formattato le partizioni in ext3 (time mkfs.ext3 /dev/sda[12]),
ecco i tempi:

sda1 -> 28.1 s (real)
sda2 -> 28.2 s (real)

5) ho eseguito un test di scrittura  (dd if=/dev/zero of=/mnt/out
count24 bs=1M; sync); ecco i tempi medi su 3 esecuzioni:

sda1 -> 13.7 (real)
sda2 -> 13.6 (real)

[ Auf dieses Posting antworten ]

Antworten