Ogólne

    NetBSD w OVH na dedykowanym serwerze

    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.

    ovh1

    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

    Wymiana zasilacza

    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.

    NetBSD bootuje si? w OVH

    Instalacja NetBSD przez VNC

    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

    Related Posts with Thumbnails

    Comment

    Leave a Reply

    Add your widget here