Bonjour,
Je suis en train d'écrire un script de déploiement d'OS par protocole bootp sur un réseau de X machines, et j'obtiens des résultats très bizarre :
j'ai un serveur avec une ubuntu 8.10, un serveur DHCP, un serveur NFS et un serveur TFTP.
La procédure est la suivante :
- chacun de mes clients est configuré pour booter sur LAN avec l'agent bootp (intel ici) activé.
- Lorsque le client démarre, il se voit attribuer une adresse IP (en fonction de son adresse mac, ceci configuré dans dhcpd.conf) par le serveur DHCP, puis une série de fichiers en TFTP pour démarrer un bootloader (pxelinux).
- Dans le fichier pxelinux.cfg/default ressemble en gros à un grub loader et tente de démarrer un linux en nfs.
- sur mon partage nfs, j'ai la distribution grml (version small 2008.11) et le systeme démarre bien.
- j'ai updaté cette grml pour qu'un de mes script soit appelé.
Tout ca fonctionne très bien.
Que fait mon script :
En gros, il supprime toutes les partitions de /dev/sda , les recrée, puis formate la partition, la monte, copie un tgz dedans, le décompresse, fixe le grub de ce device, puis démonte ce device.
Cette procédure fonctionne très bien, mais j'ai aléatoirement des problèmes sur la partie "copie tgz, décompresse"
Parfois, la partition montée saute en lecture seule. Je m'explique : la copie du tgz fonctionne très bien, ce qui prouve que la partition est bien montée en écriture, puis lorsque je lance la décompression, il me met des messages d'erreur comme quoi il ne peut pas créer les répertoires ni les fichiers. Je fais le test à la main :
Code :
- mount /dev/sda1 /mnt/partition
- cd /mnt/partition
- cp /tmp/image.tgz /mnt/partition #ca passe
- tar xvzf image.tgz # erreur
- # j interromps
- touch toto #erreur : read only filesystem
- # je force le remontage de mon device
- mount -o remount,rw /mnt/partition #error : read-only file system
- # je demonte mon device
- umount /mnt/partition
- # puis je le remonte
- mount /dev/sda1 /mnt/partition
- #je teste l ecriture
- touch toto #ca marche !!!
- #je decompresse
- tar xvzf image.tgz # erreur a nouveau
- # j interromps et je teste en ecriture
- touch toto #ca merde
|
C'est très étrange, et je ne vois pas d'ou ca vient. Petite info : le device est une compact flash branchée sur un port CF/IDE d'une carte embarquée (AAEON 9310), et quand je prends la compact flash et que je fais la manip à la main sur une autre machine, cela fonctionne ne fonctionne pas (ça a planté pendant l'écriture de ce message ).
Y a-t-il possibilité d'avoir une trace des opérations effectuées sur la partition, genre un remount forcé par le système suite à une détection d'erreur ?
Autre question (plutot matérielle cette fois ci ) : les CF peuvent se brancher a chaud sur un lecteur USB. En est-il de même pour les ports CF/IDE ? J'ai peut-être grillé mes cartes comme ça car il m'arrive de les brancher à chaud.
Merci