Intel SSD X25-E
Da PiemonteWireless.
Dischi Solid State (SSD) Intel X25-E su Ubuntu
Dopo aver visto le ottime performance dei nuovi dischi solid state della Intel, ho montato questi dischi su un nuovo server Supermicro, in particolare una coppia di Intel X25-E da 32Gb.
Ho installato la versione server della ultima Ubuntu e ho montato i dischi con un RAID1 software. Quindi ho preso qualche piccolo accorgimento per aumentare le performance e allungare la vita ai dischi SSD, che dopo un tot di accessi al disco si deteriorano e muoiono.
Gli accorgimenti sono:
- Montare i volumi con l'opzione noatime: di default Linux aggiorna l'attributo "ultimo accesso" ogni volta che un file viene visto, il che comporta un notevole (e per me inutile) accesso al disco. Per disabilitare questa funzione occorre cambiare l'opzione relatime in noatime nel file /etc/fstab ad ogni riga che monta i device SSD. Nel mio caso solo quella /dev/md0:
# vim /etc/fstab /dev/md0 / ext3 noatime,errors=remount-ro 0 1
- Usare il disco ram al posto di quello SSD per i files temporanei (ovvero montare /tmp con filesystem tmpfs). Sempre nel file /etc/fstab aggiungere la seguente riga:
# vim /etc/fstab tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
- Cambiare lo scheduler I/O. Lo scheduler decide quali applicazioni devono scrivere sul disco e quando. Per i dischi SSD il tipo di scheduler fa una certa differenza. Lo scheduler di default per Linux è cfq. Lo scheduler si può cambiare per ogni device. Per vedere lo scheduler corrente ad esempio del disco sda usare il comando:
# cat /sys/block/sda/queue/scheduler
L'output restituirà i tipi di scheduler presenti e tra parentesi quadre quello attivo sul disco in questione. Per i dischi SSD gli scheduler migliori sono noop e deadline. Per cambiare lo scheduler (ma in modo temporaneo) usare il comando:
# echo deadline > /sys/block/sda/queue/scheduler
Se si vuole usare lo scheduler deadline è preferibile cambiare anche il parametro fifo_batch, che controlla il numero di richieste di lettura al disco da spostare dalla lista dello scheduler alla coda di dispatch del device quando queste scadono. Il valore di default è 16 ma e' preferibile usare il valore 1:
echo 1 > /sys/block/sda/queue/iosched/fifo_batch
Per rendere permanenti le modifiche aggingere le modifiche nel file /etc/rc.local:
# vim /etc/rc.local echo deadline > /sys/block/sda/queue/scheduler echo 1 > /sys/block/sda/queue/iosched/fifo_batch
Alla fine riavviare il computer per rendere effettive tutti i cambiamenti.
Ho testato le performance dei dischi SSD e sono rimasto piacevolmente sorpreso:
# sudo hdparm -t /dev/md0
/dev/md0:
Timing buffered disk reads: 694 MB in 3.00 seconds = 231.31 MB/sec
Aggiornerò al più presto la pagine con dei benchmarks e altre calibrature di performance.
Riferimenti:
- Intel® X25-E Extreme SATA Solid-State Drive
- Commento di Linus Torvalds sui dischi Intel SSD
- Pagine inglese per la configurazione dei SSD su Linux

