Configurazione SSD - LVM

Buon giorno a tutti,

nel mio portatile ho SSD e fino ad ora ho usato un partizionamento
classico. Dopo l'installazione andavo a modificare il file fstab
aggiungendo discard,noatime alle diverse partizioni tranne la SWAP.
Ora sto provando una installazione LVM sempre su un SSD, in questo caso
come mi comporto con discard,noatime?

PS: penso che prima o poi ci servirà anche per lo sportello Europa-Novacella

Saluti e grazie

andrea

Dopo l'installazione andavo a modificare il file fstab
aggiungendo discard,noatime alle diverse partizioni tranne la SWAP.

Ciao Andrea,

molto interessante la tua mail, grazie! Non ne ero al corrente di queste
opzioni; dopo aver letto questo, ho dato un'occhiata alla documentazione
in giro, in particolare a https://wiki.debian.org/SSDOptimization

Ora sto provando una installazione LVM sempre su un SSD, in questo caso
come mi comporto con discard,noatime?

Direi "noatime" è un'opzione del file system, quindi va specificato in
/etc/fstab come lo hai fatto in passato (non dimenticarti di ricreare
l'initramfs, se ne usi uno).

La pagina di Debian raccomanda di settare l'opzione "issue_discards" in
/etc/lvm/lvm.conf -- dopo aver verificato che il trimming non crea dei
problemi al firmware dell'SSD.
Inoltre sconsiglia (debolmente) l'uso dell'opzone "discard" nel file
system e consiglia invece di lanciare il programma fstrim periodicamente
(nella pagina usa i file di systemd: fstrim.{service,timer}, altre
pagine usano cron.weekly).

Suggerisco vivamente di leggere la pagina di Debian, anche se usi un
altro sistema; molti consigli non sono specifici a Debian, e la pagina
contiene parecchi suggerimenti utili (per esempio di ridurre la
swappiness del kernel, montare /tmp come ramfs etc.)

Thomas

Ciao e grazie per la risposta. La pagina che mi consigli l'avevo vista,
e siccome non sono un informatico e non conosco l'inglese non ci ho
capito quasi nulla. Di quello che mi spieghi tu intuisco qualche cosa
proprio per il mio non essere del mestiere.

Dopo aver fatto l'installazione con LVM ho controllato /etc/fstab e mi
sono bloccato in quanto diverso da come lo avevo conosciuto con le
partizioni tradizionali.

Per quanto riguarda "issue_discards" in /etc/lvm/lvm.conf avevo
guardato, ho individuato la riga e a differenza di molte altre non
iniziava con # ergo ho immaginato fosse una istruzione NON ignorata e mi
sembrava come consigliato dalla pagina.

Per tutto il resto nero assoluto.

Beh, devo capire meglio la cosa, almeno non ero fuori strada.

Per quanto riguarda "issue_discards" in /etc/lvm/lvm.conf avevo
guardato, ho individuato la riga e a differenza di molte altre non
iniziava con # ergo ho immaginato fosse una istruzione NON ignorata e
mi
sembrava come consigliato dalla pagina.

Corretto.

[/etc/lvm/lvm.conf e /etc/lvm/lvm.conf]
Fin qui ci sono errori?

Sì. La modifica consigliata è di aggiungere noatime alle opzioni in
/etc/fstab e di aggiungere issue_discards = 1 a /etc/lvm/lvm.conf (come
hai fatto).

Se hai usato discard nelle mount opzioni, allora probabilmente il tuo
disco non ha dei problemi con il trimming, ma comunque darei un occhiata
con il comando
    sudo smartctl -a /dev/sda
se vedi degli errori. In tal caso meglio non usare trimming e/o
aggiornare il firmware del disco.

Per riassumere l'effetto di queste opzioni:
- noatime dice al file system di non memorizzare ogni accesso (access
time) a file e directories. Nei settaggi di default, ogni lettura di un
file causa un operazione di scrittura dove viene aggiornato la data
dell'ultimo accesso. Nei sistemi ad alta sicurezza questo può essere
utile, ma la grande maggioranza degli utenti può disattivare questo
mecanismo su tutti i dischi (non solo SSD).

- trimming: questo è complesso, ma cerco di riassumere. SSD hanno un
commando TRIM che informa il disco quali blocchi non sono più in uso e
che possono essere cancellati. Tutti i strati del tuo file system devono
essere configurati per il trimming: LVM con "issue_discards", dm-crype
(se utilizzato) con l'opzione "discard" e il file system con l'opzione
"discard" oppure (consigliato) chiamando periodicamente il comando
fstrim.

Se usi systemd, allora puoi configurare il sistema con questi
commandi[1]:
     sudo cp /usr/share/doc/util-linux/examples/fstrim.{service,timer}
/etc/systemd/system
     sudo systemctl enable fstrim.timer

Se non usi systemd, allora crea un file che viene chiamato
periodicamente da cron: crea il file /etc/cron.weekly/fstrim con il
contenuto (senza spazi all'inizio!)
     #!/bin/sh
     fstrim -a

Altre ottimizzazioni:

Usa un RAM file system in /tmp, per ridurre il numero di operazioni di
scrittura sul disco per file temporanei (attenzione, /tmp verrà
cancellato dopo ogni reboot!)

     sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/
     sudo systemctl enable tmp.mount

Se hai abbastanza RAM a disposizione, puoi ridurre l'uso della
partizione swap, aggiungendo "vm.swappiness=1" al file
/etc/sysctl.d/local.conf.

Ci sono altri suggerimenti nella pagina, ma queste sono le
ottimizazzioni che ho fatto sul mio sistema.

Thomas

[1]: domanda per chi conosce systemd: perché usare il comando copy
invece di un symlink?

Buon giorno a tutti,

grazie a Thomas che mi ha chiarito molto le idee e che mi ha dato spunti
per approfondire l'argomento, ho riassunto tutte le informazioni nel
manuale che si trova nel sito del LugBZ all'indirizzo

https://www.lugbz.org/?page_id=370

[GNU/Linux Operating System]da pagina 32

Argomenti trattati:

La funzione TRIM, configurazione del file fstab (noatime e discard per
le partizioni standard e solo noatime per i volumi LVM), configurazione
del file lvm.conf (istruzione discard solo per i volumi LVM), uso del
comando fstrim -v, automatizzazione del comando fstrim -v, gestione
della partizione SWAP (vm.swappiness) per limitare la scrittura sul disco.

saluti

andrea