Skrivet av MsSmith:
@Paddanx: Hmm vill du förklara det där mer ingående? Nyheter för mig Vad har sektorstorleken med det att göra? När vi diskuterade det här för tio år sedan handlade det förstås om mekaniska diskar, men då pratades det mycket mer om att söktiden ökade och man fick i princip sämre resultat i operativsystemet pga detta medan man tjänade på det om man arbetar med större filer. Raid1 på mekaniska diskar är ju det snabbaste för ett operativsystem. Men detta är utdaterad information idag.
Hur mycket det påverkar just RAID 0 är kanske en annan debatt, men jag minns att med andra RAID (5-6 och liknande) så påverkar allignment av sektorerna prestandan rätt mycket.
https://forums.anandtech.com/threads/raid-array-stripe-alignm...
https://technet.microsoft.com/en-us/library/dd758814(v=sql.10...
Och även om detta i grunden gäller HDD, så är SSD verkligen påverkade av detta. Om 4k sektorn är fel-allignad så kommer prestandan dyka, speciellt i skrivning. Du kommer även öka slitaget på SDDn då du skriver 2 sektorer istället för 1. Så SSDer är flera gånger mer påverkade av detta än HDD är. Du kan testa göra en missalignad 4k sektor på en SSD och testa prestandan om du inte tror mig... det dödar prestandan väldigt fort.
Så om du tänker 4k sektorer med 3 SSDer, blir 12kB "sektor"... vilket är icke allignat. Om du nu gör 16kB RAID blocks, så kommer SSDna att få 16k+16k+16k blocks... vilket gör att när du läser 32kB kommer bara 2 SSDer jobba, och läser du 64kB kommer alla 3 jobba men ena måste hämta 2 sektorer och kommer blir flaskhals och sänka prestandan. Samma problem blir med 5 diskar...
Om du gör 4kB stripe (minsta) med 5 diskar, så får du samma problem med 8kB, 16kB i att inte alla diskar används och med 32kB, 64kB osv problem med att en eller fler diskar jobbar mer än andra.
Gör du säg stor 256kB stripe, så får du bara en SSD på allt under 256kB, och 512kB blir bara 2 diskar, 1024kB blir 4 av 5 och allt över kommer lasta ojämt på diskarnas skrivning/läsning.
Genom att göra det till en jämn allignment, där säg 4 diskar används. 16kB stripe ger då 64kB jämnt på alla SSDerna. 128-256-1024 och allt över kommer jämnt att fördelas på samtliga SSDer, och svarstiden är som bäst, samt prestandan maximal. Så 2-4-8-16 fungerar bäst, så att alla SSDer eller HDD får jämn fördelning av last och sektorer. Det kan tom bli bättre prestandan med 4 än 5, om en SSD är upptagen mer än alla andra, och blir flaskhalsen.
EDIT: Notera att om du kör tex RAID 5/6 så är det "data diskarna" som ska vara multipel av 2-4-8-16, och sen lägger du till ev partiet-diskarna. Så tex RAID 5 ska ha 3-5-9, RAID 6 bör ha 4-6-10 och RAID med 3 paritet (RAID-Z3 tex) bör ha 5-7-11 osv. Då blir sektorerna korrekt på det som delas, och paritet disken "följer med" denna stripe storlek bara.