ConfLess


Add to my manuals
41 Pages

advertisement

ConfLess | Manualzz

ConfLess

Revision : 1.12

[email protected]

Mathrice, Tours 2007 – p.1/41

système d’installation, de mise à jour et de configuration de

Linux

R

/UNIX

R développé par Miloslav Grundmann

Mathrice, Tours 2007 – p.2/41

Plan de la présentation

les besoins

(pouquoi il l’a dévloppé, pourquoi je l’ai utilisé) les principes fondamentaux les outils utilisés mode d’emploi

évolution, perspective,...

Mathrice, Tours 2007 – p.3/41

historique

le laboratoire “Mathématiques pour l’Industrie et la

Physique” (MIP) décide d’utiliser des clients lourds

2 personnes : MG (IR CNRS) et un technicien une centainne de machines

Miloslav développe ce système pour gérer le parc

Linux, le technicien s’occupe de Windows

Mathrice, Tours 2007 – p.4/41

les besoins

disposer d’un outil de gestion parc UNIX/Linux pour les postes “lourds” utilisateurs pour les serveurs pour l’équipe “Mathématiques pour l’Industrie et la

Physique” (MIP) de l’institut de Maths

Mathrice, Tours 2007 – p.5/41

gestion de parc

installation mise à jour configuration automatique de l’OS et des logiciels tout ça centralisé reproductible pérenne

Mathrice, Tours 2007 – p.6/41

résultat

l’outil idéal de gestion de parc ;) simple à utiliser : booter, partitionner, attendre

(niveau 0) installation automatique installation complète simple à configurer

(niveau 1)

1 fichier à éditer extensible

(niveau 2) robuste : redondance facile basé sur des principes simples

Mathrice, Tours 2007 – p.7/41

pourquoi je l’utilise ?

cvs ne me suffit pas pour travailler serein pour des serveurs (NIS, smtp hub, web, imap/pop) pour des machines virtuelles vmware je convertis les serveurs à ConfLess j’essaie d’expliquer aux techniciens comment passer au niveau 2 avec ConfLess

Mathrice, Tours 2007 – p.8/41

IF YOUR ARE PERSUADED THAT THE COMPUTER NEEDS ANY ACTION FROM

YOU YOU ARE COMPLETELY WRONG !!

PLEASE WAIT AND SEE !!

EVERYTHING IS OK !!

DO NOT TOUCH THE COMPUTER WHATEVER YOUR IDEAS ARE !!

IF THE COMPUTER IS IN THIS STATE FOR MORE THAN TWO HOURS

CALL YOUR COMPUTER MANAGER BUT DO NOT TOUCH THE COMPUTER

OTHERWISE IT WILL NOT BOOT !!

THIS COMPUTER SYSTEM LOVES USERS THAT DO NOT DO ANYTHING !!

DONT WORRY AND BE HAPPY !!

THE PROCEDURE WILL FINISH ONLY WITHOUT YOUR HELP

AND COMPLETELY AUTOMATICALY !!

ANY ASSISTANCE FROM YOU IS PROHIBITED !!

THIS COMPUTER NEEDS NO HELP FROM YOU, IF YOU WANT TO HELP

SOMEBODY PLEASE CHOOSE ANOTHER BENEFICIARY OF YOUR AID !!!!!!!!!!!!!!

PLEASE WAIT, THE COMPUTER IS WORKING !!!!!!!!!!!!!!

Mathrice, Tours 2007 – p.9/41

les besoins les principes fondamentaux les outils utilisés mode d’emploi

évolution, perspective,...

Mathrice, Tours 2007 – p.10/41

les principes fondamentaux

C’est un système Linux “live” qui copie des fichiers sur le disque local de la machine. Les fichiers sont choisis selon la classe de la machine.

tout ce qui peut être fait par une copie de fichier doit

être fait par une copie de fichier les ordinateurs appartiennent à des classes : ordinateur bleu, serveur web, scsi, gentoo,...

quelques chiffres

8 fichiers de configuration

20 scripts

Mathrice, Tours 2007 – p.11/41

particularités du système

le système d’installation est indépendant du système installé l’état utile d’une machine ne dépend pas de son état précédent

Mathrice, Tours 2007 – p.12/41

les conséquences

capitalisation et mutualisation pérenne du travail de configuration le crash d’une machine n’est plus un soucis si on a du matèriel de remplacement

on sait restaurer l’OS sans réfléchir

à partir d’une source “propre”

Mathrice, Tours 2007 – p.13/41

les besoins les principes fondamentaux les outils utilisés mode d’emploi

évolution, perspective,...

Mathrice, Tours 2007 – p.14/41

LE principe

C’est un système Linux “live” qui copie des fichiers sur le disque local de la machine. Les fichiers sont choisis selon la classe de la machine.

Mathrice, Tours 2007 – p.15/41

les outils utilisés

gentoo linux et nfsroot cfengine rsync quelques scripts

Mathrice, Tours 2007 – p.16/41

gentoo linux et nfsroot

l’OS d’installation boot : PXE, CD, partition locale nfsroot : montage de / par NFS os : gentoo linux + modifs

/etc/conf.d/local.start (démarrage de cfengine) configuration de cfengine les scripts

Mathrice, Tours 2007 – p.17/41

les outils : cfengine

www.cfengine.org

Mark Burgess, professor of Network and System Administration at University College Oslo www.iu.hio.no/~mark beaucoup d’articles (USENIX), de livres lssconf, Large Scale System Configuration

Mathrice, Tours 2007 – p.18/41

les outils : cfengine

appartenance des machines aux classes calcul = ( 172_16_1_33 172_16_1_36

172_16_1_38 172_16_0_16 ) web = ( 130_120_83_230 130_120_83_239 ) définition des classes web::

AddClasses = ( rootrsync rootserver globalcopy rootcopy ) rootrsync = ( "gentoo-web-2006-08-18-11:17" ) rootserver = ( "130.120.81.151::" ) rootcopy = ( "$(server)local/web/ ; $(server)local/identique/" )

Mathrice, Tours 2007 – p.19/41

les outils : cfengine

enchaînement des actions : montage des partitions, copie des fichiers, hostname,...

actionsequence =

( shellcommands.umount

shellcommands.fs

tidy shellcommands.sh

files links editfiles disable shellcommands.umount

shellcommands.reboot

)

Mathrice, Tours 2007 – p.20/41

les outils : cfengine

appartenance des machines aux classes définition des classes enchaînement des actions

Mathrice, Tours 2007 – p.21/41

cfengine et les classes génériques

redefined fs1, partition gentoo known scsi ide

Mathrice, Tours 2007 – p.22/41

classe

redefined

!redefined::

AddClasses = ( gentoo fs1 x11default )

Mathrice, Tours 2007 – p.23/41

classe

fs1

fs1:: bootrsync localroot localboot localhome

= ( "boot" )

= ( "local/gentoo" )

= ( "local/boot" )

= ( "local/home" ) cacherepertoire = ( "/mnt/cache" ) rootrepertoire = ( "/mnt/root" ) bootrepertoire = ( "/mnt/boot" ) homerepertoire = ( "/mnt/home" ) syslogrepertoire = ( "/mnt/syslog" )

Mathrice, Tours 2007 – p.24/41

rootdevice bootdevice homedevice cachedevice swapdevice

classe

!partition.fs1

= ( "$(disc)6" )

= ( "$(disc)1" )

= ( "$(disc)7" )

= ( "$(disc)5" )

= ( "$(disc)2" )

Mathrice, Tours 2007 – p.25/41

les outils : rsync

synchronisation incrémentale des fichiers man rsync !

http://samba.anu.edu.au/rsync/

...

Mathrice, Tours 2007 – p.26/41

les outils : quelques scripts

spécifique à la classe Linux gentoo montage des partitions (label Linux)

/etc/fstab

/etc/hostname

Mathrice, Tours 2007 – p.27/41

exemple 1

l’action shellcommands.umount shellcommands: umount.fs1::

"/bin/sync"

"/bin/umount $(bootrepertoire)"

"/bin/umount $(homerepertoire)"

"/bin/umount $(rootrepertoire)"

"/bin/umount $(cacherepertoire)"

"/bin/umount $(syslogrepertoire)"

Mathrice, Tours 2007 – p.28/41

exemple 2

l’action shellcommands.fs shellcommands: fs.fs1::

"/usr/local/bin/testfs $(bootdevice) bootnet"

"/usr/local/bin/testfs $(rootdevice) root"

"/usr/local/bin/hometestfs $(homedevice) home"

"/usr/local/bin/testfs $(cachedevice) cache"

"/usr/local/bin/testswap $(swapdevice)"

"/bin/mount -o noatime LABEL=bootnet $(bootrepertoire)"

"/bin/mount -o noatime LABEL=root $(rootrepertoire)"

"/bin/mount -o noatime LABEL=home $(homerepertoire)"

"/bin/mount -o noatime LABEL=system $(syslogrepertoire)"

"/bin/mount -o noatime LABEL=syslog /mnt/syslog"

Mathrice, Tours 2007 – p.29/41

exemple 3

l’action shellcommands.sh shellcommands: globalcopy.sh::

"/usr/local/bin/rcopy $(rootcopy) $(rootrepertoire) \

/tmp/files /tmp/exclude"

"/usr/local/bin/globalcopy $(rootserver)$(rootrsync) \

$(rootrepertoire) /tmp/files /tmp/exclude"

Mathrice, Tours 2007 – p.30/41

mode d’emploi : pour des serveurs

préparation d’une distribution vierge création des fichiers de configuration déclaration de la machine dans l’outil boot, partitionnement, installation, reboot fin

Mathrice, Tours 2007 – p.31/41

préparation d’une distribution vierge

gentoo tar xvjpf stage3-x86-2006.0.tar.bz2

chroot /ControlLinux/gentoo-web/ /bin/bash env-update source /etc/profile export PS1="(chroot) $PS1" emerge --sync emerge --update --deep world emerge apache

Mathrice, Tours 2007 – p.32/41

création des fichiers de configuration

la config commune mkdir -p /ControlLinux/local/identique emacs ...

la config spécifique mkdir -p /ControlLinux/local/web/etc/apache emacs ...

Mathrice, Tours 2007 – p.33/41

déclaration de la machine dans l’outil

Emacs web = ( 130_120_83_230 130_120_83_239 ) web::

AddClasses = ( rootrsync rootserver globalcopy rootcopy ) rootrsync = ( "gentoo-web" ) rootserver = ( "130.120.81.151::" ) rootcopy = ( "$(server)local/web/ ; $(server)local/identique/" )

Mathrice, Tours 2007 – p.34/41

boot, partitionnement, installation, reboot

test sur une machine virtuelle VMware boot PXE montage rootnfs partitionnement lancement de l’installation installation sur la machine physique

Mathrice, Tours 2007 – p.35/41

les outils : cvs

historique des modifs sauvegarde des modifs en production

Mathrice, Tours 2007 – p.36/41

pour les postes utilisateurs

2 boot successifs : confless puis l’OS utilisateur installation from scratch 30min mise à jour 5min

Mathrice, Tours 2007 – p.37/41

évolution, perspective

adaptation pour un autre UNIX (BSD) une doc de mise en œuvre mise à jour sans reboot

...

Mathrice, Tours 2007 – p.38/41

référence : USENIX

conférence LISA, Large Installation System

Administration lssconf, Large Scale System Configuration

Mathrice, Tours 2007 – p.39/41

malheuresement

développé trop tard :( idéalement : dès que les PC/Linux ont existé maintenant c’est les portables et on est en retard par rapport aux utilisateurs

Mathrice, Tours 2007 – p.40/41

CIMPA, la chine

Mathrice, Tours 2007 – p.41/41

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

advertisement