Konsola szeregowa w linuksie
Karty sieciowe mają to do siebie że – jak większość sprzętu – nie są w 100% niezawodne. W związku z tym inna metoda dostępu do maszyny “w razie czego” bywa dobrym zabezpieczeniem… zwłaszcza gdy serwer zarządzany jest zdalnie…
Konfiguracja standardowa
Aby skonfigurować dostęp do konsoli szeregowej w linuksie należy zmodyfikować dwa pliki: /boot/grub/menu.lst (czasem grub.conf) oraz /etc/inittab. W pierwszym z nich należy w sekcji globalnej umieścić wpis:
serial --unit=0 --speed=9600 terminal --timeout=5 serial console
dzięki któremu będzie możliwy dostęp do menu GRUB’a przez port szeregoewy. Aby przekierować komunikaty jądra linuksa na port szeregowy należy do parametrów jądra dodać parametr console:
... kernel /vmlinuz root=LABEL=/ console=ttyS0,9600 console=tty0 ...
Na końcu pozostało jeszcze dodać linię w pliku inittab (najlepiej tam, gdzie skonfigurowane są konsole tekstowe):
S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt102
Jądro Xen
W przypadku maszyn z jądrem Xen sprawa ma się trochę inaczej. Po pierwsze jako jądro w pliku konfiguracyjnym (dyrektywa kernel) jest podany xen a nie vmlinuz. Ten drugi (czyli właściwe jądro linuksa) jest podawany jako moduł (dyrektywa module). Po drugie w parawirtualizowanym systemie linuksowym pod kontrolą Xen’a zmieniają się nazwy urządzeń, i port szeregowy będzie się nazywał nie ttyS0 a xvc0. Poniżej wkleiłem przykładową konfigurację z jądrem Xen:
default 0 timeout 5 serial --unit=0 --speed=9600 terminal --timeout=10 serial consoletitle Xenpae - SLES10SP2 root (hd0,0) kernel /xen-pae.gz console=vga,com1 com1=9600 module /vmlinuz-xenpae console=xvc0,9600 console=tty0 root=/dev/system/root module /initrd-xenpae
Po skonfigurowaniu maszyny można spiąć ją kablem szeregowym z inną maszyną aby w razie awarii karty sieciowej mieć dostęp do systemu za pośrednictwem innego hosta. Dobrym pomysłem może byc również postawienia jakiegoś “szrota” z dodatkową kartą – powiedzmy 4 x RS232 – podpiąć do niego swoje serwery i uruchomić serwer ssh…
