# Så migrerar du en server från OpenVZ till KVM – NEW
## Introduktion
Den här guiden visar hur du migrerar från OpenVZ till KVM för att ta del av nya och kommande funktioner.
KVM är [vår nya VPS-plattform](https://glesys.se/vps/plattformar/kvm) som erbjuder stöd för de senaste Linux-baserade operativsystemen, egna SSH-nycklar och ett nytt lägre pris.
KVM bygger på en helt ny typ av virtualisering jämfört med OpenVZ vilket gör att det inte går att konvertera en VPS automatiskt från OpenVZ till KVM. Därför måste man flytta över filerna till den nya KVM-servern manuellt.
__Viktigt att notera__ är att IP-adressen på den nya servern kommer att vara kvar, den kommer alltså **inte** att följa med från OpenVZ-containern. Användare och lösenord kommer däremot att flyttas med.
__För att genomföra migrering med hjälp av guiden behöver du god teknisk kunskap. Vill du ha hjälp med migrering så hör av dig till oss på [support@glesys.se](mailto:support@glesys.se) för konsultation och kostnadsförslag.__
## Steg 1 – Förberedelser
Skapa en ny KVM-server från **samma** mall (template) och specifikation som din **nuvarande** OpenVZ-installation. Denna kommer vi migrera till senare.
## Steg 2 – Uppgradering av dina servrar
Uppgradera **båda** dina servrar till senaste paketen samt installera *rsync* som verktyg för att synkronisera filer och bibliotek mellan dina två servrar:
```shell script
apt-get update && apt-get install rsync && apt-get dist-upgrade -y
reboot
```
## Steg 3 - Root-användare och lösenord
När du skapar din server på KVM sätts inget root-lösenord. Som standard tillåts inte att logga in som root via SSH med lösenord.
Sätt ett lösenord på root-användaren:
```shell script
sudo passwd
Enter new UNIX password:
Retype new UNIX password:
```
Ändra `sshd config` så den tillåter root-login och starta sedan om SSH-servern:
```shell script
sudo sed -i 's/^PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
sudo sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
```
## Steg 4 – Kopiera filer från den gamla servern till den nya
Logga in som root på OpenVZ-servern igen. Det är ifrån denna vi ska köra rsync.
Viktigt att tänka på innan du går vidare är att __stänga av alla program och tjänster som skriver till disk__, till exempel: Apache, MariaDB och MySQL. Samt pausa eventuella cronjob.
**OBS!** Byt ut `$IP` till målserverns IP-adress i koden nedan.
```shell script
rsync -avz --numeric-ids --delete --exclude /run --exclude /lib/udev --exclude /etc/udev --exclude /lib/modules/ --exclude /aquota.group --exclude /aquota.user --exclude /boot/ --exclude /dev/ --exclude /proc/ --exclude /etc/network/interfaces --exclude /sys/ --exclude /etc/fstab / $IP:/
```
## Steg 5 – Installera kernel, grub och systemverktyg
Nu har den nya servern fått all data den behöver ifrån OpenVZ-servern. Problemet är att dpkg, Debians och Ubuntus paketdatabas, också är synkroniserad. I och med att OpenVZ inte installerar kernel så har målservern tappat all information om det och därför måste vi installera om grub. Logga in som root-användare och kör:
### Debian
```shell script
apt-get install linux-image-amd64 linux-headers-amd64 busybox grub-pc acpid acpi-support-base qemu-guest-agent
```
----
### Ubuntu
```shell script
apt-get install linux-image-generic linux-headers-generic busybox grub-pc acpid acpi-support qemu-guest-agent
```
Du kommer att få en fråga om vart du vill installera boot loadern. Välj `/dev/sda`
```shell script
GRUB install devices:
[*] /dev/sda (21474 MB; ???)
```
Aktivera consolen om den inte redan är det:
```shell script
systemctl enable getty@tty1.service
```
När det är klart starta om servern:
```shell script
reboot
```
Nu ska du kunna logga in på den nya servern med inloggningsuppgifterna från den gamla servern. **Tänk på att det är en ny IP-adress som gäller**.
## Steg 6 – Tips
Om du har en DNS-koppling eller lastbalanserare till den befintliga OpenVZ-servern är det dags att peka om den till den nya KVM-servern.
Det är inte rekommenderat att tillåta att root loggar in med lösenord via SSH. Vi rekommenderar därför att i SSHd-servern; stänga av möjligheten att logga in med lösenord och bara tillåta SSH-nyckel.
**OBS!** Se till att du kan logga in utan lösenord innan detta görs.
```shell script
sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
```
Vill du __inte__ ha kvar din OpenVZ-server efter migreringen så glöm inte att radera den i kontrollpanelen – annars debiteras du för den även om den är avstängd.
## Behöver du hjälp med att migrera?
Hör av dig till oss på [support@glesys.se](mailto:support@glesys.se) för konsultation och kostnadsförslag.