Warum sind 5 % des Plattenplatzes für root reserviert?
Zur Abwechslung mal kein Artikel aus News oder Mail, sondern ein aus
verschiedenen Texten zusammengefaßtes Machwerk.
Mich nervt ein wenig daß dieses Thema in den FAQs so gar nicht oder
schlecht beschrieben wird ...
- Frage: warum werden 5 % des Plattenplatzes für root reserviert?
- Antwort: Das hat mehrere Gründe:
- zum einen werden hochentwickelte Dateisysteme langsamer wenn sie
keinen Platz mehr zur Verfügung haben. Sie müssen dann die
Daten fragmentieren, das heisst sie können sie nicht mehr in
möglichst grossen Stücken am Block wegschreiben, sondern
müssen sie über die Partition verteilen. Die dafür
notwendigen Kopfbewegungen über die Platte sind nicht kostenlos
zu haben.
Die Abnahme der Geschwindigkeit ist deutlich meßbar.
- Plattenplatzmangel mögen viele Programme überhaupt nicht.
Wo zum Beispiel soll ein Mailserver die Mails abspeichern? Wo
soll der Syslogdaemon seine Meldungen verewigen? Die entstehenden
Probleme sollten sofort klar sein.
Und dennoch - typischerweise
sind Mailserver und syslogd noch Programme die mit dieser
Situation verhältnismäßig gut umgehen können. Etliche
Andere brechen ihre Arbeit ab, manche stürzen ab, und manche
machen trotz unzureichendem Plattenplatz weiter, mit möglicherweise
üblen Resultaten.
Dem beugt die Reserve für root vor. Sie schützt die wichtigsten
Programme, die üblicherweise eben die sind, die root selbst startet,
davor, von böswilligen oder unaufmerksamen Benutzern geschädigt
zu werden.
- In der Praxis ist die Reserve häufig auch notwendig um überhaupt
wieder Platz schaffen zu können. Heute zum Beispiel ist hier die
Platte auf dem Accountingrechner vollgelaufen. Dank Rootreserve
konnte ich die Daten mit gzip verkleinern, ich hätte sie nicht
mehr auf eine andere Platte auslagern können.
- Frage: meine wichtigste Anwendung läuft nicht unter Rootrechten,
sondern als anderer Benutzer, und soll möglichst lange weiterlaufen.
Was tun?
- Antwort: Man kann den Benutzer der die Reserveblöcke nutzen kann durch
tune2fs -u USERNAME-oder-NUMMER ändern.
- Frage: 5% scheint mir zu viel zu sein. Ich hab' 100 Gigabyte Plattenplatz,
müssen dann 5 Gigabyte Reserve wirklich sein?
- Antwort: Die Fragmentierung ist unabhängig von der Plattengröße.
100 GB und 10 MB sind bei 99% Füllung gleich stark fragmentiert, das
heißt prozentual etwa gleich verlangsamt.
Nein, so groß muß die Reserve nicht sein. Man kann sie
ändern. Ob es viel bringt, naja. Es gibt Berichte von Newsservern
die nach Reduzierung der Reserve bei einer Füllung von ungefähr
99% faktisch zum Stillstand kamen, die Nachrichten nicht mehr so
schnell einsortieren konnten wie sie kamen, geschweige denn daß sie
sie hätten weiterverteilen können.
- Frage: ich weiß was ich mache. Wie ändere ich die Reserve?
- Antwort: ok, wie Du willst. tune2fs -i 10 erhöht die
Reserve auf 10%. tune2fs -r 10000 setzt die Reserve auf
10000 Blöcke der Partition fest (intern wird übrigens beides
in einem Datenfeld gespeichert, tune2fs -r üebrschreibt also
ein vorheriges tune2fs -i).
99% dieser ich weiß was ich mache sind übrigens falsch.
- Frage: gibt es noch mehr dazu zu sagen?
- Aber klar. Mit tune2fs -g GRUPPENNAME-oder-NUMMER kann man
festlegen daß Benutzer aus der genannten Gruppe (siehe /etc/group)
die Reserve der Partition nutzen dürfen.