Hetzner je već dugo popularan izbor za pristupačan europski hosting, ali ne odgovara svakom poslovanju. Ako vam je račun ikad bio označen bez upozorenja, ako ste imali poteškoća s dobivanjem računa na vašem jeziku ili jednostavno želite pružatelja bližeg srednjoeuropskom i istočnoeuropskom tržištu, ovaj vas vodič vodi kroz migraciju VPS-a ili namjenskog poslužitelja na MMITech uz minimalno vrijeme zastoja.

U posljednjih godinu dana pomogli smo desecima klijenata da se presele s Hetznera. Postupak je jasan kada slijedite ispravan redoslijed, a većina radnih opterećenja može se prebaciti za manje od sat vremena stvarnog zastoja.

Kada migracija s Hetznera ima smisla

Hetzner je kompetentan pružatelj. Migracija je vrijedna vašeg vremena ako vrijedi jedno ili više od sljedećeg:

  • Doživjeli ste iznenadne suspenzije računa ili zadržavanja, često pokrenuta automatskim otkrivanjem zlouporabe na dijeljenim podmrežama.
  • Trebate račune na slovenskom, hrvatskom, češkom ili mađarskom, ili PDV dokumentaciju koja odgovara vašim lokalnim računovodstvenim zahtjevima.
  • Vaši klijenti su u regiji srednje i istočne Europe, a latencija prema Falkensteinu ili Helsinkima šteti performansama.
  • Želite podršku u vlastitoj vremenskoj zoni s vremenom odziva mjerenim u minutama umjesto u radnim danima.
  • Trebate blok ili objektnu pohranu s istom redundancijom temeljenom na Cephu, bez plaćanja zasebnih dodataka.
  • Konsolidirate više pružatelja i želite jedan jedinstveni odnos naplate za VPS, namjenske poslužitelje, Nextcloud pohranu i domene.

Ako se ništa od ovoga ne odnosi na vas, ostanak je valjan izbor. Ako vrijedi i samo jedno, čitajte dalje.

Kontrolni popis prije migracije

Prije nego što na našoj strani bilo što naručite, dokumentirajte što imate na Hetzneru. Sat vremena uloženog ovdje štedi četiri sata kasnije.

  1. Popišite sve servise koji rade na poslužitelju. Web poslužitelj, baze podataka, cron poslovi, mail, redovi poruka, pozadinski radnici, agenti za nadzor, VPN krajnje točke. Jednostavan systemctl list-units --type=service --state=running dobra je polazna točka.
  2. Popišite sve domene i DNS zapise. Zabilježite trenutne TTL vrijednosti i gdje je DNS hostiran. Ako je DNS na Hetzner Console, morat ćete migrirati i njega ili ga prvo prebaciti trećoj strani poput Cloudflarea.
  3. Dokumentirajte veličine i pogone baza podataka. MySQL, MariaDB, PostgreSQL, Redis, MongoDB. Zabilježite verzije, jer nadogradnje verzija tijekom migracije višestruko povećavaju rizik.
  4. Zabilježite sve otvorene portove vatrozida i sva pravila Hetzner Cloud vatrozida. Ona se ne migriraju automatski.
  5. Identificirajte vanjske servise koji na popisu dopuštenih imaju vašu trenutnu IP adresu. Platni prolazi, SMTP releji, API partneri, servisi nadzora. Svaki će trebati ažurirati nakon preklopa.
  6. Provjerite izvore SSL certifikata. Let's Encrypt certifikati se lako regeneriraju. Plaćeni certifikati mogu biti vezani uz trenutnu IP adresu ili hostname.
  7. Napravite sigurnosnu kopiju prije početka. Napravite potpuni snimak ili izvoz. Ako tijekom migracije nešto pođe po zlu, imate poznatu dobru točku za vraćanje.

Korak 1: Naručite svoj MMITech VPS

Naručite VPS koji odgovara vašim trenutnim specifikacijama na Hetzneru ili ih lagano nadmašuje. Ako koristite Hetzner CX ili CCX liniju, naši Cloud VPS planovi se čisto preslikavaju na isti RAM i CPU profil. Ako pokrećete CPU intenzivna opterećenja poput kompilacije, kodiranja videa ili velikih baza podataka, AMD VPS linija nudi znatno bolje single-thread performanse na Ryzen jezgrama.

Odaberite istu verziju operativnog sustava koju koristite na Hetzneru. Migracija s Ubuntu 22.04 na Ubuntu 22.04 je jednostavna. Prebacivanje između glavnih verzija tijekom migracije hosta je recept za iznenađenja. Riješite to kao zasebni projekt.

Nakon što je VPS pripremljen, dovršite osnovno učvršćivanje prije nego što išta kopirate:

# Ažuriraj sustav
apt update && apt upgrade -y

# Stvori korisnika koji nije root
adduser deploy
usermod -aG sudo deploy

# Kopiraj svoj SSH ključ
mkdir -p /home/deploy/.ssh
cp ~/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys

# Onemogući root SSH i autentifikaciju lozinkom
sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh

Korak 2: Smanjite DNS TTL vrijednosti prije migracije

Ovo je korak koji većina ljudi preskoči i kasnije zažali. Najmanje 24 do 48 sati prije preklopa, smanjite TTL na svakom DNS zapisu koji ćete mijenjati.

Ako vaši zapisi trenutno imaju TTL od 3600 ili 14400 sekundi, spustite ih na 300. Tako će, kada prebacite DNS, propagacija završiti za 5 minuta umjesto za 4 sata. Nakon što provjerite migraciju, vratite TTL na 3600.

Ako vam je DNS na Hetzner Console i planirate ga preseliti, učinite to već sada. Premjestite DNS na Cloudflare ili drugog pružatelja dok još pokazuje na Hetzner IP. To vam u trenutku preklopa daje jednu varijablu manje.

Korak 3: Inicijalna sinkronizacija podataka

Za većinu poslužitelja, rsync preko SSH-a je pravi alat. Trik je u dva prolaza: prvi prolaz dok je izvor aktivan, zatim završna delta sinkronizacija nakon zaustavljanja servisa pri preklopu.

S vašeg novog MMITech VPS-a, povucite podatke s Hetznera:

# Sinkronizacija web korijena
rsync -avz --progress \
  -e "ssh -i /root/.ssh/id_ed25519" \
  root@stari-hetzner-ip:/var/www/ \
  /var/www/

# Sinkronizacija direktorija aplikacija
rsync -avz --progress \
  -e "ssh -i /root/.ssh/id_ed25519" \
  root@stari-hetzner-ip:/opt/ \
  /opt/

# Sinkronizacija home direktorija
rsync -avz --progress \
  -e "ssh -i /root/.ssh/id_ed25519" \
  root@stari-hetzner-ip:/home/ \
  /home/

# Sinkronizacija konfiguracija
rsync -avz --progress \
  -e "ssh -i /root/.ssh/id_ed25519" \
  root@stari-hetzner-ip:/etc/ \
  /etc/hetzner-backup/

Povucite /etc/ u zasebni direktorij umjesto da prepišete svježu instalaciju. Koristit ćete ga kao referencu za konfiguracije servisa, a ne za slijepo kopiranje.

Za Docker hostove, sinkronizirajte /var/lib/docker/volumes/ i svoje compose datoteke. Ne pokušavajte kopirati /var/lib/docker/ u cijelosti, ta putanja nije sigurno prenosiva.

Korak 4: Migrirajte baze podataka kako treba

Baze podataka zahtijevaju pristup dump-i-vraćanje, ne kopiranje datoteka. Kopiranje sirovih datoteka baza između aktivnih instanci češće dovodi do oštećenja podataka nego ne.

Za MariaDB ili MySQL:

# Na starom Hetzner poslužitelju
mysqldump --all-databases \
  --single-transaction \
  --quick \
  --routines \
  --triggers \
  --events \
  | gzip > /tmp/full-dump.sql.gz

# Prijenos
scp /tmp/full-dump.sql.gz root@novi-mmitech-ip:/tmp/

# Na novom MMITech poslužitelju
zcat /tmp/full-dump.sql.gz | mysql

Za PostgreSQL:

# Na Hetzneru
pg_dumpall -U postgres | gzip > /tmp/pg-dump.sql.gz

# Na MMITech
zcat /tmp/pg-dump.sql.gz | psql -U postgres

Pokrenite testni dump i vraćanje pravovremeno prije preklopa. Provjerite da novi poslužitelj čisto pokreće aplikacije nad vraćenim podacima. Riješite greške neusklađenosti verzija sada, a ne tijekom preklopa u 2 ujutro.

Korak 5: Ponovno instalirajte i konfigurirajte servise

Ne kopirajte binarne datoteke ili systemd unite doslovno s Hetzner poslužitelja. Servise instalirajte iznova na MMITech, a zatim povrh toga primijenite svoje konfiguracije.

Tipičan slijed ponovne instalacije:

# Web poslužitelj
apt install -y nginx

# PHP ako je potrebno
apt install -y php-fpm php-mysql php-redis php-curl php-gd \
               php-imagick php-mbstring php-xml php-zip

# Klijentski alati za baze (poslužitelji već u koraku 4)
apt install -y mariadb-client redis-tools

Zatim kopirajte određene konfiguracijske datoteke iz svog direktorija /etc/hetzner-backup/:

cp /etc/hetzner-backup/nginx/sites-available/* /etc/nginx/sites-available/
cp /etc/hetzner-backup/php/8.2/fpm/pool.d/* /etc/php/8.2/fpm/pool.d/

# Testiraj prije omogućavanja
nginx -t

Ovaj pristup hvata pretpostavke specifične za Hetzner u vašim starim konfiguracijama, poput tvrdo upisanih sučelja privatne mreže ili referenci na Hetzner Cloud metadata servis, prije nego što išta pokvare.

Korak 6: Završna sinkronizacija i preklop

Zakažite preklop u razdoblju s malim prometom. Za većinu europskih tvrtki to je između 23:00 i 05:00 po srednjoeuropskom vremenu.

Slijed preklopa:

  1. Postavite stranicu održavanja na Hetzner poslužitelj ili u aplikaciji omogućite način samo za čitanje.
  2. Zaustavite servise s puno upisivanja na Hetzneru: web poslužitelj, aplikacijske radnike, cron.
  3. Pokrenite završnu rsync delta sinkronizaciju s MMITech-a kako biste povukli sve promjene od početne sinkronizacije.
  4. Napravite završni dump baze i vratite ga na MMITech.
  5. Pokrenite servise na MMITech i napravite smoke test izravno protiv nove IP adrese (koristite curl --resolve ili uredite lokalnu hosts datoteku).
  6. Provjerite da su SSL certifikati važeći. Ponovno izdajte Let's Encrypt certifikate s novom IP adresom nakon DNS propagacije ako je potrebno.
  7. Prebacite DNS A i AAAA zapise na novu MMITech IP adresu.
  8. Pratite zapise na oba poslužitelja. Promet na Hetzneru bi trebao opadati na nulu kroz 5 do 30 minuta kako predmemorije ističu.

Korak 7: Provjera nakon migracije

Nemojte još isključivati Hetzner. Ostavite ga u načinu samo za čitanje ili ugašenog najmanje 7 dana. To vam daje opciju brzog povratka i vrijeme za uočavanje problema.

U prva 24 sata provjerite ove stavke:

  • Sve web stranice se ispravno učitavaju s važećim SSL-om.
  • Dostava emaila radi u oba smjera. Ako sami hostirate poštu, ponovno postavite SPF, DKIM i DMARC.
  • Cron poslovi rade. Provjerite log datoteke u očekivanim vremenima.
  • Logovi aplikacija ne pokazuju ponavljajuće greške.
  • Vanjski servisi koji koriste IP na popisu dopuštenih su ažurirani.
  • Agenti nadzora se javljaju s novog poslužitelja.
  • Sigurnosne kopije se rade na novom poslužitelju.

Nakon 7 dana čistog rada možete sigurno otkazati Hetzner poslužitelj. Kod eventualnog preplaćenog iznosa možemo vam pomoći konačnim usklađivanjem računa s naše strane.

Česte zamke kod migracije s Hetznera

Hetzner Cloud privatne mreže ne postoje na novoj strani. Ako se vaše aplikacije pozivaju na adrese 10.x.x.x za komunikaciju među poslužiteljima, morat ćete na MMITech-u postaviti ekvivalentno privatno umrežavanje ili VPN povezivost. Podržavamo privatne VLAN-ove za postavke s više poslužitelja.

rDNS nije automatski. Reverzni DNS za poslužitelje koji šalju poštu treba postaviti s naše strane putem zahtjeva za podršku. Učinite to prije preklapanja pošte.

Cloud-init metapodaci specifični su za pružatelja. Sve što se oslanja na Hetznerov metadata servis tiho će zakazati. Pretražite svoju bazu koda na reference 169.254.169.254.

Hetzner Storage Box putanje prestaju raditi. Ako koristite Hetzner Storage Box za sigurnosne kopije, postavite alternativnu pohranu sigurnosnih kopija. Nudimo namjenski prostor za sigurnosne kopije kompatibilan s Proxmox Backup Serverom.

Često postavljana pitanja

Koliko obično traje migracija s Hetznera na MMITech?

Za pojedinačni VPS s uobičajenom LAMP ili LEMP aplikacijom i manje od 50 GB podataka, očekujte 2 do 4 sata pripreme i 30 do 60 minuta stvarnog zastoja. Veće baze podataka ili složene postavke s više servisa zahtijevaju razmjerno više planiranja.

Može li MMITech pomoći s migracijom?

Da. Nudimo pomoć pri migraciji klijentima koji naručuju VPS ili namjenske planove. Obratite se našem timu prije početka i možemo isplanirati prozor migracije, savjetovati o dimenzioniranju i pomoći pri preklopu.

Hoću li izgubiti podatke tijekom migracije?

Ako slijedite pristup dump-i-vraćanje za baze i pokrenete završni rsync pri preklopu, ne. Prozor rizika je nekoliko minuta između završne sinkronizacije i propagacije DNS-a, zbog čega je važno unaprijed sniziti TTL vrijednosti.

Moram li migrirati sve servise odjednom?

Ne. Mnogi klijenti migriraju opterećenje po opterećenje. Prvo preselite razvojni VPS, provjerite iskustvo, zatim preselite produkciju. To je također ispravan pristup ako konsolidirate s više Hetzner poslužitelja.

A moje domene registrirane kod Hetznera?

Prijenosi domena odvojeni su od migracije poslužitelja. Kada vaši servisi rade na MMITech, domene možete prenijeti k nama bilo kada. Podržavamo većinu TLD-ova kroz našu uslugu prijenosa domena.

Spremni za migraciju?

Ako ste pročitali dovde, imate jasnu sliku što migracija uključuje. Našu smo infrastrukturu izgradili na enterprise Ceph pohrani, redundantnoj 40 GbE mreži i podatkovnom centru u EU (Slovenija) upravo za klijente koji trebaju pouzdanost bez korporativnog viška većih pružatelja.

Naručite Cloud VPS ili AMD VPS i javite se našem timu ako želite pomoć u planiranju preklopa. Odgovorit ćemo na vašem jeziku, u vašoj vremenskoj zoni, i bit ćemo iste osobe s kojima ćete razgovarati i sljedeći mjesec kada vam zatreba još nešto.

Je li Vam ovaj odgovor pomogao? 0 Korisnici koji smatraju članak korisnim (0 Glasovi)