Lustre Best Practices

Z KdmWiki
Skocz do: nawigacji, wyszukiwania

< Podręcznik użytkownika KDM < Dostęp do KDM < Dostępna przestrzeń dyskowa < Lustre Best Practices

System plików Lustre dostarcza przestrzeń /lustre/scratch służącą do obliczeń. Współdzieli on wiele zasobów i jego nieodpowiednie używanie może doprowadzić do niepotrzebnie dużego obciążenia lub w skrajnych przypadkach do awarii tego podsystemu. Bardzo proszę zapoznać się ze zbiorem najlepszych praktyk dotyczących file systemu Lustre i ich używanie co pozwoli na optymalne wykorzystanie zasobów.

Jak działa Lustre?

Kiedy program chce dostać się do danych składowanych na Lustre, odpytuje najpierw serwer MDS (metadata server) o położenie pliku. Mając te informacje może zwrócić się bezpośrednio do serwera lub serwerów OSS (Object Storage Server), który to pozwala na dostęp do danych, dopisanie danych do plików itp.

Jak korzystać z Lustre?

  • Nie należy nadużywać polecenia ls -l. Aby wyświetlić output polecenia ls -l, klient dla każdego wylistowanego pliku wysyła żądanie zarówno do serwera MDS jak i do serwera(ów) OSS. Nie należy używać również ls z kolorowaniem składni. Aby wylistować zawartość katalogu powinno się uruchomić ls bez dodatkowych argumentów, ewentualnie programy find lub lfs (z opcją find).
  • Należy ograniczyć liczbę plików w katalogach. Operacja otwarcia pliku zakłada blokadę na katalog nadrzędny. Aby zmniejszyć negatywny efekt przy otwieraniu wielu plików powinno się utworzyć strukturę podkatalogów i rozmieścić w niej pliki.
  • Nie powinno się korzystać z małych plików na Lustre. Ten file system nie jest przystosowany do obsługi takich plików. Jeśli tylko można należy połączyć małe pliki w jeden większy lub korzystać z nich tylko na swoim katalogu /home
  • Jeśli to tylko możliwe należy używać dużych, sekwencyjnych odczytów/zapisów. Jako, że file system Lustre stara się odczytywać/zapisywać dane 1 megabajtowymi blokami, takie działanie pozwali na uzyskanie najlepszej wydajności.
  • Jeśli to możliwe należy otwierać pliki w trybie „read-only”. Jeśli program nie będzie zapisywał do pliku, przy jego otwarciu należy użyć flagi O_RDONLY. Jeśli dodatkowo nie jest ważny czas dostępu do pliku dobrą praktyką jest użycie flagi O_NOATIME.