Προς το περιεχόμενο

SSD and Linux


SuPerMaNrE

Προτεινόμενες αναρτήσεις

  • Απαντ. 38
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Είχα γράψει παλιά έναν οδηγό, ίσως σε βοηθήσει:

 

Install and optimize an SSD for Ubuntu 14.04

Κάποια γρήγορα σχόλια.

 

Use EXT4 file system

SSDs work better with the ext4 files system, than with the NTFS.

Οι "Use τάδε" είναι λίγο βαριές δηλώσεις ειδικά σαν γενική πρόταση για όλους χωρίς να ξέρουμε προδιαγραφές και workload. Επίσης γιατί συγκρίνεις το NTFS ? Γιατί κάποιος που θα στήσει ένα νέο δίσκο σε linux να επιλέξει NTFS ?

 

Add the option "discard" after ext4 for all the SSD partitions (except swap):

 

UUID=0ee549f0-1946-4136-8aa4-c5219a568981 / ext4 discard,errors=remount-ro 0 1

# /home was on /dev/sda2 during installation. SSD

UUID=8f23cbcd-9d4d-4233-bb62-443918549111 /home ext4 discard,defaults 0 2

Όπως έχει ειπωθεί σε διάφορα μηνύματα, δεν είναι καλό να ορίζουμε την παράμετρο discard.

 

Adding noatime and nodiratime

noatime disables atime updates on file system while nodiratime disables atime updates on directory system. This reduces unnecessary writes to the SSD.

Αν δεν άλλαξε τόσο τραγικά κάτι, η noatime δρα για όλες τις inodes οπότε υποννοεί την nodiratime.

 

Make sure I have the option "defaults" for the HDD. This way I do not need root rights to write/delete on t.

Το αν μπορείς να γράψεις κάπου εξαρτάται από τις άδειες, την umask, κτλ. Γιατί η επιλογή defaults σου επιτρέπει να γράφεις χωρίς να είσαι root ?

 

i decided to use tmpfs (which practically creates a RAM disk) to store some temporary files. Once the system is restarted, everything in tmpfs will be gone. This however may cause a problem, if for example I want to edit a huge video file.

 

These are some recommended settings to add at the end of /etc/fstab:

 

# temporary directories

tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0

# log directories

tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0

Ενώ ο ορισμός του /tmp είναι πολύ χαλαρός, το /var/tmp ορίζεται ότι περιέχει persistent προσωρινά δεδομένα τα οποία πρέπει να παραμείνουν και μετά από μια επανεκκίνηση. Ενώ θεωρητικά είναι έτσι, έχω δει πολλές φορές να προτείνεται να γίνει tmpfs το /var/tmp και δεν με χτυπάει τόσο άσχημα όσο τα επόμενα.

 

Σε πολλές διανομές, στο /var/spool υπάρχουν τα crontabs των χρηστών (και του συστήματος) και τα emails των χρηστών. Δηλαδή με tmpfs σε αυτά έχασες όλες τις χρονοπρογραμματισμένες εργασίες, όλα τα e-mails και όλα τα logs του συστήματος.

 

Edit: Μετά βέβαια γράφεις ότι δεν ρίσκαρες να τα βάλεις στο fstab σου αλλά το γεγονός παραμένει ότι τα εμφανίζεις σαν "recommended".

 

Χωρίς να θέλω να μειώσω την προσπάθεια σου ή να σε προσβάλλω, δεν μου άρεσε καθόλου ο οδηγός. Μου φαίνεται προχειρο-γραμμένος χωρίς να γίνει καθόλου έρευνα αν ισχύουν αυτά που γράφονται.

Δημοσ.

imitheos

 

ίσως να έχεις δίκιο σε όλα.  Δεν είμαι καλός στο Linux αλλά το παλεύω όπως μπορώ. 

 

Εγώ τότε έκανα μία έρευνα, κατέληξα σε αυτά και τα κατέγραψα ώστε να θυμάμαι τι να κάνω σε περίπτωση που χρειαστεί να τα ξαναστήσω (που πράγματι συνέβη). 

Δημοσ.

Αξιζει να βαλω το /var/log σε tmpfs? Δεν ρωταω για να παρω την κλασσικη απαντηση "ναι, αλλα αν συμβει κατι, χανεις τα logs του συστηματος και κανεις δυσκολοτερο το troubleshooting".

Ποσο συχνα γραφει το συστημα εκει μεσα ωστε να δικαιολογιε τη μεταφορα σε tmpfs? Θα εχω καποια αλλη παρενεργεια, πχ το systemd να γραφει ηδη στο ταδε αρχειο και να μην μπορω να κανω τη μεταφορα?

Δημοσ.

Το κρίσιμο ερώτημα νομίζω είναι: «τι θα κερδίσεις έχοντας το /var/log σε tmpfs;»

 

Προσωπικά νομίζω ότι δεν αξίζει τον κόπο αν έχεις ένα σύγχρονο SSD.

Δημοσ. (επεξεργασμένο)

@ imitheos

 

Βρήκα χρόνο να εξετάσω τα σχόλια σου και να ξανακοιτάξω τον οδηγό που είχα γράψει.

 

Έψαξα λίγο για το discard.  Εγώ κατάλαβα ότι είναι απαραίτητο για να δουλέψει το TRIM, το οποίο και πάλι είναι απαραίτητο για τη σωστή λειτουργία του SSD.  Αν κατάλαβα λάθος, πες μου σε παρακαλώ κάτι συγκεκριμένο.

“Make sure I have the option "defaults" for the HDD.  This way I do not need root rights to write/delete on it.”
Αυτό πράγματι δεν ξέρω από που το πήρα.  Από ότι κατάλαβα το defaults χρειάζεται, αλλά η αιτιολογία ίσως είναι λάθος.  Αν θέλεις πες μου ένω σωστό σχόλιο, ώστε να το αντικαταστήσω και στον οδηγό.

 

Τα υπόλοιπα νομίζω ότι μπορούν να παραμείνουνε.  Ο οδηγός δεν είναι τέλειος, αλλά εξυπηρετεί να θυμηθώ τι βήματα να ακολουθήσω, αν θέλω να ξαναστήσω το σύστημα.

Επεξ/σία από bobptz
Δημοσ.

Αξιζει να βαλω το /var/log σε tmpfs? Δεν ρωταω για να παρω την κλασσικη απαντηση "ναι, αλλα αν συμβει κατι, χανεις τα logs του συστηματος και κανεις δυσκολοτερο το troubleshooting".

Ποσο συχνα γραφει το συστημα εκει μεσα ωστε να δικαιολογιε τη μεταφορα σε tmpfs? Θα εχω καποια αλλη παρενεργεια, πχ το systemd να γραφει ηδη στο ταδε αρχειο και να μην μπορω να κανω τη μεταφορα?

Σε μη-systemd εξαρτάται πώς έχει στηθεί ο logger. Σχεδόν σε όλες τις διανομές, όλα τα μη-critical log files ορίζονται με - μπροστά ώστε να μην γίνεται sync μετά από κάθε μία καταχώρηση οπότε δεν ξεσκίζεται στο γράψιμο. Σε systemd δεν ξέρω τι patterns ακολουθούνται.

 

Από εκεί και πέρα αντί να βασιστείς σε γνώμες τύπου "δεν έχω παρατηρήσει να γράφει συχνά" όπως θα σου απαντήσουμε οι περισσότεροι, το καλύτερο είναι να δεις εσύ το pattern που ακολουθούν οι διάφορες processes που γράφουν στο /var/log.

 

Εκτός από την μορφή "strace τάδε binary" με την οποία εκτελείς ένα binary μέσω του strace, μπορείς να πεις στο strace να κάνει attach σε κάποιο pid οπότε μπορείς να δεις πόσο συχνά και τι μεγέθη γράφει κάποιος logger. Μια μορφή θα μπορούσε πχ να είναι strace -e trace=write -p pid

 

Το κρίσιμο ερώτημα νομίζω είναι: «τι θα κερδίσεις έχοντας το /var/log σε tmpfs;»

 

Προσωπικά νομίζω ότι δεν αξίζει τον κόπο αν έχεις ένα σύγχρονο SSD.

Δεν θυμάμαι λεπτομέρειες αλλά παλαιότερα ο logger του systemd ακολουθούσε ένα pattern το οποίο ήταν επιζήμιο για SSD και ειδικά σε κάποιο COW filesystem όπως το btrfs (εκτός ότι υπό συνθήκες έκανε corrupt το log και γενικά είχαν γίνει διάφορες άλλες χαζές επιλογές από τους devs που δεν είναι του θέματος). Μετά από το κλασικό κράσιμο από τον Linus και πολλούς χρήστες, αλλάχθηκε η συμπεριφορά.

 

Πρακτικά όμως, όπως είπες, σε ένα σύγχρονο SSD το firmware κάνει ένα κάρο πατέντες όπως ομαδοποιήσεις εγγραφών, κτλ οπότε δεν θα υπάρχει κανένα πρόβλημα ακόμη και με "κακά patterns".

 

Και εγώ δεν βλέπω λόγο το /var/log να μπει σε tmpfs αλλά εφόσον ο jim_p το θέλει, πάω πάσο.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...