Installation du server d'installation
ATTENTION A LA SILLA LE RESEAU EST 10.10.132.0
IL FAUT MODIFIER CETTE DOC QUI DECRIT DE RESEAU DE TEST A GENEVE (10.10.133.0) ET SUPPRIMER CE MESSAGE LE MOMENT VENU
Préambule
Le serveur d'installation permet d'installer une distribution figée à un certain moment par nos soins.
Cette technique permet de reinstaller une meme distribution (meme obsolète) sans crainte de problème de compatibilité (drivers, etc ...)
C'est le NAS qui jour ce rôle son IP est donne dans /etc/dhcp/dhcpd.conf du NUC serveur DHCP. Tout les elements pour chaque distribution sont sous /PXE_install qui est importé par la machine gérant l'implantation des distribution.
Installation sur le NAS
Il faut autoriser le service TFTP dans:
Files Services -> TFTP -> Enable TFTP
Sélectionner le directory PXE_install
S'il n'est pas créé:
On crée le shared folder (Control panel -> shared folder -> create -> create new shared folder) PXE_install/ (anciennement /var/lib/tftpboot)
name: PXE_install Description: LCU Installation Location: Volume1
Que l'on monte avec
mount -t nfs 10.10.133.101:/volume1/PXE_install /PXE_install
ou la config peut etre spécifiée dans /etc/fstab
10.10.133.101:/volume1/PXE_install /PXE_install/ nfs rw,hard,intr 0 0
L'ensemble des distribution (10[GB]) est sauvé sous obslogin1:/obs/ccd2/t4/nuc2017/PXE_install qui est la reference pour l'installation de PXE sur le NAS.
Récupération avec
rsync -avHl obslogin1:/obs/ccd2/t4/nuc2017/PXE_install/ /PXE_install/
Fin de l'installation
Fabrication d'un serveur d'installation sur un NUC
Ce qui suit sont les infos permettant de gérer ou mettre à jour une distribution
Les fichier de configuration sont sous /PXE_install/pxelinux.cfg/
On copie une config template ou un fichier existant dans le fichier destiné à la configuration du LCU spécifique sur lequel on crée un link.
Règle pour le link: on prends la mac adresse en minuscule, le séparateur est le tiret (au lieu du :) et précédé par "01-". Exemple pour le Beckhoff (modele 400) en test à Geneve: lcu01
cd /PXE_install/pxelinux.cfg cp glspcinstruments.SL67.i386.tmpl lcu01.SL67.i386 ln -s lcu01.SL67.ie86 01-00-01-05-10-8d-0e
Contenu:
DEFAULT vmlinuz.SL67.i386 APPEND ip=dhcp ksdevice=00:01:05:10:8d:0e initrd=/initrd.SL67.i386.img noipv6 edd=off load_ramdisk=1 network ks=nfs:10.10.133.101:/volume1/PXE_install/distrib/kickstart/glspcinstruments.SL67.i386.cfg
Une installation suit un script d'installation. dans le cas ci-dessus, c'est une fichier générique pour Scientific Linux 6.7 32bits: /PXE_install/distrib/kickstart/glspcinstruments.SL67.i386.cfg
Syntaxe de reference pour ce type de scripts
Attention la partie BIOS du LCU peut présenter des differences entre des modèles de LCU (dans notre cas entre les Beckhoff series C6240-40 (instrument) et C6240-10 (telescope). Il y a typiquement un problème d'interpretation des guillemets dans les commandes de config. Exemple:
SL5.5: authconfig --enableshadow --passalgo=sha512 --enableldap --enableldapauth --ldapserver=10.10.133.101 --ldapbasedn=dc=synologyCluster SL6.7: authconfig --enableshadow --passalgo=sha512 --enableldap --enableldapauth --ldapserver="10.10.133.101" --ldapbasedn="dc=synologyCluster"
Le scripts d'installation copie des fichiers communs et des fichiers spécifiques à une machine
Il sont respectivement sous: /PXE_install/distrib/install_data/common/ et /PXE_install/distrib/install_data/hosts/
On récupère la structure d'un machine existante pour créer la config d'un nouvelle machine. Exemple:
# cd /PXE_install/install_data/ # mkdir lcu01 # cp -r glsserv/* lcu01/
Parmi les fichier spécifique il est intéressant d'y mettre les clés ssh de la machine une fois installée pour que lors d'un nouvelle installation elle récupère les mêmes clés et facilite ainsi le fonctionnement de ssh.
Exemple de generation et de sauvegarde des clés ssh
Sur le LCU de test lcu01, on supprime les cle ssh et on restart le deamon, ce qui a pour consequence de refabriquer les cles systeme.
cd /etc/ssh rm -f *key* /etc/init.d/sshd restart Stopping sshd: [ OK ] Generating SSH2 RSA host key: [ OK ] Generating SSH1 RSA host key: [ OK ] Generating SSH2 DSA host key: [ OK ] Starting sshd: [ OK ] mount -t nfs 10.10.133.101:/volume1/PXE_install /PXE_install mkdir /opt/PXE_distrib/SL67.OBSGE.DVD.i386/keys cp *key* /PXE_install/distrib/install_data/hosts/lcu01
Création du repository
Sur le NUC:
apt-get install yum-utils createrepo cd /PXE_install/distrib/SL55.OBSGE.DVD.i386/SL/ createrepo -d -g repodata/comps-sl.xml .
Structure sous PXE_install
On change (par rapport à argos1) (voir *) la structure pour al simplifier
on a sous PXE_install/
pxelinux.0 | noyau bootable | |||
pxelinux.cfg/ | config PXE |
|||
01-00-01-05-10-8d-0e -> <host>.SL67.i386 | lien: 01-<mac add> (minuscule et "-") |
|||
<host>.SL67.i386 |
config file: contient:
|
|||
distrib (*) |
(ancienement /export/fedora) |
|||
kickstart/ | ||||
xxx.SL67.i386.cfg |
config file |
|||
SL67.OBSGE.DVD.i386/ | une distribution | |||
Packages | imported packages |
|||
repodata | xml base management |
|||
... | ||||
install_data (*) |
(ancienement sous /var/lib/tftpboot) | |||
common/ (*) |
commun files | |||
xx.yy | commun system file | |||
host/ (*) |
host specific files |
|||
host/vv.zz | host specific system file | |||
initrd.SL67.i386.img |
image system d'exploitation (INITial Ram Disk) |
|||
vmlinuz.SL67.i386 | Linux kernel compressed (z) |
Memo
Etapes de l'installation:
- DHCP request
- DHCP response next-server IP + fichier /PXE_install/pxelinux.0
- TFTP IP + fichier /PXE_install/pxelinux.0
- /PXE_install/pxelinux.0 lis /PXE_install/pxelinux.cfg/01-MAC
- /PXE_install/pxelinux.cfg/01-[MAC] --- kernel: /PXE_install/vmlinux dans TFT --- boot image: /PXE_install/initrd dans TFTP ---ks=nfs:10.10.132.81:/export/fedora/kickstart/glspcinstruments.SL67.i386.cfg --- miroir a Geneve: /net/obssys1/export/zpool/sys_install/
- /export/fedora/kickstart/glspcinstruments.SL67.i386.cfg: --- nfs --server=10.10.132.81 --dir=/export/fedora/SL67.DVD.i386/
- il va creer des utilisateurs (e.g. mot de passe de root)
- il va copier des fichier de TFTP: /PXE_install/install_data/
Comment mettre à jour le repository pour le downgrade d'un paquet
Pour mémo uniquement:
1.- SSH a un LCU 2.- Monter le repository: mkdir -p /opt/PXE_distrib/SL67.OBSGE.DVD.i386/ echo "10.10.133.101:/volume1/PXE_install/distrib/SL67.OBSGE.DVD.i386/ /opt/PXE_distrib/SL67.OBSGE.DVD.i386/ nfs rw,hard,intr 0 0" >> /etc/fstab mount /opt/PXE_distrib/SL67.OBSGE.DVD.i386/ cd /opt/PXE_distrib/SL67.OBSGE.DVD.i386/ 3.- Telecharger le paquet: cd /opt/PXE_distrib/SL67.OBSGE.DVD.i386/Packages/ wget http://ftp.scientificlinux.org/linux/scientific/6.7/i386/os/Packages/openldap-2.4.40-5.el6.i686.rpm 4.- Verifier paquet trop agees (et decider quoi effacer): cd /opt/PXE_distrib/SL67.OBSGE.DVD.i386/ repomanage -o ./Packages/ 5.- Installer: yum install createrepo 6.- Mettre a jour la bdd: createrepo -g repodata/8901e2e671eca85f1185864bf85db547c7dd3b9cd42c97bc37050a7e0b61ec8e-comps.xml . 7.- Downgrade yum downgrade openldap-2.4.40-5.el6
Historique
A titre informatif, voir quelques informations concernant l'ancien system sous argos1 et celui de Geneve
Directory d'installation sur argos1:
- /var/lib/tftpboot/
- /export/fedora/
Sur Genève:
- /net/obssys1/export/zpool/sys_install/