SvBackup01MrBrunoVernayBackuprsyncsshlvmBackupPCsauvegarde13/11/2003Installation système, Pb carte Raid.224/11/2003Installation BackupPC308/12/20031er sauvegardes réussies420/12/2003RedHat -> Mandrake : Pb carte Raid505/01/2004Mandrake -> SuseIntroductionCe document décri l'installation d'une machine dont le
disque dur n'est pas reconnu en standart avec Suse. Je suis passé par
3 installations (RH, Mandrake, Suse) pour des raisons politiques sans
importances (si j'avais eu du temps j'aurais fait une Gentoo dans
la foulée ...) Je décri aussi le mirroring du site de Suse.Le PDF n'est pas disponible car les tableaux ne passent pas !MatérielIl s'agit d'un PC en rack 1u :Marque : SuperMicroModèle : P4SGR/P4SGE Bios 1.1aProcesseur : Celeron 2GHzMémoire : 256Mo de type DDR266Bios : Phoenix v6.00PGCarte réseau : Intel Pro 1000 (utile car non reconnue lors de
l'installation de Suse.)Note : Pas d'alimentation redondante.Carte RAIDPlusieurs mailing lists rapportent des problèmes
d'installation et de performance, la marque 3ware est souvent
recommandée.http://www.linuxquestions.org/questions/archive/18/2003/08/4/21514http://www.spinics.net/lists/rh-inst/msg27212.htmlInstallation Red Hat 9Suite aux récentes prises de positions litigieuses de Red Hat, le
problème se pose du choix du système : RHE, Suse ou Mandrake ? (Je penche
pour Mandrake.)Carte RAID Promise SX6000 ...Pour la carte RAID Promise SX6000 : elle n'est pas reconnu par
RH9. Il faut créer une disquette avec le driver du site de Promise :
http://www.promise.com/support/download/download2_eng.asp?productId=86&category=All&os=100.Sous MS-windows, cela nécessite le programme rawrite qui peut être
trouvé ici : http://www.tux.org/pub/dos/rawrite/.
(Sous Linux dd suffit.)Quand on boot avec le CD de RH9, il faut taper linux dd
à l'invite du boot et inserer la disquette contenant le driver (il
est sur \\SvBackup\Drivers\Promise SX6000\.) Suivre
les instructions pour charger le driver. Ce driver ce retrouvera ensuite
dans la liste des devices drivers qu'on pourra ajouter. En effet :
Red Hat ne détecte pas de disques. Quand il le propose, il faut donc
ajouter puis choisir le device suivant : Promise SuperTrack
Driver v1.34 build 1.UpdatesJe me suis créé un compte personnel sur RHN pour pouvoir faire les
mises-à-jour. Il faut être patient, mais ça marche. (Conseil : mettre à
jour les packages par groupe de 3 ou 4 maximum.)Attention : la première mise à jour concerne l'appli de mise à
jour elle même, à recuperer sur le site de RH ... Suivre les
instructions du site de RH (enregistrer les RPM sur le disque et les
installer.)Installation Mandrake 9.2 (incomplete)Carte RAID Promise SX6000 ...Le site de Promise ne fourni pas d'image disque directement
utilisable pour l'installation de Mandrake. Il faut donc créer cette
disquette à la main. Sur le principe, il faut compiler le driver à
partir de ses sources : http://www.promise.com/support/download/download2_eng.asp?productId=86&category=All&os=100
sur une machine en Mdk9.2 (car la compilation nécessite la présence des
sources du même kernel qui sera utilisé lors de l'instalation, à
savoir 2.4.22) puis le mettre sur une disquette. Enfin, booter sur le CD
d'install avec l'option linux updatemodules
ou expert.Création de la disquette :Récupération
des sources du kernel : urpmi kernel-source.Récupération
des sources du pilote dans /usr/src/st6000src_1.34
: curl http://www.promise.com/support/file/driver/1_st6000src_1.34.zip > st6000src_1.34.zip
cd /usr/src
unzip st6000src_1.34.zipCompilation
du pilote : Il faut suivre les instructions du fichier
README.txt. Notamment, il faut commencer dans le
kernel par make xconfig puis make dep
avant de compiler le pilote, même si on ne veut pas utiliser ce kernel !
Ensuite dans les sources du pilote et faire make
KERNEL_SOURCE_DIR=/usr/src/linux. Cela doit créer un fichier
pti_st.o.Création
de la disquetteLe systeme de fichier sur la diquette doit
être ext2 (et non fat ou vfat par défaut.) Il faut donc prendre quelques
précautions :mkfs.ext2 /dev/fd0 # crée le système de fichier
mount -t etx2 /dev/fd0 /mnt/floppy # monte la disquette en présisant le type (plus prudent)Copier
le fichier pti_st.o sur la disquette.Dans
le cas d'une installation avec l'option "expert",
seule la présence du fichier pti_so.o est requise.
Ensuite lorsqu'il le demande il faut choisir scsi_mod.o
pour acceder au disque.Pour créer une disquette
"updatemodules" (voir : http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/~checkout~/gi/mdk-stage1/doc/UPDATEMODULES?rev=1.4)
il faut ajouter un fichier to_load contenant le
simple mot : pti_st (des lignes vides provoquent des
erreurs, mais ne gènent pas l'install.)Ne
pas oublier de démonter la disquette avant de la retirer :
umount /mnt/floppy !Installation Suse 9.0Pour se conformer aux normes du groupe, on utilise une distribution
Suse.Il n'existe pas de CD d'installations à télécharger (comme
pour Mandrake, Red Hat, Gentoo ...) On télécharge juste un petit CD de
boot et on lui indique un FTP (ou TFTP, NFS ... ) où trouver le reste de
l'installation. En l'occurence, on utilise un mirroir local bien
plus rapide que le FTP de Suse !Ressourcesftp://ftp.suse.com/pub/people/hvogel/Update-Media-HOWTO/index.html
: Comment créer une disquette contenant les drivers. (Il est aussi
possible de les mettre sur le FTP d'install.)http://sdb.suse.de/sdb/en/html/keylist.BOOT.html
: Pour les problèmes relatifs au boot ...lire le README dans les sources du pilote
Promise !http://www.tldp.org/HOWTO/Kernel-HOWTO/index.htmlhttp://www.rt.com/man/initrd.4.htmlhttp://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/s1-custom-kernel-modularized.htmlhttp://www.cpqlinux.com/rhdiskmod.htmlCarte RAID Promise SX6000 ...La machine ne voit pas de disque dur, seule la carte RAID-IDE qui
n'est pas reconnue en standart ! D'où la difficulté : le BIOS de
la carte RAID est juste capable de booter le MBR, pour le reste, il faut
se débrouiller.Le site de Promise ne fourni pas d'image disque directement
utilisable pour l'installation de Suse 9.0 (Il existe pour
d'anciennes versions.) Il faut donc créer cette disquette à la main.
Sur le principe, il faut compiler le driver à partir de ses sources :
http://www.promise.com/support/download/download2_eng.asp?productId=86&category=All&os=100
sur une machine en Suse 9.0 (car la compilation nécessite la présence
des sources du même kernel qui sera utilisé lors de l'instalation, à
savoir 2.4.21) puis le mettre sur une disquette. Enfin, booter avec le
CD d'installation en appuyant lorsqu'il le propose sur F3 :
"Driver update".Création de la disquette : Identique à la création pour Mandrake. Il faut
voir aussi le modèle des disquettes d'installation Suse.
L'important est d'avoir le module sur la disquette.A la fin de l'install, il faut stopper le reboot automatique
et ouvrir une console ou redemarrer sur le CD de boot en mode rescue
pour avoir une console.L'opération consiste alors à mettre les drivers nécessaires
dans le fichiers initrd.img et à relancer LILO (ou GRUB) (inutile si la
taille du fichier n'a pas trop changé.) Le fichier /boot/initrd.img
contient un système de fichier compressé. On peut donc le décompresser
et le monter sur un répertoire, ajouter des fichiers puis le démonter et
le recompresser.Aller dans /bootCréer un répertoire initrd.dirrecopier le ficher /boot/inird-x.xx.xx-xx.xx.img
dans /boot/inirdrd-x.xx.xx-xx.img.gz (noter le
.gz en plus.)décompresser l'image : gunzip
inirdrd-x.xx.xx-xx.img.gzmonter l'image : mount inirdrd-x.xx.xx-xx.img
initrd.dir -o loopAller voir dans /boot/initrd.dir/
recopier les modules et changer le script linuxrc
pour charger les nouveaux modules.Démonter le système de fichier : umount initrd.dir
et recompresser l'image : gzip -9 -n
inirdrd-x.xx.xx-xx.img. recopier l'image compressée
dans /boot à la place de l'ancienne.Dans le doute, si fichier image a trop changé, il faut
relancer LILO. Pour cela il faut écrire le fichier
/etc/lilo.conf sur le modèle d'une autre
Suse. En effet, en bootant en mode rescue, on n'a pas de
lilo.conf.KernelAttention : pour mettre à jour le kernel, il faut récuperer les
sources, configurer, compiler et ajouter le pilote de Promise
recompilé pour le nouveau kernel.Voici ce qui a été fait étape par étape :Récuperer les sources du kernel dans /usr/src/linux-xx.xx
... et les sources du pilote Promise dans /usr/src/st_6000src_x.xxEventuellement, nettoyer l'environnement :
make clean ; make mrproper dans
src/linux (cela détruit la dernière
configuration) et rm *.o dans
src/st_6000src. Effacer les traces de
précédents essais : quelques fichiers dans /boot/
et un répertoire dans /lib/modules/, plus des
entrées dans le menu /boot/grub/menu.lst.Tout ce qui sui ce passe dans /usr/src/linux...
: Changer le numéro de version du kernel vi Makefile
changer EXTRAVERSION en tout début de fichier : il suffit de
remplacer "custom" par la date, ou un numéro qu'on
incrémente à chaque essai.Pour ne pas partir de zéro, il est possible de récuperer la
dernière bonne configuration : les fichiers sont
/boot/config-x.xx.xx qu'il suffit de
copier dans .config.Lancer la configuration : make xconfig.
C'est la partie la plus délicate => Faire un chapitre à
part ! Citons déjà les point les plus importants : autoriser le
RAMDISK pour initrd ! En effet : le pilote Promise est livré sous
forme de module à compiler : il doit donc se trouver dans le
ramdisk créé au démarrage pour pouvoir être chargé dans le kernel
et donner accès au disque dur !Lancer make dep ; make clean. Puis
make bzImage, puis make modules
et make modules_install. Vérifier que les deux
dernières commandes se finissent bien : ce sont les parties les
plus susceptible de génerer des erreurs. Dans ce cas revenir au
point 2 et essayer de modifier la config.Aller dans les sources du pilote Promise et lancer
make KERNEL_SOURCE_DIR=/usr/src/linux-x.xx.xx
pour le compiler.Copier le fichier pti_st.o compilé dans
/lib/module/x.xx.xx-xx.x/kernel/drivers/scsi/.
(Ce répertoire est créé par make modules_install.)Retourner dans les sources linux pour lancer
make install ! Si la commande se fini bien, il
est possible de rebooter pour tester.Il est possible de vérifier si le pilote est bien dans
l'image disque qui est chargé en ram au démarrage.Aller dans /tmpCréer un répertoire initrd.dirrecopier le ficher /boot/inird-x.xx.xx-xx.xx.img
dans /tmp/inirdrd-x.xx.xx-xx.img.gz
(noter le .gz en plus.)décompresser l'image : gunzip
inirdrd-x.xx.xx-xx.img.gzmonter l'image : mount
inirdrd-x.xx.xx-xx.img initrd.dir -o loopAller voir dans /tmp/initrd.dir/lib
si il se trouve un fichier pti_st.o ...
si il n'y est pas, il est inutile d'essayer de booter
avec ce kernel.Note : le fichier /etc/modules.conf doit
contenir une ligne alias scsi_hostadapter pti_st.
Il n'y a pas à la modifier. Ce fichier contient, à priori les
modules a charger au démarrage.Partitionnement et LVMAfin de beneficier de l'isolation des systèmes de fichier sans
être frustré par la suite de ne plus pouvoir les redimensionner :
j'ai utilisé le système Logical Volume Manager.
Il est proposé en standart et certains l'utilisent avec BackupPC
(notamment pour les SnapShot.)Voici donc la configuration initiale :
UpdatesIl est possible de faire des mises à jours en ligne. Dans KDE, une
icône dans le systray prévient de la présence de mise à jour de
sécurité. Il faut le configurer pour utiliser le mirroir local.Pour les mises à jour du kernel : attention à conserver le pilote
de la carte raid-ide Promise.Configuration du serveurLe nom complet de la machine est svbackup01.padrol.fr. Specifier le
domaine permet d'éviter certains messages d'avertissement
(notamment pour l'envoi des mails.)CronUn job cron met à jour toute les nuits le mirroir de Suse, pour
pouvoir faire les installations et mise-à-jour. Le script est dans
/root/cronjobs/mirror-suse.sh et rapporte son
activité dans mirror-suse.log.FTPUn pure-FTP tourne pour servir de mirroir de Suse. (Rappel : la
racine du ftp est dans /srv/ftp.)HTTPUn serveur Apache2 spécifique à BackupPC est en service. Pour
ajouter des services HTTP, il faudrait lancer une autre instance
d'Apache2 et probablement sur d'autres ports que 80.BackupPCVoir la documentation concernant l'application BackupPC.Mirroir SuseCréation d'un mirroir localLe site de Suse est souvent débordé. On fait donc un mirroir sur
une machine locale avec rsync. On n'a pas pu faire de rsync
directement sur le site de Suse. On utilise un miroir de cette liste :
http://www.suse.de/en/private/download/ftp/index.html.
Un cron lance toute les nuits les commandes suivantes :
#!/bin/sh
#
# Synchronisation des FTP Suse pour installer et surtout mettre à jour plus rapidement cette distrib.
#
#mirroir=mirrors.mathematik.uni-bielefeld.de::pub/linux/suse/ftp.suse.com/pub/suse
mirroir=fr2.rpmfind.net::linux/SuSE-Linux
rsync -vrzl --delete ${mirroir}/i386/update/9.0/ /srv/ftp/suse/i386/update/9.0
#
# Sans doute inutile, le repertoire de base qui ne doit pas changer, à priori.
#
#rsync -vrzl --delete ${mirroir}/i386/9.0/ /srv/ftp/suse/i386/9.0Concernant les options de rsync : deletePermet
de supprimer les fichiers qui ne sont plus sur le serveur.vListe
les fichiers copiéslRecrée
les liens symboliques.zCompresserRécursifCe mirroir est partagé en FTP (on pourrait aussi utiliser TFTP,
NFS, SMB ... car on reste sur des IP internes) avec pure-FTP (serveur
FTP par défaut, léger et très sécurisé.)