März, 2013

syncs und I/O bound

Donnerstag, März 28th, 2013

Stellen wir uns ein Programm vor, dass unzählig viele Datensätze in Form von kleinen Dateien auf die Festplatte Befördern soll.

Zunächst mal was passiert während eines syncs auf die Festplatte. Die Datei und alle Buffer werden auf die Festplatte geschrieben, zudem wird das journal berechnet und ebenfalls gewartet bis es auf der Festplatte angekommen ist. Erst dann kann mit wieder mit weiten Operationen fort geführt werden.

Möchte man diese vom Programm gewählten Einstellungen umgehen ohne in das Programm selbst einzugreifen, hat man nur noch die Möglichkeit im Dateisystem Einstellungen vorzunehmen. Bei meinen Test hatte ich ein Programm das knapp 1200 kleine Dateien mittels sync auf die Festplatte bekam. Durch die Option barrier=0 schaffte das Programm 5500 – 6200 Operationen, also Faktor 5.

mount -o remount, barrier=0 /

Hierbei wird das Fielsystem regemountet und syncs werden nur nicht mehr beachtet.

Selbstverständlich ist hierbei abzuwägen wie wahrscheinlich ein Absturz des Rechners während eines Schreibvorganges ist.

dhclient host-name

Sonntag, März 24th, 2013

In einem Kundennetzwerk hatte ich das Problem, das der DHCP Server mir einen falschen Hostnamen mitteilte. So stand in den /etc/hosts eine anderer Name als der durch hostname, uname -a oder in der Bash angezeigt wurde.

Damit ich dieses Verhalten unterbinden konnte habe ich in der /etc/dhcp/dhclient.conf in der Zeile: send host-name ""; den richtigen Namen gesetzt damit dieser dem DHCP Server mitgeteilt wird und aus dem request Block die Option host-name, entfernt.

Boot degraded RAID

Samstag, März 23rd, 2013

Vergangene Woche hatte ich das Problem, das ein Server mit einem degraded Raid nicht mehr Booten konnte. Dort erschien folgende Frage die nach 15 Sekunden Timontete und in initramfs landete.

Do you wish to start the degraded RAID? [y/N]:

Damit diese Abfrage nicht mehr kommt, kann man folgende Einstellung vornehmen.
/etc/initramfs-tools/conf.d/mdadm
BOOT_DEGRADED=true

Danach muss man die initramfs neu bauen:
update-initramfs -k all -u

Bei einem Server reagierte während des Dialoges die Tastaturabfrage nicht. Diese könne ich umgehen indem ich im GRUB die Option bootdegraded hinter die initrd Zeile geschrieben habe.
Quelle: SoftwareRAID