View Full Version : RAID chiarezza... quello che le guide non dicono...
Alessio73
25-11-2007, 02:29
vorrei capire meglio il discorso Raid che non mi è ancora chiarissimo...
(postato nel thread della Mainboard P5B deluxe senza risposta aimè)
mi affido a questa area specifica del forum per avere informazioni, mi vanno benissimo anche link a risorse o link a feature di programmi di partizione che gestiscano l'allineamento dei cluster per il raid.
questa knowledge base spiega il problema:
kb: http://support.microsoft.com/?scid=k...9491&x=19&y=12
premessa:
ho da poco cambiato la P5B Deluxe, con la quale sono stato benissimo, per passare ad una Maximus Formula, sono stato incentivato dalla cpu q6600 step g0 che sulla p5b andava benissimo, oltre i 3.2Ghz senza fare grinze alcune, vedendo dei test ho visto che l'x38 e il p35 hanno performance leggermente superiori, niente di che ovvio ma siccome un amico si era innamorato del mio pc e lo ha voluto a tutti i costi, ho dovuto comprare al volo una nuova main e mi sono orientato sul nuovo chipset.
Ancora non ho fatto test comparativi per mancanza di tempo, se vi interessa posso solo dirvi che ho preso il raid che avevo fatto prima sulla p5b deluxe con ich8r e l'ho passato sulla nuova con ich9r, e tutto ha funzionato subito senza problemi, compreso il sistema operativo, anche se ovviamente ha riconosciuto cambiamenti, non ha dato blocchi o crash e dopo il riavvio ha funzionato senza intoppi, anche se lo formattero a breve.
tornando al Raid:
ho dei dubbi che vorrei chiarire:
quanto riportato non è chiaro, se io creo due array raid 0 uno da 40gb e l'altro con il restante (per ottimizzare l'access time nella partizione più piccola) avrò comunque il calo prestazionale descritto in questo thread x la soluzione 2 array raid 0 + 1.
Dubbio:
L'accesso contemporaneo allo stesso hd da più applicazioni è comunque fonte di decadimento prestazionale, sia che i dischi vengano partizionati da sistema operativo, sia che i dischi vengano divisi in array distinti dal controller ?
esempio ho due dischi da 160GB
se creo un raid 0 da 320GB e poi 2 partizioni una da 60GB l'altra da 260GB ho lo stesso calo di prestazioni del disco se i dati vengono reperiti simultaneamente dalle due partizioni, questo calo è paragonabile ad un disco molto frammentato, dove la testina compie molti balsi per reperire le informazioni, così facendo se le due partizioni sono comunque poco frammentate i salti che compierà la testina saranno contenuti, e comunque, se il disco è pieno, e si leggono dati immagazzinati all'inizio ed alla fine contemporaneamente questo decadimento prestazionale è indipendente dal fatto che sia raid 0 o raid 1 o 0+1, la strada che la testina percorre è la stessa in caso di raid 1, ed è la metà in caso di raid 0, perchè la densità dei dati è doppia.
Quindi dubbio finale, che io divida i dischi in partizioni, oppure in 2 array distinti l'accesso simultaneo a dati posizionati fisicamente in settori distanti, è più lento in egual misura?
spero di essere stato chiaro il più possibile!!!
altro dubbio che mi ha messo un mio amico maledetto:
ovvero decadimento prestazioni per partizioni non allineate, c'è una knowlede base, purtroppo il diskpart che ho io non accetta il parametro align,
kb: http://support.microsoft.com/?scid=k...9491&x=19&y=12
Quindi il secondo dubbio, come posso verificare/eliminare il problema dell'allineamento delle partizioni, se uso gparted od altri tool non windows c'è modo di essere sicuri di creare partizioni allineate??
CONSIDERAZIONE FINALE (correggetemi se sbaglio)
Partizionare un disco porta a decadimenti prestazionali maggiori per via dei salti della testina solo in caso di spostamenti tra le due partizioni, che sono collocate in settori differenti e quindi distanti tra loro, se il disco è occupato al 20% della sua capacità in caso di partizione unica il 20% da 0 a 20 è immagazzinato in settori adiacenti seppur frammentati ma sempre più vicini, nel caso di 2 partizioni occupate da 10% e 10% i salti della testina in caso di lettura simultanea sono più ampi a prescindere dal livello di frammentazione.
quindi partizionare in due un disco, per usarlo ad esempio:
partizione 1 sistema operativo
partizione 2 contenuti multimediali
è controproducente soprattutto per i dati letti in streaming, se leggo un mp3 che risiede a fine disco, e apro un applicazione che risiede all'inizio il salto della testina è ampio, a prescindere da quanto le due partizioni siano piene,
se invece uso solo la prima partizione anche se piena il salto della testina è contenuto nello spazio della partizione.
Partizionando un disco quindi lo frammento di default !!! e costringo in caso di accesso simultaneo a 2 partizioni la testina ad un lavoro maggiore con decadimento prestazionale e stress maggiore.
questo indipendentemente dal tipo di raid, se i dati risiedono in aree distanti del disco i tempi di accesso aumentano, nel caso di accesso appunto non sequenziale. anche se ho letto che alcuni dischi sotto richieste multiple sono meno performanti di altri...
1. Sono giuste le mie considerazioni ?
2. Qualcuno è capace ad allineare le partizioni !!! il diskpart di xp pro sp2 non digerisce il comando align, non ho provato perchè non ho windows server 2003
3. per il caricamento specifico di videogames che stripe size mi consigliate di mettere, visto che tutte le applicazioni le apro in tempi brevissimi, un boost prestazionale con alcuni game pesanti non mi dispiacerebbe.
AIUTO!!!! :doh:
Scusami, ma non ce la faccio a leggere tutto :)
Da una lettura sommaria, questi link dovrebbero fare al caso tuo:
http://www.hwupgrade.it/forum/showthread.php?t=623918
http://www.hwupgrade.it/articoli/storage/1212/hard-disk-verita-su-partizioni-e-prestazioni_index.html
Alessio73
25-11-2007, 15:41
Scusami, ma non ce la faccio a leggere tutto :)
Da una lettura sommaria, questi link dovrebbero fare al caso tuo:
http://www.hwupgrade.it/forum/showthread.php?t=623918
http://www.hwupgrade.it/articoli/storage/1212/hard-disk-verita-su-partizioni-e-prestazioni_index.html
Avevo già letto la guida al raid e alle partizioni hehehe non sono un pigro anzi cerco e leggo tantissimo, se le risposte alle mie domande sono già state scritte evito di postare, purtroppo però leggendo quella guida non trovo le risposte alle mie domande :)
effettivamente ho scritto troppo sintetizzo:
1. E' possibile che le partizioni create in un array 0 siano disallineate e per questo le prestazioni sono castrate, potrebbero essere magiori con partizioni allineate, la Knwledge Base di microsoft su Diskpart non riguarda la versione di windows xp pro sp2 perchè il parametro align non è supportato, immagino sia
quindi una versione per i vari windows server.
.........
performance may slow when you use a hardware-based redundant array of independent disks (RAID) or a software-based RAID.
CAUSE
This issue may occur if the starting location of the partition is not aligned with a stripe unit boundary in the disk partition that is created on the RAID.
link completo: http://support.microsoft.com/?scid=kb%3Ben-us%3B929491&x=19&y=12
la guida scritta da MM dice che il partizionamento dei dischi RAID è uguale al singolo disco e non parla di allineamento....
domanda numero 2:
Qualcuno voi per esperienza può consigliarmi un valore di Stripe size, per sistema operativo, e un valore per i videogame.
ad esempio
32K x sistema
64K x videogame
capisco che non esiste una legge o una certezza infatti chiedo un parere se qualcuno ha fatto qualche prova al riguardo.
spero di essere stato più chiaro...
ti ringrazio comunque kewell per il tentativo di aiuto ;)
UtenteSospeso
25-11-2007, 16:45
Domanda N°1 :
L'array RAID 0 non si disallinea, se si rompe un disco sei fregato.
Domanda N°2 :
Stai facendo troppa "falegnameria" mentale :D , ti sfiderei a capire quale di 2 array avrebbe uno stripe diverso da un altro.
Alessio73
25-11-2007, 18:46
Domanda N°1 :
L'array RAID 0 non si disallinea, se si rompe un disco sei fregato.
Domanda N°2 :
Stai facendo troppa "falegnameria" mentale :D , ti sfiderei a capire quale di 2 array avrebbe uno stripe diverso da un altro.
risposta n.1
non hai capito la mia domanda
le partizioni sono disalineate non i dischi raid,
a ho visto che questo accade anche per partizioni non raid e sto leggendo delle guide in inglese, purtroppo per tutte la soluzione è usare diskpar (win 2000 server) o diskpart windows 2003 server.
questa spiega perfettamente la cosa, quello che io chiedo è un alternativa cioè non possedendo windows server vorrei sapere quale software di partizionamento gestisca l'offset e riesca a creare partizioni allineate.
ecco qui la guida che spiega il mio problema:
link:
http://www.msexchange.org/tutorials/Disk-Geometry.html
domanda n.2 falegnameria mentale:
la velocità di trasferimento dati degli hard disk è il maggior collo di bottiglia in un sistema moderno, cercare di impostare parametri corretti possono migliorare un pò le cose, siccome mi piace ottimizzare, ho chiesto pareri se qualcuno ha già fatto dei test.
comunque ho analizzato un pò di giochi che ho installato e i file sono prevalentemente di grosse dimenzioni video/audio etc. quindi penso che adottero uno stripe size di 128k e un cluster size di 32k per la partizione dei giochi.
P.s. quando non capisco le domande io evito di rispondere hehehe :Prrr:
UtenteSospeso
25-11-2007, 19:13
Avevo già letto la guida al raid e alle partizioni hehehe non sono un pigro anzi cerco e leggo tantissimo, se le risposte alle mie domande sono già state scritte evito di postare, purtroppo però leggendo quella guida non trovo le risposte alle mie domande :)
effettivamente ho scritto troppo sintetizzo:
1. E' possibile che le partizioni create in un array 0 siano disallineate e per questo le prestazioni sono castrate, potrebbero essere magiori con partizioni allineate, la Knwledge Base di microsoft su Diskpart non riguarda la versione di windows xp pro sp2 perchè il parametro align non è supportato, immagino sia
quindi una versione per i vari windows server.
.........
performance may slow when you use a hardware-based redundant array of independent disks (RAID) or a software-based RAID.
CAUSE
This issue may occur if the starting location of the partition is not aligned with a stripe unit boundary in the disk partition that is created on the RAID.
link completo: http://support.microsoft.com/?scid=kb%3Ben-us%3B929491&x=19&y=12
la guida scritta da MM dice che il partizionamento dei dischi RAID è uguale al singolo disco e non parla di allineamento....
domanda numero 2:
Qualcuno voi per esperienza può consigliarmi un valore di Stripe size, per sistema operativo, e un valore per i videogame.
ad esempio
32K x sistema
64K x videogame
capisco che non esiste una legge o una certezza infatti chiedo un parere se qualcuno ha fatto qualche prova al riguardo.
spero di essere stato più chiaro...
ti ringrazio comunque kewell per il tentativo di aiuto ;)
Domanda 1:
Diseallineate con cosa ? L'array 0 per quel che fai capire è un RAID0, e la guida di MM giustamente non parla di allineameneto, il raid0 non si allinea a niente.
Tu cosa vuoi allineare non è molto chiaro.
Domanda 2:
Il collo di bottiglia già lo si allarga abbondantemente con il RAID0, lo stripe più piccolo o + grande non è un fattore determinante rispetto al RAID0 stesso.
Lo stripe è la quantità di byte che va ad ogni uno dei dischi in RAID0, se è 32k alterna 32k ad uno e 32k all'altro, se 64k sono 64k ad uno e i successivi 64k all'altro .
Il tuo videogioco da caricare in RAID0 carica parecchi megabyte ogni volta, non è importante lo stripe se piccolo o grande.
Sei sicuro di aver capito bene cosa vuoi chiedere :Prrr: :D :Prrr:
Alessio73
26-11-2007, 01:07
la le dicono tutti le bestemmie e io.... ci andrò!
Domanda 1:
Tu cosa vuoi allineare non è molto chiaro.
[...]
Sei sicuro di aver capito bene cosa vuoi chiedere :Prrr: :D :Prrr:
Lui vuole allineare l'inizio di una partizione e i cluster del filesystem contenuto con la dimensione delle stripe dell'array.
Windows XP SP2, almeno, crea la partizione primaria sul secondo disco con un offset di 64 settori. O più precisamente, 63 dalla MBR, come riportato nella MBR stessa.
64 settori sono 32K netti. Se ora crei un NTFS con cluster da 64K e la stripe è da 64K ti ritrovi ogni cluster sparso su due dischi. Siccome non puoi accedere meno di un cluster, ogni accesso ti va su due dischi contemporaneamente.
Se invece l'offset fosse stato di 128 settori, 64K, avresti avuto i cluster allineati alla stripe. Come spiegato qui (http://www.tomshardware.co.uk/forum/243527-14-drive-selection-raid#t1732091)
Per quanto riguarda gli articoli riferiti da Kewell, questi trattano le partizioni e i RAID separati.
Qui viene solo detto che il partizionamento è identico a quello di un singolo disco.
Qui viene affermato che lo stripe divide i ogni file in blocchi di dimensioni prestabilite. In realtà questa suddivisione viene fatta dal filesystem, ed ulteriormente dallo striping. Lo stripe riceve i cluster del filesystem, non i file. Un RAID non è un filesystem, non sa nulla di file. Avendo due livelli di suddivisione in blocchi, o tre se si considerano i settori del disco teoricamente, sorgono problemi di allineamento, non tanto diversi da quelli che occorrono in programmazione con le strutture dati.
Qui (http://www.hwupgrade.it/articoli/storage/1212/hard-disk-verita-su-partizioni-e-prestazioni_index.html) invece si sottolinea come sia migliore avere diversi filesystem su un disco solo. La cosa potrebbe adattarsi al RAID0 visto che l'accesso è simile a come desctritto nell'atricolo, cambiando piatti con interi dischi.
alef
Alessio73
29-11-2007, 14:05
Evento del secolo !!!!!
una icona del mondo informatico joina questo forum, benvenuto...
:ciapet:
devo finire delle cose poi leggo tutto e finalmente partiziono ed installo un sitema nel mio nuovo PC che è fermo per colpa di un maledetto amico mio... lo conosci per caso ?
hehehehe
:Prrr:
Il problema del disallineamento dell'inizio delle partizioni con la struttura dettata dallo stripe size esiste, ma non saprei dire se è solo un problema matematico o se in effetti si ha un effetto tangibile in termini di rpestazioni del sistema storage.
Riguardo tutto il discorso calo di rpestazioni, il punto è il seguente:
è vero che in un certo senso il partizionamento in più partizioni forza un frammentazione, ma è altrettanto vero che i dati sono disposti sul dsco secondo un algoritmo molto semplice, che è quello di trovare lo spazio libero successivo a quello attuale che possa contenere interamente i dati (questo per l'NTFS). Questo algoritmo fa sì ce i dati vengano sparpagliati un po' ovunque nella partizione, generalmente con un assembramento nella parte che va dall'inizio a metà. I dati di sistema sono disposti da windows in due aree separate, all'inizio del disco e a metà per partizioni medio-piccole, mentre per partizioni enormi la seconda parte è più vicina all'inizio del disco.
Oltre al discorso frammentazione c'è poi da considerare che il tipo di accesso che si fa con un pc è di per sè frammentato, cioè anche se avessimo file tuti consecutivi la lettura che richiediamo non è mai dei file nell'ordine in cui sono memorizzati.
Morale, a mio giudizio, il partizionamento in più partizioni aiuta a tenere oggetti analoghi nella stessa porzione di disco, e questo aiuta senz'altro, ma dev'essere fatto con intelligenza, per evitare al disco di srovolare sopra porzioni non necessarie.
Dal punto di vista del disco, l'accesso a due punti diversi della sueprficie è assolutamente indipendente dal fatto che siano nella stessa partizione, in partizioni diverse, in due sottosistemi raid diversi.
Quindi la differenza tra fare un singolo raid0 tra due dischi e partizionarlo in 2 o farne due è nulla dal punto di vista del disco.
L'unica differenza è ce si sposta la suddivisione più a basso livello, cioè a livello del controller, e questo ha sia vantaggi che svantaggi.
V: se un sistema raid0 ha problemi l'altro è salvo, con le partizioni no.
sv: se il controller ha problemi avremo più difficoltà a trovare un controller compatibile, perchè la soluzione è più complessa, mente i raid0 normali sono tendenzialmente più trasportabili da un sistema all'altro, come hai visto anche tu.
In tutta sincerità, questa cosa dei multi raid mi sembra una buona possibilità, e credo che diventerà la regola entr breve, anche perchè le dimensioni di dischi aumentano e si possono fare solo 4 partizioni primarie in ogni unità, mentre col multiraid si vedono due (o più) dischi, e ognuno ha 4 partizioni prmarie. Dico questo perchè le partizioni estese danno più complicazioni in fase di eventuale recupero dati, e ritengo siano da evitare fintanto che è possibile (per non parlare dei dischi dinamici).
Queste le mie indicazioni, sul discorso allineamento mi pacerebbe leggere qualche informazione fatta bene sulla reale influenza, misurata con un test tipo IO-Meter, per vedere cosa succede. Se fossi a casa proverei a metterla su io sta prova, ma sono all'estero e quindi niente per ora.
- CRL -
Alessio73
30-11-2007, 00:32
Queste le mie indicazioni, sul discorso allineamento mi pacerebbe leggere qualche informazione fatta bene sulla reale influenza, misurata con un test tipo IO-Meter, per vedere cosa succede. Se fossi a casa proverei a metterla su io sta prova, ma sono all'estero e quindi niente per ora.
- CRL -
Allora siamo solo maniaci dell'ottimizzazione, questa precisazione e l'allineamento, portano dei vantaggi che non credo riuscirò a percepire. E' solo una questione di "sapere di aver fatto tutto quello che si poteva fare" per ottimizzare l'accesso ai dati, per le prestazioni non ho tempo al momento però se mi indicate i software e le prove da fare posso farlo più avanti provare con la stessa partizione prima allineata e poi non allineata e vedere se le differenze sono rilevanti.
nella guida che ho letto parla di incrementi prestazionali del 20% ma è riferito ad un utilizzo SERVER in multiscrittura di piccoli file, quindi la conclusione è che una workstation/home computer difficilmente avrà un SIGNIFICATIVO aumento prestazionale...
cito il testo:
The storage subsystem is one of the most critical elements on a Microsoft Exchange infra-structure, mainly because of the aggressive random I/O requirements of the Exchange Server 2003 database. The key to a healthy environment is proper configuration of the storage array, considering performance before capacity. One of the measures you can take is to realign the hard disk tracks with the Windows physical disk partitions, increasing performance up to 20 percent.
articolo completo: http://www.msexchange.org/tutorials/Disk-Geometry.html
sono convinto che il miglioramento in un "non server" non sarà netto e percepibile ma nel caso di situazioni simili anche se rare l'incremento ci sarà sicuramente.
:Prrr:
Allora, vediamo un po'
WinXP spiazza la prima partizione di 64 settori ovvero 32K netti.
Se utilizzi un cluster pari a 64 settori, e un RAID0 con uno stripe di 16k, allora ottieni che ogni cluster (compreso il primo) viene esattamente suddiviso tra i 2 HD, e le performance dovrebbero essere ottimali, in quanto qualsiasi accesso richiesto farebbe sicuramente uso di entrambi gli HD, e non ci sarebbe alcuno "spazio" di lettura sprecato dovuto a sfasamenti.
Ma immagino ci siano altre soluzioni di parametri che portino alla stesse performance o analoghe.
Poi, come gia' detto, questo discorso vale solo quando si devono trasferire tanti piccoli file messi in posti diversi dell'HD, e solo in presenza di controller non intelligenti, dove di intelligenza richiesta per gestire casi strani ce ne vuole proprio poca, e mi stupisco che ci si possa trovare davanti a controller RAID tanto stupidi.
Potresti farmi esempi umani dove asi genererebbero problemi anche con controller decenti?
Ho provato ad accedere alla KB di Microsoft dove si spiegherebbe il problema, ma non riesco.
Allora, vediamo un po'
WinXP spiazza la prima partizione di 64 settori ovvero 32K netti.
Se utilizzi un cluster pari a 64 settori, e un RAID0 con uno stripe di 16k, allora ottieni che ogni cluster (compreso il primo) viene esattamente suddiviso tra i 2 HD, e le performance dovrebbero essere ottimali, in quanto qualsiasi accesso richiesto farebbe sicuramente uso di entrambi gli HD, e non ci sarebbe alcuno "spazio" di lettura sprecato dovuto a sfasamenti.
A questo non avevo pensato. Il mio obiettivo era invece mettere un cluster dentro ogni stripe di ogni disco. Ricordiamoci anche del fatto che se un disco si rompe con una probabilità di una volta ogni tanto, allora due dischi uguali con stesso utilizzo potrebbero rompersi "due" volte ogni tanto. Ed il RAID0 non si ripara. Ma forse non è un grosso problema se si fanno i backup.
Per esempio, il mio caso d'uso è giocare. Quindi scrivere una volta, cioè installare, e poi leggere all'infinito. E suppongo che la lettura sia sequenziale, una volta deframmentati, di file con rapporto dimensione-cluster abbastanza elevata. Avrei pure pensato a montare in sola lettura, magari windows si gestisce la cache meglio. Questo alla luce del fatto che i giochi moderni usano C:\Programmi principalmente in sola lettura, in quanto modificabile solo da admin, e scrivono cose nella home dell'utente, che potrebbe stare in una partizione lettura/scrittura. Invece di usare un "D:\Programmi" sarebbe interessante vedere il Volume mount point di NTFS, che permette di usare un disco come directory.
Purtroppo tutto questo me lo posso solo immaginare perché ho una MB col RAID, ma non ancora un pò di dischi con cui giocare. Quindi niente test e prove sul campo al momento.
Spero di non essermi dilungato troppo,
alef
20% mi sembra una cosa esagerata, c'è anche scritto up to 20%, che vuol dire nel mio vocabolario che nel test ottimizzato per esasperare la differenza raggiunge il 20%, negli altri test magari molto meno, e nell'uso reale chissà.
Sul discorso stripe e cluster, fare uno stripe di 512byte per andare preciso nel cluster size sarebbe impensabile, è una struttura troppo minuziosa, che comporta troppo overhead, non farei meno di 16kB se non per sistemi particolari, non pc di uso comune.
- CRL -
Spero di non essermi dilungato troppo,
alef
Tranquillo, leggere e scrivere qui e' un piacere, non un lavoro, quindi nessun problema.
Ora, fatto salvo che Cluster e' un concetto software, e che il controller di un hard disk puo' anche leggere tranquillamente un solo settore, puoi anche non preoccuparti di mettere "un cluster" tutto sullo stesso disco. Anzi, piu' e' sparpagliato meglio e', anche se con parametri normali di stripe e di cluster ti capitera' quasi sempre di averlo sullo stesso disco.
tanto, quando sei in RAID0 e si danneggia uno dei 2 dischi, il fatto di danneggiare 1 solo cluster oppure 2 direi che fa poca differenza su mille mila milioni.
Il tuo caso pero' mi sembra gestibile in maniera ottimale, sia in sicurezza che performance, con un bel RAID1.
Mirror, che in sola lettura ha le stesse performance del RAID0, e se si rompe qualcosa sei a posto.
Ti cerchi il burst piu' ottimale per i tuoi HD (magari il vendor li pubblica anche) e fai il cluster esattamente pari a quella dimensione, senza pensare ai RAID.
Non riesco ad accedere a quel documento dove si parla dell'incremento del 20%. Qualcuno potrebbe riassumermelo per cortesia?
Gugoxx
Mirror, che in sola lettura ha le stesse performance del RAID0, e se si rompe qualcosa sei a posto.
Purtroppo sta cosa che potrebbe essere implementata in teoria, di fatto non la fa nessun controller, leggono da uno solo, basta fare un test con un raid1 in sustained read con HDTune o HDTach o equivalenti per vedere che va esattamente come un disco singolo.
Non sono a conoscenza di nessun controller che faccia sto lavoro, e nemmeno che usi il secondo disco per evitare le ri-trasmissioni dovute al CRC. Quello che mi pare di capire che fare un firmware che semplicemente duplica le istruzioni per entrambi i dischi sia molto più semplice che gestire una cosa del genere, che vorrebbe dire far fare ai due dischi cose diverse, e quindi potenzialmente rendere più complessa tutta la gestione, anche in termini di command queueing.
- CRL -
iscritto
bravi ragazzi cosi si fa...ottimizziamo e facciamo le cose giuste!
intanto io leggo...
Oggi ho comprato due dischi per fare un raid0 sul mio ICH9R.
grazie
alla fine dopo varie letture ....
Purtroppo non posso sapere in anticipo quello che sara la grandezza media dei miei file (con defrag) quindi ho optato per un raid0 con stripe 128Kb, faro' due partizioni SO e Games.
UtenteSospeso
02-12-2007, 12:45
Se installi Vista e partizioni dal setup di Vista avrai anche il famoso allineamento della partizione col filesystem.
Se installi Vista e partizioni dal setup di Vista avrai anche il famoso allineamento della partizione col filesystem.
bene!
però.... io posseggo WinXP32bit sp2 e Vista ultimate (ovviamennte Original).
Vista non l'ho ancora installato...devo decidere se 32Bit o 64bit e aspettavo il pc nuovo ed il SP1.
Normalmente quanto installo WinXP faccio solo "una" partizione da 15Gb (disco SCSI 36Gb), evito di fare la seconda da setup perchè me ne crea una estesa. Le restanti partizioni (primarie) max altre due le creo poi finita l'installazione.
Ora tu affermi che Vista provvederebbe a sistemare in fase di installazione quel problema di allineamento che ancora non mi e' chiaro...
FAQ ufficiali a riguardo? link?
Ma devo partizionare tutto il disco (ovviamente con numero di partizioni da 1 a >1) solo in fate di setup per godere di questi benefici?
Grazie
UtenteSospeso
02-12-2007, 18:05
Si, allinea a 1024.
Se vuoi la partizione di sistema allineata devi partizionare da setup di Vista, ovviamente anche da Gestione disco di Vista puoi creare la partizione che risulterà allineata. Se la prima del disco non è stata creata con Vista non sarà allineata concertezza, dipende da come è stata fatta la prima.
Alessio73
03-12-2007, 12:36
alla fine dopo varie letture ....
Purtroppo non posso sapere in anticipo quello che sara la grandezza media dei miei file (con defrag) quindi ho optato per un raid0 con stripe 128Kb, faro' due partizioni SO e Games.
per i giochi moderni lo stripe da 128k è indicato in quanto i file sono di dimensioni superiori per la quasi totalità e sono quelli che incidono nel caricamento cioè quelli grandi non i pochi file di configurazione etc..
per il sistema operativo invece 128k di stripe size sono troppi, userai il raid solo per file di almeno 512k di grandezza, e tutti i restanti saranno caricati da un singolo disco.
io ho impostato uno stripe size di 16k per il SO e 128k per i giochi/multimedia.
se hai un controller ICH8R o ICH9R puoi sicuramente creare 2 dischi raid con stripe diverso.
ti consiglio altresi di creare il disco del SO per primo e non più grande di 40GB, creando così l'array virtuale usando i primi 20GB di ogni disco avrai delle prestazioni straordinarie, e tempi di accesso ridotti.
Per il discorso allineamento
puoi verificare tu stesso
esegui > msinfo32.exe
+ COMPONENTI
+ Archiviazione
+Dischi
Leggi a destra nelle informazioni sotto dimenzione partizione
Offset avvio partizione
di default xp = 32.256
se lo dividi per 4096 viene 7,875 quindi non un intero quindi l'offset non è allineato.
vale per ogni partizione, la prima sul disco parte da 32.256 le successive in base alla dimensione avranno valori via via crescenti, se sono allineate /4096 devono restituire un valore intero
una partizione alineata a 32k offset = 32.768 / 4096 = 8
Ho effettuato dei test con I/O Meter spuntanto tutti gli accessi e ho registrato quanto segue:
XP non alineata valore di riferimento
2k3 ALIGN 64k tempo di accesso leggermente peggiore banda leggermente peggiore utilizzo CPU nettamente migliore
2k3 ALIGN 32k tempo di accesso migliore banda migliore utilizzo CPU migliore.
I test restituivano valori non sempre uniformi, l'unica costante nella partizione allineata (che ho creato dopo aver cancellato la non allineata nello stesso posto) è un minor utilizzo di CPU, segno quindi che l'allineamento qualcosa fa
per la mia configurazione il miglior valore è align=32
Qualcuno che ha Vista può verificare se la partizione che crea di default è allineata usando Msinfo come descritto pocanzi ?
ciauz
UtenteSospeso
03-12-2007, 16:00
Vista allinea a 1048576 per default.
Alessio73
03-12-2007, 16:50
Vista allinea a 1048576 per default.
e poi c'erano le marmotte che confezionavano la cioccolata.....
:muro: :banned:
UtenteSospeso
03-12-2007, 18:09
Informati, poi va a confezionare la cioccolata. :D
Attenzione a creare partizioni con XP su dual-boot con Vista, secondo la KB931854 (http://support.microsoft.com/kb/931854).
La stessa KB inoltre ci informa che Vista allinea a 1MB, 1048576 byte.
Qui (http://forums.storagereview.net/index.php?showtopic=25786&pid=244537&mode=threaded&start=) invece c'è qualcosa di simile al nostro problema, ma col RAID5, ed anche qui ricorda che Vista allinea a 1MB, ovvero 2048 settori da 512 byte, numero che sembra vadi bene per una serie di combinazioni, ma che non si spiega bene come scrivo più avanti.
Dall'articolo basterebbe togliere un disco dai conti poiché non abbiamo la parità nel RAID0.
Al punto 1 parlerebbe quindi dell'offset come minimo comune multiplo del numero di dischi e la stripe WIDTH, che è la stripe size per il numero di dischi.
Al punto 2 della stripe WIDTH uguale a, o divisible per, la dimensione standard del blocco di I/O. Per XP questa è di 64KB, come ribadito nel punto 3. Per Vista, da 1 a 8MB, quindi variabile, non trovo scritto in base a cosa.
Al punto 4, che si vuole ogni cluster allineato all'inizio di ogni stripe, in base anche alla loro dimensione, come nei nostri precedenti post.
esegui > msinfo32.exe
+ COMPONENTI
+ Archiviazione
+Dischi
Leggi a destra nelle informazioni sotto dimensione partizione
Offset avvio partizione
di default xp = 32.256
se lo dividi per 4096 viene 7,875 quindi non un intero quindi l'offset non è allineato.
vale per ogni partizione, la prima sul disco parte da 32.256 le successive in base alla dimensione avranno valori via via crescenti, se sono allineate /4096 devono restituire un valore intero
Se lo dividi per 512 byte ottieni 63 settori, che è quello che fisicamente viene scritto nella MBR (http://en.wikipedia.org/wiki/Master_boot_record).
L'offset di default a 63 settori si spiega qui:
KB929491 (http://support.microsoft.com/kb/929491), che è l'URL che non si apre nel post iniziale perché troncato da tre puntini (...).
Quello che ci interessa, in questo caso, è la seconda nota:
Note Disk partitions always reserve the first sector of the partition for code and for partition information, such as the number of sectors and the starting sector. The actual data part of the partition starts from the second sector of the partition.
Questo significa, facendo riferimento anche un po a questo (http://mirror.href.com/thestarman/asm/mbr/NTFSBR.htm), che i dati iniziano il settore successivo, quindi 63 è allineato al settore 64 per quanto riguarda i dati. Questo sembra accada anche per le partizioni successive, dove mi risulta un offset dispari di default.
Questo però non spiega perché allora si dice che Vista metta 2048 settori invece di 2047. Forse qualche cambiamento nella sua gestione del NTFS? O forse perché si sottintende sempre questo sfasamento di un settore. Qualcuno che ha installato Vista potrebbe verificarlo:
usando un fdisk da un liveusb o livecd di un qualsiasi linux
usando un editor esadecimale (o "redattore esagono", come ho letto in una traduzione automatica di "hex editor" ...) come HxD (http://mh-nexus.de/hxd/).
usando msinfo, come suggerito da Alessio. Supposto che ancora esista in Vista.
Se utilizzi un cluster pari a 64 settori, e un RAID0 con uno stripe di 16k, allora ottieni che ogni cluster (compreso il primo) viene esattamente suddiviso tra i 2 HD, e le performance dovrebbero essere ottimali, in quanto qualsiasi accesso richiesto farebbe sicuramente uso di entrambi gli HD, e non ci sarebbe alcuno "spazio" di lettura sprecato dovuto a sfasamenti.
Ripensandoci bene, questo non sarebbe così ottimale. Per leggere due cluster contigui un disco statisticamente impiegherebbe meno. Se per ogni cluster bisogna leggere sempre prima da disco0 e poi disco1, bisognerebbe sommare la latenza del disco1 a quella che si avrebbe solo con disc0 senza RAID0. Correggetmi se sbaglio, grazie.
alef
Ripensandoci bene, questo non sarebbe così ottimale. Per leggere due cluster contigui un disco statisticamente impiegherebbe meno. Se per ogni cluster bisogna leggere sempre prima da disco0 e poi disco1, bisognerebbe sommare la latenza del disco1 a quella che si avrebbe solo con disc0 senza RAID0. Correggetmi se sbaglio, grazie.
alef
Non leggo prima da disco0 e poi da disco1. Leggo contemporaneamente no?
La latenza e' pari a quella di un disco singolo comunque direi.
........
per il sistema operativo invece 128k di stripe size sono troppi, userai il raid solo per file di almeno 512k di grandezza, e tutti i restanti saranno caricati da un singolo disco.
io ho impostato uno stripe size di 16k per il SO e 128k per i giochi/multimedia.
se hai un controller ICH8R o ICH9R puoi sicuramente creare 2 dischi raid con stripe diverso.
ti consiglio altresi di creare il disco del SO per primo e non più grande di 40GB, creando così l'array virtuale usando i primi 20GB di ogni disco avrai delle prestazioni straordinarie, e tempi di accesso ridotti.
........
IMMAGINAVO, quindi conviene sfruttare il controller e creare due RAID0 e poi partizionare i due dischi per intero ottenedo:
partendo da,
160GB+160GB SATAII in RAID0= disco da 320GB (ovviamente si arrotonda)
-
Volume0 (RAID0_0 stripe 16k) unica partizione primaria 40GB x Sistema O.
Volume1 (RAID0_1 stripe 128K) unica partizione primaria 280GB per Giochi.
Ovviamente il discorso stripe e' legato al tipo di utilizzo del disco (tipo di dati).. E come da te consigliato, questo e' l'unico modo di gestire al meglio
l'uno e l'altro caso senza compromessi.
Il primo file mediamente piccoli, con stripe 16k disco sfruttato bene sia in lettura e scrittura, dati ripartiti in buona proporzione, e buon rendimento nello spazio fisico dei dischi. Ovviamente rimanendo su discorso stripe...16k
%systemroot%\media\notify.wav 117K/16K il che vuol dire sicuramente 4 scritture si posizionano sul disco0 e 3 sul disco1.
se avessi usato stripe 128K mi avrebbe fatto 1 scrittura unica sul disco0, fortunatamente con poco spreco di spazio, ma pur lavorando in RAID0 mi lavora solo un disco.
Ovviamente non oso pensare stripe 16K con file di GRANDE formato....poveri dischi! Ed ecco che entra in gioco lo stripe 128K...sinceramente e' un po che non carico giochi di ultima generazione...gli ultimi sono stati HALF Life2, Battlefield2 ed AmericasArmy, ma mediamente i file installati a quale ordine di grandezza sono?
Grazie
PS
Se ho capito bene comunque rimane il problema dell'allineamento in XP?
e poi c'erano le marmotte che confezionavano la cioccolata.....
:muro: :banned:
Informati, poi va a confezionare la cioccolata. :D
...bboni... ;)
- CRL -
Non leggo prima da disco0 e poi da disco1. Leggo contemporaneamente no?
La latenza e' pari a quella di un disco singolo comunque direi.
Legge contemporaneamente se il controller può fare richieste asincrone, ma forse nei moderni non c'è nemmeno bisogno di porsi la domanda perché immagino la risposta sia sì.
Comunque, ora mi leggo un po di riferimenti in giro. Iniziando da questo (http://www.microsoft.com/whdc/device/storage/subsys_perf.mspx).
Qualcuno conosce un programma per fare statistiche d'uso del disco in base alla dimensione dei blocchi di I/O per windows? perfmon non ce l'ha.
Vorrei qualcosa che dica, per esempio, 10321 trasferimenti da 64K, 9821 da 16K, ecc. ecc. per una data sessione.
alef
Edit: Eccolo:
http://www.microsoft.com/technet/sysinternals/utilities/diskmon.mspx
- CRL -
Alessio73
04-12-2007, 12:34
Informati, poi va a confezionare la cioccolata. :D
mi sembrava un valore talmente diverso da xp e 2003 e pensavo scherzassi.
scusami, vado a comprare la carta argentata x alimenti e confeziono un pò di cioccolate va :D
Edit: Eccolo:
http://www.microsoft.com/technet/sysinternals/utilities/diskmon.mspx
- CRL -
Grazie. L'ho provato stasera in una sessione di gioco di una mezz'oretta, ho salvato i dati in un file e giocatoci in un foglio elettronico.
La mia NTFS ha cluster di 4K ed il maggior numero di operazioni di I/O (13%) con la stessa dimensione è proprio 8 settori disco. E' anche la maggior quantità di dati spostata per singola dimensione. Ci sono state anche alcune singole operazioni con dimensione da più di 10000 e addirittura 20000 ognuna. Queste dovute a dei grossi file di dati già deframmentati.
Le richieste che windows fa al disco non sono sempre multipli della dimensione di cluster, ma ci sono picchi proprio lì, anche se intorno al 3% ognuno. Il restro è distribuito in varie altre dimensioni di blocco.
Non credo che questa "analisi" porti a molto, comunque. L'unica cosa che si nota sono questi picchi intorno ai multipli di cluster, che in fondo non aggiunge niente di nuovo.
alef
Ziobello
05-12-2007, 13:26
Una domanda.
Ho due HD da 250GB, se faccio un raid 0, posso destinare al raid solo una parte dei due hd per SO e programmi ed il restante spazio tenerlo fuori dal raid, ed utilizzarlo per i dati. In tal modo non avrei il problema legato alle config raid di perdere tutto se uno dei due dischi si guasta.
Grazie.
A proposito di chiarezza.
Il termine stripe unit size si riferisce al blocco su un disco singolo, mentre stripe size si riferisce al blocco moltiplicato per il numero di dischi.
Vi torna?
Qual'è quello che viene indicato nel BIOS del RAID come "stripe size" ?
alef
tmaxraiden
05-12-2007, 18:50
Una domanda da very very profano:
ho appena acquistato un pc con due hd sata 250gb da mettere in raid ma ho dimenticato di mettere nella configurazione un lettore floppy.
Esiste una maniera di caricare i driver raid senza l'unità floppy?:muro:
Alessio73
06-12-2007, 00:44
Una domanda da very very profano:
ho appena acquistato un pc con due hd sata 250gb da mettere in raid ma ho dimenticato di mettere nella configurazione un lettore floppy.
Esiste una maniera di caricare i driver raid senza l'unità floppy?:muro:
Si ci sono più maniere
io ne conosco 2 alternative
1 integrare i driver del controller con Nlite nel cd di windows
(consiglio di usare Nlite è un portento, se cerchi la guida in questo forum la trovi ben fatta...)
2 usare una pennetta usb (se il bios della mainboard supporta l'emulazione della penna usb come floppy)
per entrambe le soluzioni devi usare un pc funzionante (ovviamente) ed avere i driver del controller in versione floppy... di solito sono nel CD della scheda madre, oppure puoi scaricarli dai siti dei rispettivi produttori.
nel thread della p5b deluxe ap ci sono descritti i passaggi per creare la chiavetta con il contenuto ed è valido per i controller intel recenti penso da ich7 8 e 9. per altri controller non intel forse è ancora più semplice ma non so indirizzarti
se hai problemi chiedi pure ciao.
Alessio73
06-12-2007, 00:50
Una domanda.
Ho due HD da 250GB, se faccio un raid 0, posso destinare al raid solo una parte dei due hd per SO e programmi ed il restante spazio tenerlo fuori dal raid, ed utilizzarlo per i dati. In tal modo non avrei il problema legato alle config raid di perdere tutto se uno dei due dischi si guasta.
Grazie.
allora so per certo che con ich8 e ich9 puoi creare 2 array raid usando 1 sola coppia di dischi.
per esempio
250+250
creo array 100Gb raid0 (quindi uso 50 per disco)
creo array 200Gb raid1 (copio in automatico i dati su ambedue i dischi)
si rompe 1 disco ... perdo i 100Gb del primo array
ma ho 200Gb raid1 salvi
così puoi avere la botte ubriaca e la moglie piena hehehe
ciao
cheguemax
06-12-2007, 17:57
allora so per certo che con ich8 e ich9 puoi creare 2 array raid usando 1 sola coppia di dischi.
per esempio
250+250
creo array 100Gb raid0 (quindi uso 50 per disco)
creo array 200Gb raid1 (copio in automatico i dati su ambedue i dischi)
si rompe 1 disco ... perdo i 100Gb del primo array
ma ho 200Gb raid1 salvi
così puoi avere la botte ubriaca e la moglie piena hehehe
ciao
Ciao, io ho 2hd da 80 gb posso fare un raid 0+1 come da te sopra descritto?
Come dovrei dividere gli hd?
Alessio73
06-12-2007, 21:56
Ciao, io ho 2hd da 80 gb posso fare un raid 0+1 come da te sopra descritto?
Come dovrei dividere gli hd?
Ciao hai la P5B deluxe è la mia precedente Scheda madre è un'ottima scheda madre, e poui farlo tranquillamente:
dopo il boot alla schermata del controlle intel, (devi utilizzare i connettori rossi Sata) premi Control+i
Attenzione perchè il contenuto dei 2 dischi verrà perso interamente in fase di creazione quindi dovrai salvare tutto.
Alla schermata successiva al Control+i
Scegli di creare un array raid0 e selezioni i due dischi
specifichi la dimenzione che vorrai, puoi fare a piacere 80Gb Raid 0 e 40Gb Raid1 o come preferisci in base a quanti saranno i dati importanti che vorrai tenere sul Raid1 e a quanti giochi/programmi vorrai installare sul Raid0
nel thread della tua mainboard nel primo post è spiegato tutto anche con le immagini mi pare...
visto che non sei il solo che lo ha chiesto ti posto il link:
http://www.hwupgrade.it/forum/showthread.php?t=1414716
buona lettura se hai difficoltà chiedi pure ciao
cheguemax
07-12-2007, 10:33
Ciao hai la P5B deluxe è la mia precedente Scheda madre è un'ottima scheda madre, e poui farlo tranquillamente:
dopo il boot alla schermata del controlle intel, (devi utilizzare i connettori rossi Sata) premi Control+i
Attenzione perchè il contenuto dei 2 dischi verrà perso interamente in fase di creazione quindi dovrai salvare tutto.
Alla schermata successiva al Control+i
Scegli di creare un array raid0 e selezioni i due dischi
specifichi la dimenzione che vorrai, puoi fare a piacere 80Gb Raid 0 e 40Gb Raid1 o come preferisci in base a quanti saranno i dati importanti che vorrai tenere sul Raid1 e a quanti giochi/programmi vorrai installare sul Raid0
nel thread della tua mainboard nel primo post è spiegato tutto anche con le immagini mi pare...
visto che non sei il solo che lo ha chiesto ti posto il link:
http://www.hwupgrade.it/forum/showthread.php?t=1414716
buona lettura se hai difficoltà chiedi pure ciao
Ho seguito i consigli del link per fare due raid 0 sullo stesso array:
dalla rom intel ho creato prima il raid 0 per il s.o. da 60gb con stripe da 16k e poi il secondo raid 0 per i giochi con il restante spazio e con stripe da 128 k ho partizionato e poi ho installato xp sul primo raid0, ma l' incremento prestazionale è stato marginale(forse dovuto ai miei hd sata1 8mb).
Sul thread della p5b deluxe mi hanno sconsigliato di fare il raid 0+1, perchè comporterebbe un decadimento delle prestazioni. Mi hanno consigliato di riprovare con i due raid 0 facendo il primo da 40gb in modo da usare solo i primi 20 gb dei due hd. Spero vada meglio.
Alessio73
07-12-2007, 12:03
Ho seguito i consigli del link per fare due raid 0 sullo stesso array:
dalla rom intel ho creato prima il raid 0 per il s.o. da 60gb con stripe da 16k e poi il secondo raid 0 per i giochi con il restante spazio e con stripe da 128 k ho partizionato e poi ho installato xp sul primo raid0, ma l' incremento prestazionale è stato marginale(forse dovuto ai miei hd sata1 8mb).
Sul thread della p5b deluxe mi hanno sconsigliato di fare il raid 0+1, perchè comporterebbe un decadimento delle prestazioni. Mi hanno consigliato di riprovare con i due raid 0 facendo il primo da 40gb in modo da usare solo i primi 20 gb dei due hd. Spero vada meglio.
L'aumento di prestazioni del Raid0 c'è sopratutto nella banda. Nel caricamento del sistema operativo i vantaggi sono marginali e penso poco ravvedibili, caricando invece file di grandi dimenzioni si dovrebbero avere vantaggi notevoli e percettibili. A prescindere dalla velocità del disco utilizzato il boost del raid c'è comunque ma non fa miracoli.
Il raid 0+1 non è che rallenta le prestazioni, l'accesso simultaneo ai due array ad esempio da SO e applicazione, comporta dei salti della testina, più o meno come i dati letti contemporaneamente da due partizioni, ci sono dischi Seagate che risentono di più di questo tipo di operazioni e hanno decadimenti marcati, i Western Digital reggono meglio, comunque sia il discorso è valido sia se fai due array raid 0 sia se ne fai 1 raid1 l'altro 0, oppure se leggi dati da due partizioni differenti e create in settori non limitrofi del disco.
Il test HD tune che a me da 7.4ms è solo per vantarsi, e nulla più
perchè l'array visto come unico disco permette al test di eseguire gli accessi solo nella area più veloce del dico, ecco il perchè dello strabiliante risultato, se eseguiamo il test su un disco singolo anche se partizionato, HD tune eseguirà il controllo su tutto il disco e la media risultante sarà più alta... in pratica quindi non è che il raid migliori il tempo di accesso, semplicemente consente al test di controllare solo la prima parte del hd quella di solito più veloce.
concludendo il raid 0 non è un sistema per trasformare due dischi lenti in fulmini... anzi è un sistema che aumenta le prestazioni ma dimezza la sicurezza... il raid1 dimezza lo spazio ma raddoppia la sicurezza.
Alla fine un HD veloce, e un backup periodico su DVD o altro media sono la soluzione migliore :)
Il Raid può dare benefici in particolari ambiti dove si necessita il troughtput (chissà se ho scritto bene)
ciao;)
Ho fatto il RAID0 con due dischi SATAII da 160Gb.
un volume0 40Gb (stripe 16K per Win) ed un volume1 280Gb (Stripe 128K per Games).
dubbio
I driver sono stati installati correttamente, prima il floppy e poi in windows con gli ultimi driver Intel per P35.
Perche' i miei Volumi0/1 (dischi) non hanno la cache di scrittura abilitata?
Vedi Gestione periferiche-Unita' disco.
Posso abilitarla?
Alessio73
23-12-2007, 16:19
Verifico se i miei l'hanno abilitata
e verifico quale sia l'impostazione ottimale, ti faccio sapere appena ho queste informazioni.
ciao
P.s. ho un sistema configurato in maniera molto simile alla tua
no guarda...
se cerco di abilitarlo vengono disabilitati a forza e blenkati dai driver intell
UtenteSospeso
24-12-2007, 01:44
Potrebbe dipendere dal fatto che il tuo controller supporta l'HotPlug anche in modalità RAID.
Dovresti avere l'icona di rimozione sicura hardware, come per l'USB.
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.