Reboot Machine Distante
Rédigé par pep | Classé dans : Debian
24
11 | 11
Pour éviter ça, installez "molly-guard". Il vous demandera le nom de la machine que vous voulez rebooter ou arrêter, comme ça, plus de surprise.
Mots clés : debian reboot ssh
Changement de disk système
Rédigé par pep | Classé dans : Debian
25
06 | 11
Il a eu 14 ans, y'a pas très longtemps. Un disk dur Fujitsu de 4,2Go. 14 ans à marcher 24/24, 365 jours par an. Mais aujourd'hui, il part en retraite.
Le problème, c'est que tout réinstaller, j'ai pas envie. Alors je l'ai fait à la roots.
Disque système actuel
Device Boot Start End Blocks Id System /dev/sda1 * 1 243 1951866 83 Linux /dev/sda2 244 340 779152+ 83 Linux /dev/sda3 341 371 249007+ 82 Linux swap / Solaris /dev/sda4 372 525 1237005 83 Linux sda1 -> / sda2 -> /var
Futur disque système
Device Boot Start End Blocks Id System /dev/sdc1 1 973 7815591 83 Linux /dev/sdc2 974 1216 1951897+ 83 Linux /dev/sdc3 1217 1338 979965 82 Linux swap / Solaris sdc1 -> / sdc2 -> /var ~# mkdir /mnt/t Monter / et /var ~# mount /dev/sdc1 /mnt/t ~# mount /dev/sdc2 /mnt/t/var Copier le / actuel sur le / futur ~# cp -xa / /mnt/t Copier le /var actuel sur le /var futur ~# cp -xa /var/* /mnt/t/var Ne pas oublier de monter dev, proc et sys afin de pouvoir accéder aux disks. ~# mount -o bind /dev/ /mnt/t/dev ~# mount -t proc none /mnt/t/proc ~# mount -t sysfs none /mnt/t/sys Entrer dans le chroot ~# chroot /mnt/t /usr/bin/zsh Modifier le fstab. Changer / pour sdc1 et /var pour sdc2. ~# vi /etc/fstab Installer grub sur sdc ~# grub-install /dev/sdc
Reboot, redémarrage sur le disk sdc. Tout c'est bian passé. Je ne sais pas si c'est une solution à "recommander", mais elle a fonctionné chez moi.
Il reste encore un problème. grub.cfg contient une référence à /dev/sdc.
set root='(/dev/sdc,msdos1)'
En enlevant l'ancien disk (sda) le sdc actuel va changer de nom, et je ne sais pas ce qu'il va se passer ;(
Réponse : Après avoir enlevé le vénérable, j'ai remis le sdc en sda. Arrivé au menu de grub, modifier le nom du disk root :
set root='(/dev/sda,msdos1)'
Une fois le système démarré, réinstaller grub sur le sda :
~# grub-install /dev/sda ~# update-grub
Mots clés : debian disque système
Boot grub
Rédigé par pep | Classé dans : Debian
22
05 | 11
Mise à jour d'un noyau sur une machine distante.
Sous debian (et autres unix/linux), il n'y a généralement pas de problème. Lors du démarrage sur un noyeau modifié, ou xen, ou ... Mais il peut arriver que la machine ne redémarre pas.
Pour palier ce ce problème, grub peut démarrer sur le noyau modifié, et au cas de "kernel panic", redémarrer sur l'ancien noyau.
Modification de /etc/default/grub
; Permet de choisir le noyau qui va démarrer en ligne de commande GRUB_DEFAULT=saved GRUB_TIMEOUT=5 GRUB_DISTRIBUTION=`lsb_release -i -s 2> /dev/null || echo Debian` ; Rajouter panic=5 -> En cas de pb, redémarrage au bout de 5 sec GRUB_CMDLINE_LINUX_DEFAULT="quiet panic=5" GRUB_CMDLINE_LINUX= Création de /boot/grub/grub.cfg avec les nouveaux parametres ~# update-grub Choisi la x+1 eme entrée de grub.cfg pour le démarrage par défaut ~# grub-set-default x Choisi de démarrer sur la y+1 eme entrée pour 1 démarrage ~# grub-reboot y Re démarre ~# reboot
Ca peut éviter de courir à la salle machine, ou de télépĥoner 5 fois à son hébergeur dans la même journée ...
Mots clés : grub
Boot pxe
Rédigé par pep | Classé dans : Debian
22
05 | 11
Le cdrom de mon portable étant naze, pas de boot sur usb, il ne restait que la mystérieuse option "boot from network".
Le serveur dhcp
Le premier élément nécessaire est un serveur dhcp. Il fournira une ip, et précisera ou trouver les fichiers nécessaires au démarrage.
/etc/dhcp/dhcpd.conf authoritative; ddns-update-style interim; ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.250; option domain-name-servers 192.168.1.2; option domain-name "glu"; option routers 192.168.1.1; option subnet-mask 255.255.255.0; default-lease-time 43200; max-lease-time 86400; server-name "PXE"; next-server 192.168.1.1; filename "/srv/tftp/pxe/pxelinux.0"; }
L'option "next-server" sert à préciser l'ip du serveur tftp si celui-ci n'est pas le même que le serveur dhcp.
Le serveur tftp
Trivial ftp : on fait dans le simple, pas d'authentification, on lui demande un fichier, il nous le donne. Le serveur atftp fait très bien l'affaire.
L'installateur créé un nouveau répertoire : /srv/tftp. Ce répertoire contiendra les fichiers.
/etc/default/atftp USE_INETD=false OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --bind-address 192.168.1.10 --no-multicast --maxthread 100 --verbose=10 /srv/tftp"
Le serveur PXE
- Installer pxe et syslinux.
- Créer le répertoire /srv/tftp/pxe
- Téléchargement des images netbook : http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/netboot.tar.gz
- Décompression de l'archive.
- Création de l'arborescence tftp
mkdir -p /srv/tftp/pxe/boot-screens/ mkdir -p /srv/tftp/pxe/pxelinux.cfg/
- Copie des fichiers de boot dans l'arborescence du serveur tftp
cp netboot-debian-squeeze-i386/debian-installer/i386/pxelinux.0 /srv/tftp/pxe/ cp netboot-debian-squeeze-i386/debian-installer/i386/boot-screens/splash.png /srv/tftp/pxe/boot-screens/ cp netboot-debian-squeeze-i386/debian-installer/i386/boot-screens/vesamenu.c32 /srv/tftp/pxe/boot-screens/ cp netboot-debian-squeeze-i386/debian-installer/i386/initrd.gz /srv/tftp/pxe/debian-squeeze/i386/ cp netboot-debian-squeeze-i386/debian-installer/i386/linux /srv/tftp/pxe/debian-lenny/i386/
- Création du fichier /srv/tftp/pxe/prelinux.cfg/default
include /boot-screens/menu.cfg default /boot-screens/vesamenu.c32 prompt 0 timeout 0
- Création du fichier /srv/tftp/pxe/boot-screens/menu.cfg
menu color border * #00000000 #00000000 none menu color sel * #ffffffff #76a1d0ff * menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * menu color tabmsg * #ffffffff #00000000 * menu vshift 12 menu rows 10 menu tabmsgrow 16 menu timeoutrow 17 menu tabmsg Press ENTER to boot or TAB to edit a menu entry menu autoboot Starting Local System in # seconds prompt 0 label bootlocal menu label ^Boot from local disk menu default localboot 0 timeout 200 #timeout which is displayed, Wait 10 seconds unless the user types somethin totaltimeout 1200 #timeout which executes the default definitely, always boot after 2 minutes menu begin debian menu title Debian label mainmenu menu label ^Back.. menu exit menu begin debian-squeeze menu title Debian Squeeze label mainmenu menu label ^Back.. menu exit menu begin debian-squeeze-i386 menu title Debian Squeeze i386 label mainmenu menu label ^Back.. menu exit DEFAULT install LABEL install kernel debian-squeeze/i386/linux append vga=normal initrd=debian-squeeze/i386/initrd.gz -- LABEL expert kernel debian-squeeze/i386/linux append priority=low vga=normal initrd=debian-squeeze/i386/initrd.gz -- LABEL rescue kernel debian-squeeze/i386/linux append vga=normal initrd=debian-squeeze/i386/initrd.gz rescue/enable=true -- LABEL auto kernel debian-squeeze/i386/linux append auto=true priority=critical vga=normal initrd=debian-squeeze/i386/initrd.gz -- menu end menu end menu end
Rien de trop compliqué, en somme. Ca permet de se sortir de problèmes matériels, de déployer à grande échelle et à peu de frais.
Mots clés : debian boot pxe