Gå til innhold

Harddisk og Flash i Raid1 - Mulig?


Anbefalte innlegg

Jeg kom til å tenke på noe:

Er det mulig å kjøre en harddisk og en CompactFlash minnebrikke i Raid1 (speiling) ?

 

Jeg tenkte på det siden jeg ikke trenger noen stor partisjon til OS'et og siden 4GB compactflash bare koster fra ca 2300kr nå.

 

Jeg vet at man egentlig "bør" kjøre like enheter i Raid av ytelsemessige årsaker, og at det vil fungere "dårligere" dersom man kjører to ulike enheter i raid. Men er det noen som har testet kombinasjonen som jeg foreslår?

 

Grunnen til at jeg spør er fordi flash har sinnsylt mye bedre aksesstid enn selv de raskeste harddiskene men desverre har dårlig transferrate. Om man setter disse to enhetene i Raid1 så vil vel raidkontrolleren viderformidle den datastrømmen som kommer først av de to enhetene. Dvs. at man får nyte godt av begge fordelene samtidig (ekstremt lav aksesstid og høy transferrate).

 

Jeg er klar over at man må bruke en hardware-basert raidkontroller for OS, at jeg sansynligvis bare får utnyttet 4GB av hardisken og at dette kommer til å koste en del (2300 for CF-kortet + harddisk til ~500 + raidkontroller til ~500).

 

Det ville vært svært interresant å teste ut et slikt oppsett for å se om det fungerer og evt. hvor bra det fungerer.

Lenke til kommentar
Videoannonse
Annonse
Hva er vitsen med det? Hvorfor ikke bruke 2 flash kort i stedet?

To flash-kort i raid0 ville riktignok hadd svært bra aksesstid og dobbelt så høy transferrate som ett CF-kort. (~20MB/s i stedet for ~10MB/s) men man kommer ikke i nærheten av den transferraten som en harddisk kan gi: ca 40-70MB/s.

 

Hmm.. Man kunne sikkert brukt en drøss av flash-kort i Raid1 for å få opp transferrate, men da må man sikkert ha en dyr kontroller som takler så mange enheter i Raid1. (16-kanalers Raid-kontrollere finnes vel bare til PCI-X (66MHz/64bit) og disse kontrollerene er definitivt ikke billige. Samt at man må ha et rimelig dyrt serverhovedkort for å få PCI-X 66MHz/64bit.

Lenke til kommentar

Ja, det er mulig å sette harddisk og flash i raid. I hvert fall som software-basert raid under Linux. (Og ja, det er mulig å kjøre OS fra software-basert raid under Linux.)

 

Forøvrig har du kanskje interesse av denne siden. Den dreier seg hovedsakelig om et raid0 av floppydisker, men nederst på siden finner du også et raid av flashbrikker.

 

Hvis du virkeliggjør hdd/flash-raidet, så håper jeg du gir tilbakemelding her i denne tråden.

Lenke til kommentar

Takk for linken Mr. floppy. Svært interressant selv om det er litt uakutellt å kjøre OS fra floppyer i Raid0. Men det med flash var litt mer interresant. Det sto dessverre ingen ytelsemålinger (aksesstid og transferrate) på noen av løsningene, men jeg regner med det var ganske tregt siden det går gjennom USB og HUB'er.

 

Det var interresant å høre at det går an å kjøre software Raid0 på OS-disken i Linux. (Hvorfor i all verden bruker ikke jeg linux :hmm: når det er så mye fordeler med det)

 

Jeg kommer neppe til å realisere det med det første men får se an om kontoen plutselig får et fint hopp en dag. Spørsmålet var mest ment som interresse for om det er mulig og evt hvordan ytelsen vil bli.

Lenke til kommentar

Ja, linken var ikke helt on-topic, så den var mer ment som en kuriositet. Det hadde dog vært artig å sett det 125 x floppydisk-raidet han har planer om å lage... :)

 

Men tilbake til ditt hdd/flash-oppsett... Jeg antar at når du skal lese fra raidet, så vil ytelsen være avhengig av filstørrelsen. Små filer (veldig små?) vil kunne dra nytte av flashbrikkens raske aksesstid og dermed leses raskt. Store filer må ta til takke med harddiskens overføringshastighet (sånn cirka).

 

Men huff, jeg tør ikke tenke på ytelsen når du skal skrive til raidet... Husk at med raid-1 så må alt lagres på flashbrikken også... :nei:

 

Forresten... dette er bare mine (kanskje ikke helt) kvalifiserte gjetninger.

 

Hmm... egentlig har jeg det jeg trenger for å utføre eksperimentet - en linuxboks, en minnebrikkeleser og et eldgammelt 16MB SmartMedia-kort... næh, tror ikke jeg gidder det, gitt. :no:

 

Siden du tydeligvis ikke har allergier mot M$-propaganda heller, så kan du jo ta en kikk på hybride harddisker - harddisker med innebygget flash-buffer.

Lenke til kommentar

Du leser mine tanker :p

For å ta det kronologisk:

 

125x Floppy i Raid1 kan bli spennende ja. Jeg frykter dog at det kan bli litt problematisk om en eller flere disketter er litt slitne.. Da blir det fort voldsomt med feilsøking. Også lurer jeg på om han får til å koble til så mange floppyer til USB'en og hubbene hans. (USB leverer bare max 2,5W per port, noe osm også skal drive hele diskettstasjonene. 125stk på 5x2,5W tror jeg kan bli vanskelig, om han ikke har power på HUB'ene. Det samme gjelder båndbredden. USB liker ikke å dele båndbredde med så vendlig mange enheter samtidig (pga styring av pakker, buffring osv)

 

Det er tanken min ja. Ekstrem leseytelse på små filer (typisk OS-bruk, og en del Adobe-programvare). Store filer vil nok lese rike raskt som før, mens skriveytelsen kan bli en kjedelig affære både for små og store filer. Men jeg tror ikke det sistnevnte skal bli så stort problem for det blir neppe i nærheten av så mye skriving som lesing.

 

16MB hørtes lite ut. Jeg tror ikke de distroene som er så små egner seg til å måle ytelse med eller er særlig representative for større OS.

 

Det var akkurat denne pressemeldinen fra Microsoft og Samsung jeg hadde i tankene da jeg tenkte ut eksperimentet, men det ser ut til å kun være kompatibelt med Windows Longhorn og bruke en annen teknikk (OS'et velger selv hvilke filer som skal liggehvor. Altså ingen Raid1 som gir dårlig skriveytelse på store filer, men strategisk plassering av alle filer under en viss størrelse på flash og resten på harddisken. Dessverre virket denne løsningen lite fleksibel siden man ikke kan velge flash-enhet selv (størrelse osv) og fordi man kun kan kjøre Windows Longhorn, og fordi diskene og OS'et neppe lanseres før om ganske lenge.

Lenke til kommentar

Mine kunnskaper om flashbrikkers indre virkemåte er... nokså mangelfulle. Jeg har også forenklet litt på situasjonen, så ta de følgende beregningene med en klype salt. Når det er sagt, her er et tankeeksperiment:

 

Flashbrikken har bare et fortrinn - lav aksesstid. Det vil si at når harddiskens lesehode er "på riktig sted" eller i "umiddelbar" nærhet, så er harddisken raskest. Flashbrikken vil være raskest når man skal ha tak i noe "på et helt annet sted" i filsystemet - typisk når en ny fil skal lastes (eller et ekstremt fragmentert filsystem).

 

Hvis vi antar at differansen i gjennomsnittlig aksesstid mellom harddisk og flashbrikke er 5ms, og at overføringshastigheten til flashbrikken er 10MB/s, så vil det si at flashbrikken rekker å overføre 0.005s * 10240kB/s ~= 50kB før harddisken starter overføringen.

 

Slik vil flashbrikken kunne gi noen raske kB hver gang harddiskens lesehode må ut på tur.

 

Inkludert i disse 50kB er da diverse overhead til filsystemet.

 

Med de eksempelverdiene som ble brukt i dette eksempelet sier det seg selv at hvis filsystemets blokkstørrelse er på 64kB eller mer, så vil det føre til at flashbrikken aldri blir ferdig først. Altså ingen positiv effekt.

 

Den vanligste blokkstørrelsen er 4kB i et ext3-filsystem (Linux). Jeg er usikker på hva som er vanlig i NTFS. Men for å utnytte flashbrikkens fordeler bør blokkstørrelsen være så liten som mulig - dog ikke så liten at filsystemets overhead blir for stort.

 

Forøvrig er det ikke sikkert det er så ille å lagre små filer på et slikt raid. Da tenker jeg på at OSet normalt har et diskbuffer som bør kunne redde brukeren fra å oppleve de lange lagringstidene i et slikt raid - i hvert fall så lenge det ikke skrives veldig mye til raidet på kort tid.

 

Lagre store filer derimot... :thumbdown:

 

Ble du noe klokere?

Lenke til kommentar

Nå er jeg ikke RAID-ekspert, men mener å huske at ved speiling, så skal dataene på de to diskene verifiseres identisk ved lesing, og skrives i parallell. Det er mulig dette er avhengig av hvilken kontroller som brukes, men hvis dette er tilfelle, så vil en slik løsning uansett gjøre att alt vil fungere ved den tregeste hastigheten.

 

Edit: Er ikke en kontroller med stor cache en bedre idè, hvis det skal legges så mye penger i en rask løsning?

Endret av sofTest
Lenke til kommentar

sofTest: Det finnes raid-kontrollere som gjør nettopp det du beskriver, nemlig leser begge diskene for å verifisere alle data. Men det er ikke nødvendig, for eksempel kan software-basert raid under Linux optimaliseres til kun å lese fra den disken som "er nærmest" de aktuelle dataene.

 

Joda, jeg kan godt tenke meg at det vil være mer hensiktsmessig å investere i mer ram til datamaskinen (og bruke et eller annet program som kan forhåndsbufre de aktuelle filene) fremfor å bruke et slikt hdd/flash-raid. Men det var dette med eksperimenter, da. Trangen etter å få vite... kan ikke tenke på penger da, vet du :)

Lenke til kommentar

Mr. floppy, jeg har ikke tid til å skrive nå (holder på med middagen) men jeg bare si litt raskt tallene du brukte i beregningen din:

 

Vanlige 7200rpm-Harddisker har gjennomsnittlig ca 14ms aksesstid (minimum ca 2 og maks ca 22). Flash-brikker har ca 0,1ms aksesstid. Så det er en ganske formidabel forbedring på små filer.

 

Transferrate er normalt ca 40-70 MB/s for nye harddisker (innerst: ca 40 og ytterst ca 70) og rundt 5-20 MB/s for flash avhengig av hvilken brikke man velger. (Konstant hastighet på hele brikken)

 

Kommer tilbake med mer etter middag :)

 

Edit: La til min og maks aksesstid på harddisker.

Endret av Simen1
Lenke til kommentar

Du kan godt kjøre RAID 1 som software løsning i Windows også, ikke Windows XP, men i Windows server 2003 el. RAID 1 er faktisk den eneste software RAID løsningen som kan brukes også hvis en kjører det på OS'et (Windows da).

Lenke til kommentar
Joda, jeg kan godt tenke meg at det vil være mer hensiktsmessig å investere i mer ram til datamaskinen (og bruke et eller annet program som kan forhåndsbufre de aktuelle filene) fremfor å bruke et slikt hdd/flash-raid. Men det var dette med eksperimenter, da. Trangen etter å få vite... kan ikke tenke på penger da, vet du :)

Tenkte mer på en kontroller tilsvarende denne (eller bedre). Opptil 256 MB cache på kontrolleren burde gjøre det meste som de eventuelle fordelene hdd/flash-RAID har. Eventuelt konfigurere en tilsvarende kontroller med kun flash-kort i stripe, slik at lesing blir fordelt på flere kort for høyere overføringshastighet, og det meste av cachen konfigurert til skriving. Det siste burde kjøre ring rundt en hdd/flash-løsning.

Lenke til kommentar

Xoop: Takk for infoen om at Software Raid1 (speiling) fungerer på Windows 2003. (Merkelig at det ikke gjelder Win 2000/XP som også har software Raid innebygget for bruk på ikk-OS-disker) Men siden vi er inne på det: Kanskje Windows XP x64 Edition (Den for AMD64) kan kjøre OS'et på et Software Raid1-array siden dette OS'et er basert på Windows server 2003 ?

 

Softest: Takk for forsalget. En raid-kontroller med ram vil nok virke brukbart med harddisker men bufferen vil kun bufre filer som nettopp har blitt brukt og dermed ikke føre til f.eks raskere oppstart av windows eller programmer.

 

Det du sier om å ha mange CF-kort i Raid0 vil definitivt gi god ytelse. Den kontolleren til 1400kr som du linker til støtter hele 8 CF-kort så her bør det være muligheter for både høy transfer (~80 MB/s), lav aksesstid (~0,1ms) og høy kapasitet (opp til 32GB OS-partisjon ved bruk av bare 4GB-kort) Men det er nok mer aktuellt med f.eks 8x512MB = ca 3800kr inkludert Raid-kontrolleren. Her vil man få god ytelse på både små og store filer.

Lenke til kommentar
<...>

Med de eksempelverdiene som ble brukt i dette eksempelet sier det seg selv at hvis filsystemets blokkstørrelse er på 64kB eller mer, så vil det føre til at flashbrikken aldri blir ferdig først. Altså ingen positiv effekt.

<...>

Den vanligste blokkstørrelsen er 4kB i et ext3-filsystem (Linux). Jeg er usikker på hva som er vanlig i NTFS. Men for å utnytte flashbrikkens fordeler bør blokkstørrelsen være så liten som mulig - dog ikke så liten at filsystemets overhead blir for stort.

<...>

Jeg har ikke helt tiltro til de verdiene du brukte i eksemplet. Differansen i aksesstid er nok større enn som så. Harddisker (7200rpm) har en minimum aksesstid på ca 1-2 ms (dersom hodet ligger på riktig spor og på riktig sted langs sporet), en gjennomsnittlig aksesstid på ca 14ms og en maksimal aksesstid (full stroke + maks uheldig rotational latency) på ca 23ms. Til sammenligning har flash alltid samme aksesstid på ca 0,1ms. (spesifikasjon hentet fra samsungs standard flash-brikker).

 

Forøvrig så er standard clusterstørrelse på NTFS 4kB, altså samme som på ext3. Jo mindre clusterstørrelse jo mindre blir overheaden. (ikke omvendt) På FAT32 kan clusterstørrelse fort bli 32kB og dermed skape mer overhead. "Blokkstørrelse" er noe som hører til Raid0 og 5, men ikke til Raid1.

 

Edit: Jeg tok et lite søk på C: (WinXP OS-partisjon med programmer 2 mnd siden reinnstallasjon) og fant ut at jeg har 30.000 filer under 150kB og 4400 filer over 150kB. Totalt er det brukt 9GB på partisjonen så gjennomsnittlig filstørrelse er ca 260kB.

 

Jeg slang opp et lite regneark på leseytelsen. Regnearket viser at krysningspunktet med hensyn på ytelse ligger på omentrent 150kB og at CF er opp til 30 ganger raskere på de minste filene (4kB inkludert overhead) og at harddisk er opp til ca 5 ganger raskere på de største filene (over ca 8MB). NB. Legg merke til at noen av aksene er logaritmiske.

post-62-1116369330_thumb.jpg

Endret av Simen1
Lenke til kommentar
Softest: Takk for forsalget. En raid-kontroller med ram vil nok virke brukbart med harddisker men bufferen vil kun bufre filer som nettopp har blitt brukt og dermed ikke føre til f.eks raskere oppstart av windows eller programmer.
Tja, det kommer jo an på hvor god cache prefetch'en er. Catche prefetch er spesielt effektiv ved sekvensiell lesing, som ved oppstart av Windows og programmer.

 

Den kontolleren til 1400kr som du linker til støtter hele 8 CF-kort
Nei, den støtter kun fire CF-kort, et lagringsmedium per kanal. Det finnes dog en modell SX6000 som støtter seks lagringsmedier. I billigserien, finnes det kontrollere som støtter to lagringsmedier per kanal, men de har nok ikke mulighet for cache.
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...