Dużo plików - duży kłopot

Przełożyć dyski

Jeśli warunki techniczne to umożliwiają, administratorzy mogą przełożyć dyski (lub przełączyć zasoby dyskowe) do nowego serwera i całą operację przeprowadzić lokalnie, w obrębie jednego systemu operacyjnego. Niestety, może to powodować problemy z kopiowaniem plików oraz linków. Operacja ta będzie zazwyczaj szybsza niż kopiowanie danych przez sieć.

Niemniej nie zawsze z takiej możliwości można skorzystać, gdyż dzisiejsze serwery korzystają z macierzy RAID - przełożenie dysków do kontrolera o innej konstrukcji nie umożliwi zamontowania woluminu, ponadto bardzo prawdopodobna jest utrata danych. Operacja uruchamiania macierzy z pojedynczych dysków w środowisku innego kontrolera (nawet z inną wersją firmware) niesie ze sobą bardzo duże ryzyko, ponadto problemy mogą się pojawić po stronie systemu operacyjnego maszyny docelowej. Najwięcej kłopotów przynoszą systemy, które automatycznie wykrywają i montują nowe zasoby dyskowe. O wiele lepszym pomysłem jest wykorzystanie zewnętrznego zasobu (iSCSI, FC), który można przełączyć od jednego serwera do drugiego.

Przesłać przez FTP

Protokół FTP powstał dekady temu i nadal bardzo dobrze nadaje się do przesyłania plików siecią TCP/IP. Wiele systemów obsługuje ten protokół, zatem można z niego skorzystać, ale każde z popularnych narzędzi ma problemy przy dużej ilości plików. Filezilla przestaje pracować, gdy kolejka osiąga około miliona plików, WS-FTP obsłuży ich nieco więcej, ale też nie przekroczy 4 mln. Dodatkowym problemem jest konieczność ponownego ustawiania uprawnień i niektórych atrybutów po stronie docelowej. Proces ten jest dość długotrwały w systemach Windows, wymaga przy tym uwagi i dobrego zaplanowania. Protokół FTP świetnie nadaje się do przesyłania dużych plików (o wiele lepiej niż SMB/CIFS, gdyż radzi sobie ze wznawianiem transmisji w przypadku błędu lub problemu) i można z niego skorzystać do przesłania archiwów utworzonych za pomocą dowolnego narzędzia. Przy pobieraniu pliku z serwera FTP można posłużyć się narzędziem wget.

Archiwizacja plików

Przesyłanie wielu plików można usprawnić, archiwizując je na serwerze źródłowym, przesyłając archiwum i rozpakowując je w miejscu docelowym. Problem z takim archiwum polega na tym, że żaden z badanych programów dla Windows nie potrafi utworzyć archiwum zawierającego kilkadziesiąt mln plików. Archiwum z 12 mln plików nie wykona ani wbudowane w Windows 2003 server narzędzie kompresji, ani komercyjny WinZIP i WinRAR, ani darmowy 7Zip. W środowisku Windows NT/2000, można skorzystać z narzędzia podsystemu POSIX o nazwie pax, które radzi sobie znacznie lepiej od wymienionych wyżej archiwizatorów. Windows 2008 Server w domyślnej instalacji go nie posiada. Niemniej nawet tar z pakietu Cygwin nie zawsze poradzi sobie z takim zadaniem, gdyż posiada inne ograniczenie - maksymalną długość ścieżki plików, obsługiwaną przez CMD. Nawet jeśli udałoby się utworzyć podzielone archiwum, zawierające kopię wszystkich zasobów, należy dysponować miejscem składowania danych, by móc takie pliki przechować. Nie zawsze warunek ten jest spełniony, ponadto tworzenie archiwum na zamapowanym przez CIFS katalogu nie gwarantuje sukcesu.

Backup i restore

Naturalnym sposobem przeniesienia danych między serwerami jest wykonanie kopii bezpieczeństwa i odpowiednie odtworzenie jej w środowisku docelowym. Zazwyczaj do tego celu wykorzystuje się taśmy magnetyczne lub osobne urządzenia dyskowe i dedykowane oprogramowanie (czasem wbudowane w system operacyjny). Problemy mogą pojawić się wtedy, gdy maszyny nie dysponują kompatybilnymi napędami taśmowymi, nie można przełączyć połączenia z biblioteką albo ograniczenia licencyjne związane z wykorzystywanym oprogramowaniem poważnie podnoszą koszty takiej operacji. W starszych systemach, o dużym wykorzystaniu przestrzeni storage, nadal powstaje problem braku miejsca na tymczasowe składowanie archiwizowanych i rozpakowywanych plików.


TOP 200