Spisu treści:

Utwórz kopię zapasową serwera: 6 kroków
Utwórz kopię zapasową serwera: 6 kroków

Wideo: Utwórz kopię zapasową serwera: 6 kroków

Wideo: Utwórz kopię zapasową serwera: 6 kroków
Wideo: Jak wykonać automatyczną kopię zapasową serwera (Backup)? 2024, Listopad
Anonim

JohntronJohntron SpeaksObserwuj więcej autora:

Zbuduj własną zaporę sieciową
Zbuduj własną zaporę sieciową
Zbuduj własną zaporę sieciową
Zbuduj własną zaporę sieciową

O: Programista, współzałożyciel Placethings i technolog. Obecnie uczęszcza do szkoły podyplomowej w programie Emerging Media and Communications na University of Texas w Dallas. Więcej o Johntronie »

Dowiedz się, jak wykonać kopię zapasową *nix box na zewnętrznym dysku twardym (lub napędzie taśmowym bez większego wysiłku). Omówię instalację nośnika kopii zapasowej, używając `dump`, przywracanie, a także tworzenie kopii zapasowych plików ze zdalnego serwera na zewnętrzny dysk twardy. Aby wykonać kopię zapasową komputera z systemem Windows, przeczytaj artykuł lifehacker.com tutaj. Krok 1: Przygotuj materiałyKrok 2: Zrób „zrzut”.

Krok 1: Przygotuj materiały

Zanim wykonasz kopię zapasową, musisz mieć coś do zrobienia. Tradycyjnie były to napędy taśmowe; jednak (jakościowy) zewnętrzny dysk twardy będzie działał dobrze. NIE MUSISZ używać zewnętrznego dysku twardego, ale dzięki dyskowi zewnętrznemu możesz zabrać go do domu (lub do innej lokalizacji poza siedzibą firmy). Użyłem kilku MyBooków Western Digital. Circuit City miał 80% zniżki na (wybrane) dyski zewnętrzne, a ja dostałem dwa dyski 250 GB za tanią cenę. Z mojego doświadczenia wynika, że Western Digital ma dyski bardzo wysokiej jakości (co oznacza, że działają wiecznie). Dzięki temu świetnie nadają się do tworzenia kopii zapasowych. Jeśli masz zamiar przejść przez kłopoty z tworzeniem kopii zapasowej, nie chcesz, aby twój nośnik kopii zapasowej zepsuł ci się. OK, tak jak mój inny artykuł, będę używał FreeBSD®; jednak większość rzeczy, które będę omawiać, można wykonać w dowolnym stylu Linux, Unix lub BSD. (Pomiń następny akapit, jeśli masz już obsługę USB 2.0 lub nie używasz zewnętrznego dysku USB) MyBooks są Dyski USB 2.0. FreeBSD 5.4-STABLE nie ma domyślnie włączonego sterownika EHCI (w zasadzie tego, co daje USB 2.0). Jest to łatwe rozwiązanie, choć niektórzy mogą pomyśleć, że rekompilacja jądra jest przerażająca (nie jest). Jeśli jesteś jednym z nadmiernie ostrożnych typów, polecam zrobić kopię zapasową PRZED ponowną kompilacją jądra. USB 2.0 może nie być włączony, ale USB 1.1 nadal działa. Jest po prostu znacznie wolniejszy. Aby włączyć EHCI, przeczytaj tę stronę podręcznika. Prawdopodobnie będziesz musiał również zajrzeć do tej sekcji Podręcznika, która wyjaśnia, jak właściwie przekompilować jądro. Jeśli używasz zewnętrznego dysku lub nawet wewnętrznego dysku, będziesz musiał go zamontować, zanim będziesz mógł go użyć. Odbywa się to za pomocą polecenia `mount` i jest całkiem proste. Oto strona podręcznika mount'a. Jeśli mount narzeka, że nie jest w stanie określić typu systemu plików, prawdopodobnie będziesz musiał sformatować dysk. Aby to zrobić, musisz znać właściwe urządzenie do sformatowania. Dla mnie był to /dev/da0, ale dla Ciebie może być inaczej. Zapoznaj się z dokumentacją swojej dystrybucji. Po ustaleniu, do którego urządzenia jest podłączony zewnętrzny dysk twardy, będziesz musiał przeprowadzić faktyczne formatowanie dysku (dobrze, partycji). Jeśli potrzebujesz pomocy przy partycjonowaniu dysku, po prostu zapytaj mnie. FreeBSD używa mkfs do tworzenia systemów plików na partycjach. Każdy rodzaj systemu plików będzie działał, ale zdecydowałem się na użycie UFS, ponieważ tego używa domyślnie FreeBSD. FAT32 jest prawdopodobnie najbardziej kompatybilny z innymi systemami operacyjnymi, a Ext3 jest obecnie używany przez większość odmian Linuksa (lub przynajmniej ostatnio, gdy używałem Linuksa). Użyłem więc tego polecenia, aby zamontować mój dysk: mount -t ufs /dev /da0 /backupOK, nośnik kopii zapasowej powinien być gotowy do użycia. Jeśli nie, po prostu zapytaj:) Przejdź do kroku 2. Znak FreeBSD jest zastrzeżonym znakiem towarowym The FreeBSD Foundation i jest używany przez Johna Syrinka za zgodą The FreeBSD Foundation.

Krok 2: Zrób „zrzut”

Zróbmy kopię zapasową naszych rzeczy. Jest na to kilka sposobów. Dump i Tar są prawdopodobnie dwoma najczęstszymi i oba mają swoje mocne i słabe strony. Dump jest najbardziej niezawodnym sposobem tworzenia kopii zapasowej systemu; jednak może tworzyć kopie zapasowe tylko całych partycji. Tar jest szybki i łatwy w użyciu w poszczególnych folderach, ale tworzenie kopii zapasowych większych woluminów zajmuje trochę czasu. Tar kompresuje również pliki, dodając warstwę złożoności, aby potencjalnie uszkodzić kopie zapasowe. Przeczytaj tę stronę, aby uzyskać więcej informacji Zdecydowałem się użyć dump ze względu na niezawodność. Przestrzeń dyskowa nie stanowiła problemu, a ponieważ mam crona wykonującego automatycznie kopie zapasowe podczas snu, nie muszę się martwić o ramy czasowe. Jednym z dziwactw dump jest tworzenie kopii zapasowych całych partycji. Oznacza to, że musisz zrzucić każdą partycję osobno (np. partycje /usr, /var i /tmp, a także partycję /). Dump pozwala również określić „poziom” kopii zapasowej. Będę robił cotygodniowe i nocne kopie zapasowe. Do cotygodniowych kopii zapasowych używam poziomu 0, a do nocnych kopii zapasowych używam poziomu 2. Jeśli używasz napędu taśmowego lub chcesz zaoszczędzić miejsce, rozważ użycie schematu tworzenia kopii zapasowych Wieża Hanoi (Google it (Pamiętaj, /backup to miejsce, w którym mam zamontowany zewnętrzny dysk twardy)Polecenia, których użyłem do cotygodniowych zrzutów, to:

  • dump -0Lna -C 100 -f /backup/tygodniowy/root /
  • dump -0Lna -C 100 -f /backup/weekly/usr /usr
  • dump -0Lna -C 100 -f /backup/weekly/var /var
  • dump -0Lna -C 100 -f /backup/cotygodniowy/tmp /tmp

Komendy, których użyłem do nocnych zrzutów to:

  • dump -2Lna -C 100 -f /backup/nocny/root/
  • dump -2Lna -C 100 -f /backup/nightly/usr /usr
  • dump -2Lna -C 100 -f /backup/nightly/var /var
  • dump -2Lna -C 100 -f /backup/nightly/tmp /tmp

Właściwie użyłem polecenia `date` do nazwania moich plików, ale pominąłem to dla uproszczenia. Zrzut za pomocą polecenia `date` wyglądałby mniej więcej tak:dump -0Lna -C 100 -f /backup/weekly/usr/`date "+%Y-%B-%d"` /usrOczywiście będziesz potrzebować utworzyć odpowiednie katalogi docelowe kopii zapasowej przed uruchomieniem polecenia dump, ale powinieneś być w stanie to rozgryźć. A teraz powinieneś mieć migawkę swojego systemu lub przynajmniej wiedzieć, jak ją utworzyć. Następnym krokiem jest użycie funkcji przywracania i jak zrobić dyskietki "fixit". NIE POMIJAJ TEGO KROKU, bo tracisz czas.

Krok 3: `przywróć`

Minęło trochę czasu, odkąd musiałem przywrócić kopię zapasową, więc wytrzymaj.

Aby przywrócić kopię zapasową, musisz mieć jakiś minimalny system operacyjny, aby przenieść kopię zapasową z nośnika kopii zapasowej na maszynę działającą, maszynę LIVE (np. bez wadliwego sprzętu) i same kopie zapasowe. Dla minimalnego systemu operacyjnego używam tej samej płyty CD, której użyłem do zainstalowania FreeBSD. Sysinstall ma tryb „Fixit” do przywracania kopii zapasowych. Jeśli masz niestandardowy sprzęt, może być konieczne utworzenie własnego niestandardowego dysku startowego. Nie zostanie to omówione w tym artykule, ale zasadniczo polega na utworzeniu jądra typu barebone i umieszczeniu go na dysku startowym. Uwaga: BARDZO minimalne jądro FreeBSD 5.4 ma około 2,3 MB, co oznacza, że nie zmieści się na jednej dyskietce. Więc w zasadzie, jeśli kupa uderzy w wentylator (ger ger ger), uruchamiasz komputer z płyty CD, wchodzisz w tryb „Fixit”, montujesz dysk twardy, a następnie uruchamiasz polecenie przywracania. Uważam, że musisz montować i odmontowywać partycje, które przywracasz, pojedynczo. Ponadto tablice partycji muszą być czyste, co oznacza, że być może będziesz musiał użyć `bsdlabel` do naprawy partycji. Polecenie Restore: (po zamontowaniu czystej partycji i przejściu do katalogu partycji docelowej) restore vrf /dev/da0 Należy pamiętać, że w razie potrzeby możliwe jest przywrócenie części (pojedynczych plików lub katalogów) kopii zapasowych utworzonych za pomocą dump.

Krok 4: Zdalne kopie zapasowe

Zdalne kopie zapasowe można wykonywać za pomocą rdump, scp lub niestandardowego oprogramowania. Większość firm hostingowych zapewnia (za opłatą) nocne kopie zapasowe. BARDZO polecam to, jeśli cenisz swoje dane. Miałem dwa serwery dedykowane z dwóch różnych hostów. Chociaż te kopie zapasowe są zwykle przechowywane na oddzielnym dysku, zwykle znajdują się w tym samym budynku, więc jeśli coś stanie się z budynkiem (co jest mało prawdopodobne, ale na pewno możliwe), jesteś SOL. Dlatego zalecam tworzenie własnych kopii zapasowych poza siedzibą (względem systemu, którego kopia zapasowa jest tworzona), a także lokalnych, nocnych kopii zapasowych. Zwróć uwagę, że musiałem dodać rozszerzenie.txt, aby przesłać skrypt (możesz to usunąć). Ponieważ firma hostująca moją zdalną maszynę wykonuje nocne kopie zapasowe `tar`, postanowiłem po prostu skopiować te pliki na komputer lokalny na noc podstawa. Napisałem oparty na PHP (bo tyle wiem) skrypt powłoki, który zasadniczo synchronizuje pliki kopii zapasowych zdalnego systemu z kopią lokalną. Pobiera nowe pliki, (opcjonalnie) ponownie pobiera pliki kopii zapasowych, które mają rozbieżności w rozmiarach plików, i usuwa kopie lokalne, które nie istnieją w systemie zdalnym. Oszczędza to przepustowość, czas i miejsce do przechowywania. Jest to po prostu opakowanie różnicowe dla scp. Źródło znajduje się na dole tej strony. Jeśli go używasz, upewnij się, że chmod ma uprawnienia do wykonywania (chmod u=+rx fetchbackups). Zalecam, aby użytkownik operator uruchamiał ten skrypt (operator chown fetchbackups). Alternatywne metody zdalnej kopii zapasowej obejmują użycie `scp` dla całego katalogu, użycie `rdump` lub, jak zauważyli klienci, użycie `rsnapshot` lub `backuppc`. Jeśli nie masz dostępu root do zdalnego serwera, niektóre z tych metod mogą nie być możliwe, a `scp` często wymaga dużo czasu i przepustowości.

Krok 5: Automatyzacja

Więc postanowiłeś zrobić migawkę swojego systemu, a teraz chcesz to robić każdej nocy. Cron świetnie się do tego nadaje i jest dość prosty w konfiguracji.

Zadania Cron to po prostu polecenia uruchamiane regularnie. Mogą kursować co miesiąc, co noc, a nawet o wpół do siódmej rano w poniedziałki. Zadania Cron są określone w pliku crontab. We FreeBSD plik ten znajduje się w /etc/crontab Wyświetl strony podręcznika systemowego /etc/crontab, aby dowiedzieć się, jak to działa. Dołączyłem mój plik crontab do tej strony (usuń rozszerzenie.txt). Wszystko, co musisz zrobić, to dodać zadania cron i zapisać plik. Plik jest ponownie oceniany co minutę, więc gotowe.

Krok 6: Wnioski i myśli końcowe

Mam nadzieję, że udało Ci się wykonać kopię zapasową swoich komputerów. Poniżej znajduje się tylko kilka uwag na ten temat.

Jeśli poważnie myślisz o kopiach zapasowych, to TEST TEST TEST. Upewnij się, że procedury tworzenia kopii zapasowych i przywracania są bezbłędne. Kopie zapasowe, których nie można przywrócić, są bezwartościowe. Jednym z problemów, na który natknąłem się, było ustawienie zbyt dużego rozmiaru pamięci podręcznej. Może to (zasadniczo) spowodować uszkodzenie systemu i jego zawieszenie. Pamięć podręczna powinna zawsze stanowić ułamek pamięci RAM, aby była efektywna (moja jedna piąta) i NIGDY nie powinna przekraczać rozmiaru przestrzeni wymiany. 32 MB jest zalecane na stronie podręcznika dump. Chociaż te informacje mogą być nieaktualne, posiadanie dużego rozmiaru pamięci podręcznej nie będzie miało większego znaczenia, jeśli masz całą noc na tworzenie kopii zapasowych systemu. Jeśli zautomatyzowałeś kopie zapasowe, upewnij się, że działają. To byłby prawdziwy koszmar, gdyby Twój system uległ awarii, a WTEDY zdał sobie sprawę, że twoje kopie zapasowe przestały działać 6 miesięcy temu z powodu niewystarczającej ilości miejsca na dysku. Zadania Cron po prostu automatyzują proces „zadowolenia”. Jeśli wykonujesz kopie zapasowe ręcznie, nie popadaj w samozadowolenie i zapomnij. Niech to będzie rutyna. Nie polegaj też na zadaniach crona, ponieważ mogą one zawieść. Kopie zapasowe to tylko kopie Twoich plików. Oznacza to, że kopie zapasowe powinny być zabezpieczone równie dobrze, jeśli nie lepiej, niż systemy działające na żywo. Przechowuj zewnętrzny dysk twardy w bezpiecznym miejscu (np. z dala od wody ORAZ włamywaczy). Uruchom cronjobs kopii zapasowych jako użytkownik „operator”. Jest to ograniczone konto, które istnieje dla takich rzeczy. Upewnij się również, że normalni użytkownicy nie mogą uruchamiać kopii zapasowych. Jeśli uważasz, że potencjalnie możesz być celem wyrafinowanego ataku (a nawet jeśli nie), zawsze szyfruj dane przesyłane podczas zdalnych kopii zapasowych. Ze względu na ilość informacji, a także regularność tworzenia kopii zapasowych (jeśli używasz cronjobs), hakerzy mogą nie spieszyć się z wykradaniem twoich informacji. Szyfrowanie jest łatwe, więc używaj go. Upewnij się, że zwykli użytkownicy nie mogą tworzyć kopii zapasowych na własnych urządzeniach. Ponadto `scp` wymaga uwierzytelnienia. BARDZO polecam wstępnie udostępnione klucze publiczne/prywatne. Nie chcesz, aby Twoje hasło było przesyłane za każdym razem, gdy wykonywana jest kopia zapasowa.

Zalecana: