OVH oferuje dedykowane serwery w przyst?pnych cenach, zw?aszcza z linii kimsufi. Przy okazji posiada ich tyle, ?e swego czasu zablokowali mo?liwo?? kupowania nowych, poniewa? klienci starszych maszyn nie przed?u?ali umów, tylko kupowali nowe maszyny za ni?sz? cen? i z lepszymi parametrami.
Nasta? czas migracji jednej maszyny (Pentium III Xeon) z 2010 roku na now? (Core 2 Duo). I tu zaczynaj? si? problemy, poniewa? w roku 2010 w OVH by?o co? takiego jak vKVM, czyli pod??czone zasoby fizycznego serwera poprzez Qemu, z mo?liwo?ci? u?ycia dowolnego ISO i instalacji czego dusza zapragnie. Pomny takich mo?liwo?ci, nowy serwer zosta? zakupiony i przesiadka ze starego z funkcjonuj?cym NetBSD i kilkoma us?ugami wydawa? si? banalna. Niestety OVH jaki? czas temu nie mówi?c nic nikomu zrezygnowa?a z vKVMa daj?c do dyspozycji do?? szeroki wachlarz dystrybucji, niestety bez NetBSD.
Musz? tu z uznaniem zauwa?y?, ?e od 2011 roku nie musia?em wchodzi? do panelu zarz?dzaj?cego, poniewa? system osi?gn?? imponuj?cy uptime 1012 dni po czym pad? mu zasilacz i musia? zosta? wymieniony, trac?c ca?y uptime :)
# Uptime | System Boot up ----------------------------+--------------------------------------------------- 1 1012 days, 07:06:5 | NetBSD 5.99.37 Thu Jul 21 08:36:46 2011 2 216 days, 23:27:49 | NetBSD 5.99.37 Wed Dec 8 12:34:48 2010 3 64 days, 16:47:53 | NetBSD 5.99.37 Sun Aug 15 20:59:35 2010 4 30 days, 02:34:48 | NetBSD 5.99.37 Mon Nov 8 09:59:07 2010 5 19 days, 20:31:45 | NetBSD 5.99.37 Tue Oct 19 14:18:21 2010 6 7 days, 15:07:02 | NetBSD 5.99.37 Wed Jul 13 17:28:44 2011 7 4 days, 05:54:32 | NetBSD 5.99.37 Wed Aug 11 14:31:49 2010 -> 8 0 days, 00:03:21 | NetBSD 5.99.37 Tue Apr 29 09:02:03 2014 ----------------------------+---------------------------------------------------
1up in 4 days, 05:51:12 | at Sat May 3 14:56:35 2014 no1 in 1012 days, 07:03:3 | at Sat Feb 4 15:08:55 2017 up 1355 days, 19:34:0 | since Wed Aug 11 14:31:49 2010 down 0 days, 22:59:33 | since Wed Aug 11 14:31:49 2010 %up 99.929 | since Wed Aug 11 14:31:49 2010
Oczywi?cie takie standardy jak Apache, MySQL, Postfix, Dovecot, BIND itp. mo?na przenie?? na dowoln? instalacj?, ale jest zasadnicza ró?nica mi?dzy przeniesieniem configów (dzi?ki bardzo pouk?adanemu filesystemowi NetBSD) a przeniesieniem i poprawieniem ka?dej jednej ?cie?ki. Dodatkowo czas goni? bo pierwszego maja stary serwer mia? zosta? wy??czony.
Szcz??liwie OVH w razie padu systemu daje mo?liwo?? uruchomienia go w trybie rescue. Jest to tryb w którym system bootuje si? z sieci, na maila dostajemy tymczasowe has?o roota, a wszystkie slice’y/partycje mo?emy sobie podmontowa? i sprawdzi? co tam nie gra, wzgl?dnie przenie?? gdzie? dane i zaora? stary system nowym z listy.
System rescue jest wystarczaj?cy do zainstalowania jakiegokolwiek innego systemu z ISO wg. w?asnych potrzeb. W przypadku *BSD mamy w?a?ciwie dwa sposoby. Pierwszy to odpalenie rescue w trybie freebsd (musi by? zainstalowany najpierw jaki? FreeBSD z listy). W tym trybie dostajemy dost?p do partycji na obydwóch dyskach fizycznych z obs?ug? FFS2. Po za?o?eniu partycji FFS i rozpakowaniu setów z ISO NetBSD (mo?na u?y? drugi dysk jako tymczasowe miejsce na ?ci?gni?cie setów, poniewa? rescu jest w trybie do odczytu tylko), w?a?ciwie mamy dzia?aj?cy system. Pozostaje kwestia bootloadera, którego z FreeBSD nie zainsytlujemy. FreeBSD nie ma binarnej kompatybilno?ci z NetBSD (w drug? stron? taka kompatybilno?? istnieje).
Niesprawdzony sposób to zrzucenie z innego NetBSD pierwszych 446 bajtów z bootowalnego dysku.
dd if=/dev/wd0d of=/tmp/netbsd_boot.dump bs=446 count=1
Dlaczego 446? Dlatego, ?e po wgraniu na inny dysk b?dzie tam tylko kod rozruchowy. Zrzucenie 512 bajtów zrzuca ca?y disklabel, który kiedy nie jest identyczny spowoduje sieczk? na dysku.
dd if=
/tmp/netbsd_boot.dump
of=/dev/ada0s1 bs=446
count=1
To powinno po restarcie poprawnie wybootowa? NetBSD z pierwszego dysku . Oczywi?cie trzeba pobawi? si? w „?lep? in?ynieri?” aby wykry? wszystkie urz?dzenia, nazwy interfejsów sieciowych i po ponownym wybootowaniu w trybie rescue, odpowiednio wyedytowa? pliki konfiguracyjne. Ja u?ywa?em do tego prostych skryptów uruchamianych z rc.local lub z crona po wybootowaniu i wpisuj?cych wynik do pliku, np:
@reboot dmesg >> /root/dmesg.txt
Drugim sposobem jest instalacja z ISO przy pomocy Qemu. W tym celu uruchamiamy rescue linuksowe. Jest to jakis zmodyfikowany Debian. Je?eli dysponujemy ilo?ci? RAM oko?o 4GB mo?emy sobie system przerzuci? do RAMu i dodatkowo mie? ISO w RAM.
mount -t tmpfs -o size=4000m tmpfs /mnt
mkdir /mnt/var mkdir /mnt/var/cache mkdir /mnt/var/lib mkdir /mnt/var/run mkdir /mnt/usr mkdir /mnt/lib
rsync -a /var/cache/ /mnt/var/cache/ rsync -a /var/lib/ /mnt/var/lib/ rsync -a /var/run/ /mnt/var/run/ rsync -a /usr/ /mnt/usr/ rsync -a /lib/ /mnt/lib/
rsync chwil? potrwa.
mount -B /mnt/var/cache /var/cache mount -B /mnt/var/lib /var/lib mount -B /mnt/var/run /var/run mount -B /mnt/usr /usr
Voila! Mamy Linuxa w ramie w trybie RW.
?ci?gamy teraz najnowsze dost?pne ISO gdzie? do /mnt
cd /mnt && ftp -a ftp://ftp.fr.netbsd.org/pub/NetBSD/iso/6.1.4/NetBSD-6.1.4-amd64.iso (albo wget ftp://ftp.fr.netbsd.org/pub/NetBSD/iso/6.1.4/NetBSD-6.1.4-amd64.iso)
Potrzebujemy jeszcze Qemu
apt-get update apt-get install qemu
Fajne jest to ?e OVH ma swój mirror repozytorium Debiana wi?c idzie to szybko. Dodatkowo serwer ftp NetBSD we francji chyba tak?e jest w OVH :)
2014-04-29 19:55:36 (10.8 MB/s) – `NetBSD-6.1.4-amd64.iso’ saved [347023360]
Przygotowania sko?czone, uruchamiamy Qemu ze ?ci?gni?tym ISO i dyskiem fizycznym jako pierwszy dysk twardy:
qemu-system-x86_64 -net nic -net user -m 1G -alt-grab -localtime -k en-us -cdrom \ /mnt/NetBSD-6.1.4-amd64.iso -hda /dev/sda -vnc :0
Je?eli nie dostaniemy ?adnych b??dów w konsoli, znaczy si?, ?e dzia?a i mo?emy si? zalogowa? na nasz IP w OVH przez VNC. Je?eli instalujemy system 32 bitowy zamiast qemu-system-x86_64 uruchamiamy po prostu qemu.
Nale?y przeprowadzi? standardow? instalacj?, i wst?pnie skonfigurowa? system do dzia?ania. Mo?na np. spróbowa? skonfigurowa? wszystkie podstawowe karty sieciowe (wm,bge0,fxp0,re0 itp.), je?eli trafimy w t? w?a?ciw? to po restarcie z dysku NetBSD powinien zacz?? odpowiada? na ping. Oczywi?cie trzeba otworzy? ssh, doda? u?ytkownika albo pozwoli? rootowi si? logowa?. Mi uda?o si? dosta? do systemu za drugim podej?ciem. Pierwszy raz zrobi?em literówk? w bramie :) Ustawienia sieciowe oczywi?cie bierzemy z systemu rescue, s? identyczne z normalnym systemem. W przypadku dro?szych serwerów mo?e by? jeszcze potrzeba zmiany w fstabie z emulowanego wd0 na rzeczywisty sd0. W moim przypadku, jako ?e serwer posiada dyski SATA, zarówno w Qemu jak i fizycznym NetBSD dyski widnia?y jako wd0.
No i to tyle. Powy?szy sposób z Qemu mo?e by? stosowany do ka?dego ISO, np. Windows Server czy dowolnej dystrybucji Linuksa. Do Windows 7 lub 2008 trzeba doinstalowa? jeszcze kvm (apt-get install kvm)
Przy okazji na koniec ma?a dygresja, o tym jak szybko rynek reaguje na takie zmiany i braki jak zrezygnowanie z vKVM. Szukaj?c informacji i materia?ów odno?cie tego zagadnienia natrafi?em na kilka stron które w przedziale 20$-35$ oferuj? instalacj? dowolnego lub z innej listy systemu operacyjnego – g?ównie Windows. Przyk?ady:
http://winstaller.org/
https://www.pozzo-balbi.com/products/custom-installation.
A u mnie macie za darmo i po polsku ;)
Podzi?kowania dla morr’a za pomoc przy pierwszych próbach z instalacj? bez Qemu :)
BONUS: porównanie dmesga z maszyny w Qemu i fizycznego serwera po instalacji – http://maciejewski.org/temp/dmes_ovh_qemu_i_bm.txt
Świetny artykuł!