| Red Hat Enterprise Linux 4: Introduzione al System Administration | ||
|---|---|---|
| Indietro | Capitolo 5. Gestione dello storage | Avanti |
Le caratteristiche della prestazione del disco fisso sono state precedentemente affrontate nella Sezione 4.2.4; questa sezione affronta tale argomento in dettaglio. La suddetta fase è molto importante per gli amministratori di sistema, in quanto senza una conoscenza di base sul funzionamento dei dischi fissi, è possibile eseguire delle modifiche nei confronti della configurazione del vostro sistema, in grado di influenzare in modo negativo le proprie prestazioni.
Il tempo necessario ad un disco fisso per rispondere e completare una richiesta I/O dipende da due cose:
Dai limiti elettrici e meccanici del disco fisso
Dal carico I/O imposto dal sistema
Le seguenti sezioni esplorano questi aspetti inerenti la prestazione del disco fisso in modo più dettagliato.
Poichè i dischi fissi sono dispositivi elettro-meccanici, essi sono soggetti a diverse limitazioni sulla loro velocità e prestazione. Ogni richiesta I/O, per poter funzionare insieme, necessita di diversi componenti del drive, in modo da soddisfare la richiesta stessa. Poichè ogni componente presenta diverse caratteristiche, la prestazione generale del disco fisso viene determinata dalla somma della prestazione dei componenti individuali.
Tuttavia, i componenti elettrici risultano essere più veloci rispetto ai componenti meccanici. Per questo motivo, i componenti meccanici risultano avere un impatto maggiore sulle prestazioni generali del disco fisso.
![]() | Suggerimento |
|---|---|
Il modo migliore per migliorare le prestazioni del disco fisso è quello di ridurre il più possibile l'attività meccanica dell'unità. |
Il tempo di accesso medio di un disco fisso è di circa 8.5 millisecondi. Le seguenti sezioni analizzano questa figura in modo più dettagliato, mostrando come ogni componente influisca sulle prestazioni generali del disco fisso.
Tutti i dischi fissi di moderna concezione possiedono dei sistemi computerizzati embedded molto sofisticati in grado di controllare le loro funzioni. Essi sono in grado di eseguire i seguenti compiti:
Interagire con il mondo esterno attraverso l'interfaccia del disco fisso
Controllare le operazioni del resto dei componenti facenti parte del disco fisso, e ripristinare le normali funzioni dopo che si siano verificate alcune condizioni d'errore.
Processare i dati letti e scritti sul media dello storage corrente
Anche se i microprocessori utilizzati nei dischi fissi sono relativamente potenti, i compiti a loro assegnati richiedono del tempo per la loro processazione. In media, il tempo necessario è di 003 millisecondi.
Le testine di lettura/scrittura del disco fisso funzionano solo quando i piatti del disco sono in rotazione. Poichè la lettura e la scrittura dei dati dipende dal movimento del media posizionato sotto la testina, il tempo necessario al media contenente li settore desiderato, a passare completamente sotto la testina, risulta essere l'unico componente in grado di determinare il tempo di accesso totale. Esso è in generale pari a .0086 millisecondi per una unità di 10,000 RPM con 700 settori per traccia.
Poichè i disk platter del disco fisso sono in continuo movimento, quando arriva una richiesta I/O, risulterà improbabile che il piatto si troverà esattamente nella posizione corrispondente al settore desiderato. Per questo motivo, anche se il resto dell'unità è pronta ad accedere il settore desiderato, è necessario attendere la rotazione del piatto, portando il suddetto settore nella posizione giusta e cioè sotto la testina di lettura/scrittura.
Questo è il motivo per il quale i dischi fissi con elevate prestazioni, generalmente ruotano i loro piatti ad una velocità maggiore. Al giorno d'oggi una velocità pari a 15,000 RPM è idonea per le unità con elevate prestazioni, mentre 5,400 RPM è idonea per unità di tipo entry-level. Ciò ne consegue che la media è di circa 3 millisecondi per una unità di 10,000 RPM.
Se vi è un componente nel disco fisso che può essere considerato il punto debole, esso è rappresentato dal braccio d'accesso. Il motivo è che il braccio d'accesso si muove molto rapidamente e in modo preciso, su distanze relativamente molto lunghe. In aggiunta, il movimento del braccio d'accesso non è continuo — infatti deve accelerare molto rapidamente per avvicinarsi al cilindro desiderato per poi decelerare per evitare di superarlo. Quindi il braccio d'accesso deve essere resistente (per sopravvivere alle forze alle quali viene sottoposto a causa dei movimenti brevi e veloci), ma anche leggero (in questo modo vi è meno massa da accelerare/decelerare).
Raggiungere questi obiettivi è difficile, infatti il movimento del braccio d'accesso è relativamente maggiore rispetto al tempo utilizzato da altri componenti. Per questo, il movimento del braccio d'accesso risulta essere determinante sulla prestazione generale del disco fisso, aggirandosi intorno a 5.5 millisecondi.
Un altro fattore in grado di controllare la prestazione del disco fisso è il carico I/O al quale il disco fisso stesso viene sottoposto. Alcuni degli aspetti più specifici inerenti il carico I/O sono:
La quantità di dati letti rispetto a quelli scritti
Il numero corrente dei lettori/scrittori
La posizione delle letture/scritture
Questo viene affrontato in modo più dettagliato nelle seguenti sezioni.
Per l'unità disco generica che utilizza un media megnetico per la conservazione dei dati, il numero delle operazioni I/O di lettura rispetto al numero delle operazioni I/O di scrittura non risulta essere un problema, in quanto la lettura e la scrittura dei dati richiedono la stessa quantità di tempo[1]. Tuttavia, altre tecnologie mass storage necessitano di una quantità di tempo diverso per processare la lettura e la scrittura[2].
L'impatto che ne consegue è che i dispositivi che necessitano di maggior tempo per processare le operazioni I/O di scrittura (per esempio), sono in grado di gestire un minor numero I/O di scrittura rispetto agli I/O di lettura. Se ci poniamo un'altra prospettiva, un processo I/O di scrittura necessita di una maggiore abilità del dispositivo a processare le richieste I/O rispetto al processo I/O di lettura.
Un disco fisso che processa le richieste I/O provenienti da fonti multiple, presenta un carico diverso rispetto al disco fisso che fa fronte alle richieste I/O provenienti solo da una fonte. La ragione principale per questo è data dal fatto che le richieste I/O multiple hanno il potenziale di provvedere a carichi I/O più elevati, riguardanti un disco fisso invece di una richiesta I/O singola.
Questo perchè un richiedente I/O deve eseguire un certo numero di processazioni, prima che si possa verificare una operazione I/O. Dopo tutto, il richiedente deve determinare la natura della richiesta I/O prima che la stessa possa essere eseguita. Poichè la processazione necessaria per determinare quanto detto richiede del tempo, esiste un limite superiore sul carico I/O che un richiedente è in grado di generare — solo una CPU più veloce è in grado di elevare il suddetto limite. Questa limitazione è maggiormente evidenziata se il richiedente necessita un input umano prima di eseguire un I/O.
Tuttavia, con richieste multiple, i carichi I/O più elevati possono essere sostenuti. Fino a quando è disponibile una alimentazione CPU sufficiente a supportare il processo necessario a generare le richieste I/O, l'aggiunta di più richieste I/O aumenta il carico I/O risultante.
Tuttavia, vi è un altro fattore in grado di essere collegato al carico I/O risultante. Tale fattore viene affrontato nella seguente sezione.
Anche se non forzato da un ambiente multi-richiedente, l'aspetto della prestazione del disco fisso tende ad essere più accentuato in tali ambienti. Il problema è se le richieste I/O fatte da un disco fisso, siano per dati fisicamente vicini ad altri dati già richiesti.
Il motivo per il quale esso risulta importante diventa apparente se si tiene in considerazione la natura elettromeccanica del disco fisso. La componente più lenta di qualsiasi disco fisso è rappresentata dal braccio d'accesso. Per questo motivo, se i dati interessati dalle richieste I/O in entrata non necessitano di alcun movimento da parte del braccio d'accesso, il disco fisso è in grado di servire molte più richieste I/O rispetto a quando i dati in questione si trovano in diverse posizioni nel drive, e quindi richiedono un movimento esteso da parte del braccio d'accesso stesso.
Ciò può essere illustrato guardando alle specifiche sulla prestazione del disco fisso. Queste specificazioni includono spesso i tempi di ricerca adjacent cylinder (dove il braccio d'accesso viene mosso lievemente — solo sul cilindro successivo), e tempi di ricerca full-stroke (dove il braccio d'accesso si muove dal primissimo cilindro fino all'ultimo). Per esempio, ecco i tempi di ricerca per un disco fisso ad alte prestazioni:
| [1] | Questo non risulta essere veritiero. Tutti i dischi fissi includono una certa quantità di memoria cache interna, che viene usata per migliorare la prestazione di lettura. Tuttavia ogni richiesta I/O di lettura dei dati, deve essere soddisfatta leggendo i dati dal mezzo utilizzato per lo storage. Ciò significa che, mentre la cache è in grado di alleviare i problemi inerenti la prestazione I/O di lettura, risulta impossibile eliminare il tempo necessario per leggere fisicamente i dati dal mezzo utilizzato per lo storage. |
| [2] | Alcune unità disco ottiche presentano questo comportamento, a causa della limitazione fisica delle tecnologie utilizzate per implementare la conservazione ottica dei dati. |