Partycja /tmp dzięki tmpfs
Napisał: Patryk Krawaczyński
07/06/2009 w Administracja Brak komentarzy. (artykuł nr 64, ilość słów: 403)
T
mpfs jest systemem plików, który przechowuje wszystkie pliki w pamięci wirtualnej – oznacza to, że wszystkie pliki umieszczone na partycji wykorzystującej ten system plików nie zostaną nigdy stworzone na naszym dysku twardym. Został on zaimplementowany od jądra w wersji 2.4 – a, jego wsparcie możemy włączyć w menu “File systems”, sekcji “Pseudo filesystems”, opcja “Virtual memory file system support (former shm fs)”. Szczerze mówiąc, dobrze jest posiadać wsparcie tmpfs niezależnie od tego czy będziemy z niego korzystać czy nie, ponieważ jest on niezbędny do wykorzystania współdzielonej pamięci przez oprogramowanie, zgodnie ze standardem POSIX (ang. Portable Operating System Interface). W tym celu należy zamontować tmpfs w jego “oficjalnym” punkcie montowania, czyli /dev/shm:
tmpfs /dev/shm tmpfs defaults 0 0
Lub wersja bardziej bezpieczna dla środowiska serwerowego:
tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec,rw 0 0
Warto wspomnieć – żeby wykorzystać pamięć współdzieloną w standardzie System V, nie jest wymagane posiadanie wsparcia dla tego systemu pliku w jądrze. Ten pseudo system plików może zostać również wykorzystany do poprawy osiągnięć aplikacji jak i całego systemu. Ze względu na fakt, iż jest on tworzony w momencie jego zamontowania oraz niszczony z całą zawartością podczas odmontowania można go bez problemu wykorzystać np. do obsługi partycji /tmp, w której przechowywane są tymczasowe pliki systemowe. W dodatku możemy bez problemu zdefiniować ilość pamięci RAM/SWAP jaka maksymalnie zostanie użyta do stworzenia naszego systemu pliku (standardowo jest to połowa ilości naszej pamięci) oraz liczbę przydzielonych i-węzłów:
tmpfs /tmp tmpfs defaults,size=256m,mode=1777 0 0
Lub wersja bardziej bezpieczna dla środowiska serwerowego:
tmpfs /tmp tmpfs defaults,nodev,nosuid,noexec,size=256m,mode=1777 0 0
Dodając powyższy wpis do pliku /etc/fstab spowodujemy każdorazowe zamontowanie systemu plików tmpfs pod katalogiem /tmp, który maksymalnie może zarezerwować sobie 256 MB pamięci wirtualnej. W dodatku upewniamy się, że katalog /tmp będzie miał prawidłowe prawa dostępu – 777 + sticky bit (t) 1000 = 1777. Przed opcją size, możemy uwzględnić także opcję nr_inodes=5k, która spowoduje zawarcie tych 256 MB w 5120 i-węzłach. Dzięki przewadze szybkości pamięci RAM od standardowych dysków twardych tmpfs możemy równie dobrze wykorzystać w każdym innym miejscu systemu, w którym często są ładowane pliki poddawane częstemu odczytywaniu i zapisywaniu. Wszystko zależy od naszej wyobraźni i ilości posiadanej pamięci.
Więcej informacji: Advanced filesystem implementor’s guide, tmpfs.txt