O mnie Projekty Wspomnienia Galeria Blog Ostatnie zmiany Kontakt 2010-04-12 2010-04-11 2010-04-10

2010-04-11 Tuningowanie PLD RescueCD

Często spotykana sytuacja:
- zdalny serwer, z jakimś tam zainstalowanym systemem
- konieczność całkowitego “zepsucia” systemu (wgrania nowego obrazu, mkfs.ext3 /dev/root itepe)
- brak “remote hands” oraz kvm-a.

Co wtedy?

Jedną z opcji jest użycie jakiegoś RescueCD?. Np PLD RescueCD. Tylko jak, skoro brakuje nam “remote hands” które by podniosły maszynę z rescue i skonfigurowały na niej sieć?

Możemy jednak uruchomić RescueCD? z poziomu gruba na obecnym systemie. Jak?

Kopiujemy z PLD RescueCD:
- rescue.cpi do /boot/rescue.cpi
- boot/isolinux/vmlinuz do /boot/rescue.vmlinuz

(ewentualnie ich 64bitowe wersje z 64-bitowego rescue)

Następnie dodajemy do /boot/grub/menu.lst:

title rescue
root (hd0,0)
kernel /boot/rescue.vmlinuz root=/dev/ram0
initrd /boot/rescue.cpi

i ustawiamy tą sekcję jako domyślną.

Ale to nie wszystko - zapewni nam to uruchomienie rescue, ale.. niestety zazwyczaj bez konfiguracji sieci (chyba że mamy w sieci dhcp ;))

gdy używamy rescue na usb - problem znika - syslinux potrafi załadować drugi plik w formacie cpio (custom.cpio) i konfigurację z niego. Jednak grub nie ma takich możliwości.

Ale wystarczy dodać trochę plików.

Zaczynamy od utworzenia w systemie zmian które chcielibyśmy “nanieść” na rescue.

Tworzymy katalog ./etc/sysconfig/interfaces a w nim plik ifcfg-eth0 z zawartością:

DEVICE=eth0
IPADDR1=192.168.0.2/24
ONBOOT=yes
BOOTPROTO=none

A także plik ./etc/sysconfig/static-routes z zawartością:

eth0 default via 192.168.0.1

Pod ip oczywiście podstawiamy ip jaki ma mieć rescue po uruchomieniu.

Czasami trzeba jeszcze dodać moduły do sieciówki - najprościej do ./etc/modules - PLD RescueCD nie zawsze wszystkie sieciówki prawidłowo wykrywa.

Następnie pakujemy katalog z zmianami do pliku o nazwie pld100.tar.bz2 (ogólniej może być pld1*.tar.bz2):

tar cvfj pld100.tar.bz2 etc

I spakowany plik dodajemy do rescue.cpi:

echo pld100.tar.bz2 | cpio -o -A -O /boot/rescue.cpi -H newc

Pozostaje reboot trzymając kciuki że ruszy ;)

Całą procedurę oczywiście najlepiej przetestować na jakiejś “dostępnej” maszynie.