Lightning
21.10.08, 07:02
ich bastle zur zeit an meiner embedded workstation. ich will das teil in der finalen version auf eine cf-card installieren. damit steht natürlich im raum, diese karte möglichst von unnötigen schreibzugriffen zu bewahren um da auch eine haltbarkeit zu gewährleisten.
für das root-filesystem u.ä. würden fs-anpassungen wie mount-options (noatime und nodiratime) imho reichen, etwas kopfzerbrechen bereitet mir allerdings /var. ich würde das ganze am liebsten in eine ramdisk bzw. ein tmpfs umlagern (ebenso werde ich mit /tmp verfahren, aber das stellt kein problem dar) und dann regelmäßig rsync-jobs laufen lassen, die mir das ganze auf den nicht flüchtigen speicher runterschreiben (ich möchte zunächst geziehlt auf dinge wie unionfs oder aufs verzichten).
und jetzt kommt das problem: wie kriege ich /var nach dem start in ramdisk/tmpfs umgezogen? das problem ist ja, dass man viel zeug aus /var/run (pid-files mit offenem filehandle, fifos, socks) nicht mal kurz samt zugriffen gesyncht bekommt (oder doch?), sodass ich einfach kopieren und drübermounten könnte.
ich weiß, dass es unter bsd die möglichkeit gibt, das filesystem als critical filesystem zu definieren und das ganze so umzuziehen, bevor ein deamon oder sowas gestartet wird und solche files dort anlegt. imho gibts diese möglichkeit aber unter linux nicht; zumindest wüsste ich nicht wie und meine suche blieb erfolglos.
als momentan einzige möglichkeit fällt mir eine initrd ein, die das ganze kopieren+remount vorher übernimmt. mich interessieren allerdings noch andere lösungen (insbesondere, da ich die initrd vermeiden wollen würde, sofern sie nicht nötig ist, da sonst keinerlei nutzen dafür besteht und ich dann ja auch gleich aufs machen könnte ;)).
für das root-filesystem u.ä. würden fs-anpassungen wie mount-options (noatime und nodiratime) imho reichen, etwas kopfzerbrechen bereitet mir allerdings /var. ich würde das ganze am liebsten in eine ramdisk bzw. ein tmpfs umlagern (ebenso werde ich mit /tmp verfahren, aber das stellt kein problem dar) und dann regelmäßig rsync-jobs laufen lassen, die mir das ganze auf den nicht flüchtigen speicher runterschreiben (ich möchte zunächst geziehlt auf dinge wie unionfs oder aufs verzichten).
und jetzt kommt das problem: wie kriege ich /var nach dem start in ramdisk/tmpfs umgezogen? das problem ist ja, dass man viel zeug aus /var/run (pid-files mit offenem filehandle, fifos, socks) nicht mal kurz samt zugriffen gesyncht bekommt (oder doch?), sodass ich einfach kopieren und drübermounten könnte.
ich weiß, dass es unter bsd die möglichkeit gibt, das filesystem als critical filesystem zu definieren und das ganze so umzuziehen, bevor ein deamon oder sowas gestartet wird und solche files dort anlegt. imho gibts diese möglichkeit aber unter linux nicht; zumindest wüsste ich nicht wie und meine suche blieb erfolglos.
als momentan einzige möglichkeit fällt mir eine initrd ein, die das ganze kopieren+remount vorher übernimmt. mich interessieren allerdings noch andere lösungen (insbesondere, da ich die initrd vermeiden wollen würde, sofern sie nicht nötig ist, da sonst keinerlei nutzen dafür besteht und ich dann ja auch gleich aufs machen könnte ;)).