Re: /var/lock jako jakis tmpfs
Bartłomiej Zimoń
uzi18 w o2.pl
Sob, 26 Cze 2010, 23:05:31 CEST
Dnia 25 czerwca 2010 20:59 Bartłomiej Zimoń <uzi18 w o2.pl> napisał(a):
> Dnia 20 czerwca 2010 22:09 Jacek Konieczny <jajcus w jajcus.net> napisał(a):
> > On Sun, Jun 20, 2010 at 05:12:51PM +0200, Bartłomiej Zimoń wrote:
> > > Dnia 20 czerwca 2010 13:43 Pawel Kwiatkowski <qwiat w o2.pl> napisał(a):
> > > > Dnia 2010-06-18, pią o godzinie 09:05 +0200, Bartłomiej Zimoń pisze:
> > > > > Witam!
> > > > > Mala propozycja: /var/lock jako tmpfs lub podobny
> > > > > Pozdrawiam
> > > >
> > > > Zgaduję, że dotyczy to pozostawiania śmieci po przemontowaniu systemu
> > > > plików w RO lub po nagłym padzie systemu. Ten sam problem mamy
> > > > z /var/run i plikami z PID-ami. Tyle że tam też są rzeczy należące do
> > > > pakietów.
> > > >
> > > Tez ale glownie chodzi o mozliwosc startu serwisu zanim / filesystem bedzie mial dostep rw
> > > Co znaczaco przyspiesza uruchamianie systemu zwlaszcza w systemd.
> >
> > I potem będzie debugowanie tysiąca problemów wynikłych z tego, że w imię
> > najszybszego uruchomienia serwisy są startowane zanim mają to czego
> > potrzebują (u niektórych oczywiście będzie działać u innych nie)…
> >
> > No i czy z nowoczesnym initem (a zakładam, że takim systemd jest), który
> > wie co w systemie uruchomił, wciąż potrzeba tego /var/lock/subsys/cośtam?
> >
>
> Cos spłodziłem w wolnej chwili, a wynik poniżej
> (fragment z systemd wrzuce oddzielnie do svn)
> Co o tym sadzicie, moge wrzucac?
Chyba jednak lepiej /var/run uproscic - jednen mount tmpfs
gdzies a pozniej tylko mount --bind do /var/run
oszczedzamy jedno niepotrzebne kopiowanie.
Co sadzicie o /dev/shm/run jako miejscu dla kopii /var/run ?
>
> Pozdrawiam
> Bartłomiej Zimoń
>
> http://starowa.one.pl/~uzi/pld/rc-scripts-tmpfs.patch
>
> Index: rc.sysinit
> ===================================================================
> --- rc.sysinit (wersja 11564)
> +++ rc.sysinit (kopia robocza)
> @@ -117,10 +117,22 @@
> if ! is_yes "$VSERVER" ; then
> # we need /proc mounted before everything
> is_fsmounted proc /proc || mount -n -o gid=17 -t proc /proc /proc
> +
> + if is_yes "$SUBSYS_AS_TMPFS" ; then
> + mount -n -o mode=755,nosuid,nodev,noexec -t tmpfs none /var/lock/subsys
> + fi
>
> + if is_yes "$VAR_RUN_AS_TMPFS" ; then
> + mkdir /tmp/.copy_of_run
> + cp -aRf /var/run/* /tmp/.copy_of_run
> + mount -n -o mode=755,nosuid,nodev,noexec -t tmpfs none /var/run
> + cp -aRf /tmp/.copy_of_run/* /var/run
> + rm -rf /tmp/.copy_of_run
> + fi
> +
> # Only read this once.
> cmdline=$(cat /proc/cmdline)
> - if strstr "$cmdline" "pld.no-upstart" ; then
> + if strstr "$cmdline" "pld.no-upstart" || grep -q systemd /proc/1/cmdline 2>/dev/null ; then
> USE_UPSTART="no"
> fi
>
> Index: rc.shutdown
> ===================================================================
> --- rc.shutdown (wersja 11565)
> +++ rc.shutdown (kopia robocza)
> @@ -110,6 +110,14 @@
> force="-f"
> done
>
> + if is_yes "$VAR_RUN_AS_TMPFS" ; then
> + mkdir /tmp/.copy_of_run
> + cp -aRf /var/run/* /tmp/.copy_of_run
> + umount /var/run
> + cp -aRf /tmp/.copy_of_run/* /var/run
> + rm -rf /tmp/.copy_of_run
> + fi
> +
> run_cmd "Remounting root filesystem in ro mode" mount -n -o remount,ro /
>
> if [ -x /sbin/vgchange ]; then
>
> _______________________________________________
> pld-devel-pl mailing list
> pld-devel-pl w lists.pld-linux.org
> http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
>
Więcej informacji o liście dyskusyjnej pld-devel-pl