Muszę sklonować działający serwer Linux. Nie możemy zamknąć działającego serwera. Czy jest jakiś sposób, aby uzyskać klon i wdrożyć go na innym serwerze?
Muszę sklonować działający serwer Linux. Nie możemy zamknąć działającego serwera. Czy jest jakiś sposób, aby uzyskać klon i wdrożyć go na innym serwerze?
Odpowiedzi:
Istnieje wiele sposobów kopiowania dysków, systemów plików lub plików. Ogólnie rzecz biorąc, skopiowanie systemu plików daje dobry klon z elastycznością, ponieważ może mieć nieco inny rozmiar w systemie docelowym. W systemie docelowym z uruchomionym rodzajem Linuxa (knoppix, ubuntu live itp.), Uruchomionym z cdrom, możesz tworzyć partycje na dysku za pomocą fdisk lub ulubionej aplikacji do partycji. Zakładając, że masz serwer SSH działający w systemie źródłowym, zastosuj podejście podobne do tego:
http://www.linuxfocus.org/English/March2005/article370.shtml
Magia dzieje się w tym poleceniu:
ssh sourcePC 'dump -0 -f - /' | restore -r -f -
Podczas korzystania z jakiejkolwiek konkretnej metody klonowania dysków w działającym środowisku Linux, jedyną troską będzie prawdopodobnie baza danych. Najlepszym sposobem tworzenia kopii zapasowej i przywracania bazy danych jest użycie narzędzia zrzutu do wykonania migawki bazy danych pliku ASCII tuż przed zrzutem systemu plików. Dla mysql jest:
mysqldump --all-databases > mysql_databases.sql
W przypadku postgresql istnieje:
pg_dumpall > pg_databases.sql
Jeśli wystąpi jakikolwiek błąd spójności w nowym systemie, przywróć bazę danych. Alternatywnie, po wyłączeniu usług w systemie źródłowym, wykonaj zrzut DB ponownie i przywróć w celu, a nie przegapisz żadnych ostatnio zmodyfikowanych danych.
Zbuduj układ dysku na nowym komputerze, tak jak chcesz.
Użyj rsync, aby przenieść zawartość dysku. Powtórz kilka razy, aby całkowicie nadrobić zaległości.
Na nowej maszynie eksperymentuj z tym, co musisz zrobić, aby poprawnie uruchomić komputer. Grub na przykład i spraw, aby był w spójnym stanie.
Dopóki nie możesz zamknąć starej maszyny, rsync w regularnych odstępach czasu, aby utrzymać nowy dysk blisko starego.
Następnie przenieś stary do trybu konserwacji, ponownie uruchom rsync i uruchom nowy, który powinien pojawić się, zachowując się jak stary.
Mój współpracownik przysięga na system Imager:
http://wiki.systemimager.org/index.php/Main_Page
Nie wiem, jak dobrze by to działało w systemach „na żywo”.
W przeciwnym razie myślę, że utknąłeś, robiąc rzeczy ręcznie:
Pod warunkiem, że możesz doprowadzić bazy danych do spójnego stanu na dysku, możesz po prostu użyć DAR, aby wykonać kopię wszystkiego, a następnie zapisać ją z powrotem na nowym serwerze.
Synchronizacja baz danych do spójnego stanu na dysku może być trudna, ale wystarczy zrobić migawkę, a następnie przywrócić z niej po przywróceniu obrazu DAR. DAR wpłynie na wydajność serwera podczas jego działania.
Jednak po uzyskaniu obrazu możesz dostosować ustawienia sieciowe i powinieneś być w stanie przywrócić go bez problemu.