Hyper-V Replikacja pomiędzy różnymi domenami

Może Ci się również spodoba

5 komentarzy

  1. Łukasz Kałużny napisał(a):

    1. Replikacja, co: 30s, 5min, 15min.
    2. Silnik replikacyjny odkłada zmiany (operacje zapisu) na dysku do plików HRL(Hyper-V Replica Log, coś podobnego do logów transakcyjnych sql). VSS używany jest tylko, gdy zażyczymy sobie jego wykonywanie i przesyłanie, domyślnie wyłączony. Funkcja snapshotów wykorzystywana jest na serwerze zapasowym do scalania i odpalaniu przełączeniu lub testów repliki.
    3. Na Windowsie nie ma sensu używać OpenSSL i doinstalować dodatkowe pakiety, jeśli możemy użyć makecert w postaci jednego nieinstalowanego exe. Drugi plus mniej poleceń.
    4. Brakuje wpisu reg add “HKLMSOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationReplication” /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
    5. DNS nie jest potrzebny, wystarczy wpis w hosts i dobrze dodane poświadczenia.

    PS. Wygląd bloga czytelniejszy 🙂

    • chris napisał(a):

      Ad 1. Faktycznie – mój bład. Nie mniej jednak szkoda, że nie ma wartości wyższych 🙂
      Ad 2. Dzięki za wyjaśnienie. Aczkolwiek na zapasowym jest coś innego – pliki dodatkowych godzinnych kopii mają rozszerzenie HRU i to raczej są logi odwrotne, bo sam plik VHD/VHDX jest taki jak ostatnia kopia. Te plik zawierają logi pozwalające na odtworzenie stanu VHD/VHDX z danej godziny.
      Ad 3. Przyzwyczajenie z Linux. makecert nie znałem – muszę sprawdzić.
      Ad 4. U mnie działał ten pierwszy wpis – aczkolwiek realizowałem replikację tylko w jedną stronę i jej celem była migracja kilku maszyn klienta tak by przerwa była minimalnie krótka 🙂
      Ad 5. Przecież napisałem 🙂 ja posłużyłem się wpisami do hosts, bo to rozwiązanie tymczasowe – osobiście tego nie lubię, bo wole mieć jedno centralne miejsce z powiązaniami nazwaIP… czyli DNS. Od paru lat staram się “tępić” używanie IP dla usług, i korzystanie wyłącznie z DNSów 🙂
      Tak na marginesie – ten element wygląda na wymagający jeszcze dopieszczenia przez MS, tak by dało się np. użyć certyfikatu z inną nazwą np. normalnej domeny DNS, jak w IIS :)W

      Wygląd odświeżyłem, ale brak mi czasu by w końcu zrobić bloga na swoim CMSie i po swojemu.. WordPress ma jednak parę ograniczeń 🙂

      • Łukasz Kałużny napisał(a):

        Ad 2. W 2012R2 wprowadzano undo log dla poprawy wydajności, a w 2012 był użyty mechanizm snapshotów, jak dobrze pamiętam diagramy.
        Ad 5. Dziś już labu nie chce mi się odpalać żeby potwierdzić, ale możesz użyć opcji MakePrimary w netdom, żeby nadać alternatywną nazwę fqdn dla hosta.
        Do normalnych usług DNS tak, ale z punktu widzenia procesu DR wykorzystanie pliku hosts ma parę zalet, np replikacja nie jest zależna od poprawności konfiguracji dns 😉

        • chris napisał(a):

          Ad 2. Zgadza się w Win 2012 są snapshoty. Rozwiązanie z 2012R2 jest fajne bo zajmuje mniej miejsca, aczkolwiek to stare pozwalało na przywrócenie stanu maszyny nawet jeśli padł nam np. host. Snapshoty można było zwinąć ręcznie. Do HRU nie znalazłem żadnego narzędzia.
          Ad 5. Próbowałem używać certyfikatów, które miały dodatkowe nazwy dodane – ale to niestety nie działa 🙁
          Co do DNS to fakt – ale poprawność działania i konfiguracji DNS jest kluczowa również dla innych systemów, to wg. mnie jeden z ważniejszych systemów w środowisku.

  2. Wookee napisał(a):

    Witam

    Troszkę nie poszło mi z generowaniem certyfikatów opisaną przez Ciebie metodą. Próbowałem różych wersji openssl, ale nie udało mi się. Poszukałem więc analogicznego sposobu tworzenia certyfikatów na innych blogach i poniżej wklejam sposób. Może komuś się przyda, u mnie poszło.

    Konfiguracja 2 x HyperV 2016. Serwer01 i Serwer02

    Pobieramy Microsoft Windows SDK dla Windows 10 – lub innej wersji oczywiście, zależnie jaką posiadamy. To się zainstaluje i możemy wtedy użyć programu makecert.exe.
    Plik znajduje się u mnie akurat C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x86 , ale na forum podają inną lokalizację, więc może będzie trzeba jak w moim przypadku poszukać.

    Plik makecert.exe kopiujemy na oba serwery do folderu c:\cert. Na oba, ba ja akurat robiłem replikację w obie strony. Jak ktoś robi w jedną stronę to wystarczy na serwer źródłowy skopiować.

    Tworzymy główny certyfikat:
    makecert -pe -n “CN=Serwer01RootCA” -ss root -sr LocalMachine -sky signature -r “Serwer01RootCA.cer”

    Tworzymy certyfikat maszyny:
    makecert -pe -n “CN=Serwer01” -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in “Serwer01RootCA” -is root -ir LocalMachine -sp “Microsoft RSA SChannel Cryptographic Provider” -sy 12 Serwer01.cer

    Eksportujemy certyfikat z kluczem prywatnym. Na blogu znalazłem tylko opcję przy pomocy konsolki certyfikatów lokalnego serwera. HyperV nie ma gui, więc pozostał wiersz polecenń. Próbowałem też wyeksportować przy pomocy konsolki mmc, którą wpiąłem się do serwera Serwer01, ale takiej opcji nie miałem. Podobnie nie mogłem zaimportować certyfikatu w kolejnym kroku.
    Pewnie są lepsze sposoby, ale ja tych certyfikatów aż tak nie ogarniam, więc użyłem poniższego sposobu.

    Przy pomocy wspomnianej konsolki mmc – certyfikaty – konto komputera – wpinamy się do serwera źródłowego. W moim przypadku Serwer01. Certyfikaty osobiste i otwieramy wygenerowany certyfikat – u mnie Serwer01.
    W zakładce Szczegóły zaznaczamy numer seryjny i kopujemy sobie do notatnika. Kasujemy spacje i możemy przygotować polecenie, które odpalamy na serwerze źródłowym:
    certutil -exportPFX -p a my NUMER_SERYJNY Serwer01.pfx
    literka “a” w poleceniu to hasło. Można być bardziej twórczym 🙂

    Kopiujemy wyeksportowany klucz (Serwer01.pfx) na serwer docelowy. I importujemy go w PS poleceniami:
    $pwd = ConvertTo-SecureString -String a -AsPlainText -Force
    Import-PfxCertificate .\Serwer01.pfx -CertStoreLocation Cert:\LocalMachine\My -Password $pwd

    Na koniec warto otworzyć porty na firewallach:
    netsh advfirewall firewall add rule name=”Https Replica in” dir=in protocol=TCP localport=443 action=allow

    W drugą stronę analogicznie. Działa aż miło. W moim przypadku oba serwery były w tej samej sieci lokalnej.

Dodaj komentarz

%d bloggers like this: