Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
developpement:productions:sidus4bullseye [2020/08/17 15:59]
equemene
developpement:productions:sidus4bullseye [2020/11/18 16:32] (Version actuelle)
equemene
Ligne 96: Ligne 96:
   * adresse IP externe réglée par DHCP sur '​eth0'​   * adresse IP externe réglée par DHCP sur '​eth0'​
   * adresse IP interne sur réseau SIDUS définie statiquement sur l'​interface '​eth1'​ en '​10.20.17.254'​   * adresse IP interne sur réseau SIDUS définie statiquement sur l'​interface '​eth1'​ en '​10.20.17.254'​
- 
-==== Installation de la passerelle ==== 
- 
-De manière à ne pas avoir à trop détailler les fichiers de configuration de chaque service, nous fournissons les fichiers définissant les services avec les paramètres ci-dessus. Ces fichiers seront téléchargés à partir d'une archive HTTP que nous définissons sous forme d'une variable d'​environnement ''​$HTTP''​ :<​code>​export HTTP=http://​www.cbp.ens-lyon.fr/​sidus/​buster</​code>​ 
- 
-Paramétrage des interfaces réseau 
-<​code>​ 
-mv /​etc/​network/​interfaces /​etc/​network/​interfaces.orig 
-wget -O /​etc/​network/​interfaces ${HTTP}/​interfaces 
-mv /​etc/​sysctl.conf /​etc/​sysctl.conf.orig 
-wget -O /​etc/​sysctl.conf ${HTTP}/​sysctl.conf 
-</​code>​ 
- 
-Montage de l'​interface interne 
-<​code>​ 
-ifup eth1 
-</​code>​ 
- 
-==== Installation du serveur DNS ==== 
- 
-Installation du serveur DNS Bind9 : 
-<​code>​ 
-apt-get install bind9 
-</​code>​ 
- 
-Configuration du serveur DNS : 
-<​code>​ 
-# Sauvegarde de la configuration initiale (reflexe g33k) 
-cp -a /etc/bind /​etc/​bind.orig 
-# Copie des descriptions de resolutions directes et inverses pour les zones 
-wget -O /​etc/​bind/​db.sidus.zone ${HTTP}/​db.sidus.zone 
-wget -O /​etc/​bind/​db.17.20.10 ${HTTP}/​db.17.20.10 
-# Renommage des fichiers de configuration initiaux 
-mv /​etc/​bind/​named.conf.local /​etc/​bind/​named.conf.local.orig 
-mv /​etc/​bind/​named.conf.options /​etc/​bind/​named.conf.options.orig 
-# Telechargement des fichiers de configurations 
-wget -O /​etc/​bind/​named.conf.local ${HTTP}/​named.conf.local 
-wget -O /​etc/​bind/​named.conf.options ${HTTP}/​named.conf.options 
-# Relance du serveur 
-systemctl restart bind9.service ​ 
-</​code>​ 
- 
-Paramétrage des interfaces réseau 
-<​code>​ 
-mv /​etc/​resolv.conf /​etc/​resolv.conf.orig 
-wget -O /​etc/​resolv.conf ${HTTP}/​resolv.conf.server 
-</​code>​ 
- 
-Vérification du serveur DNS 
-  * A la commande ''​host filer.sidus.zone localhost''​ le serveur doit répondre 
-<​code>​filer.sidus.zone is an alias for gateway.sidus.zone. ​ 
-gateway.sidus.zone has address 10.20.17.254</​code>​ 
-  * A la commande ''​host 10.20.17.254 127.0.0.1''​ 
-<​code>​254.17.20.10.in-addr.arpa domain name pointer gateway.sidus.zone.</​code>​ 
- 
-Le serveur DNS effectue les résolutions de noms en direct ou en inverse pour toutes les machines de la classe IP ''​10.20.17.0/​24''​ ou zone ''​sidus.zone''​. La machine ''​dhcp-35''​ aura comme IP ''​10.20.15.37''​. 
- 
-==== Installation du serveur DHCP ==== 
- 
-Installation du serveur DHCP 
-<​code>​ 
-apt-get install isc-dhcp-server 
-</​code>​ 
- 
-Configuration du serveur DHCP 
-<​code>​ 
-cp -a /​etc/​default/​isc-dhcp-server /​etc/​default/​isc-dhcp-server.orig 
-cp -a /etc/dhcp /​etc/​dhcp.orig 
-cp -a /​etc/​dhcp/​dhclient.conf /​etc/​dhclient.conf.orig 
-cp -a /​etc/​dhcp/​dhcpd.conf /​etc/​dhcpd.conf.orig 
-# Telechargement des fichiers de configurations 
-wget -O /​etc/​default/​isc-dhcp-server ${HTTP}/​isc-dhcp-server 
-wget -O /​etc/​dhcp/​dhclient.conf ${HTTP}/​dhclient.conf 
-wget -O /​etc/​dhcp/​dhcpd.conf ${HTTP}/​dhcpd.conf 
-# Redemarrage du serveur DHCP 
-systemctl restart isc-dhcp-server.service 
-</​code>​ 
-  
-Pour le serveur DHCP, dans le fichier de configuration ''/​etc/​dhcp/​dhcpd.conf''​ nous avons : 
-  * le pointage vers pxelinux.0 pour toutes les versions de démarrage : BIOS, UEFI 32 bits et UEFI 64 bits : <​code>​ 
-if option architecture-type = 00:00 { 
- ​filename "​pxelinux.0";​ 
- } elsif option architecture-type = 00:09 { 
- ​filename "​efi64/​syslinux.efi";​ 
- } elsif option architecture-type = 00:07 { 
- ​filename "​efi64/​syslinux.efi";​ 
- } elsif option architecture-type = 00:06 { 
- ​filename "​efi32/​syslinux.efi";​ 
- } else { 
- ​filename "​pxelinux.0"; ​ 
-}</​code>​ 
-  * la definition sur serveur TFTP à pointer :<​code>​ 
-next-server 10.20.17.254;​ 
-allow booting; 
-</​code>​ 
- 
-==== Installation du serveur TFTP ==== 
- 
-• Installation du paquet serveur TFTP 
-<​code>​ 
-apt-get install tftpd-hpa 
-</​code>​ 
- 
-<​code>​ 
-apt-get install pxelinux syslinux-common syslinux-efi memtest86 memtest86+ 
-</​code>​ 
- 
-• Installation des arborescences et des menus 
-<​code>​ 
-mkdir /​srv/​tftp/​pxelinux.cfg /​srv/​tftp/​efi32 /​srv/​tftp/​efi64 
-# Importation des composants pour le boot BIOS 
-cd /​usr/​lib/​syslinux/​modules/​bios 
-cp ldlinux.c32 libcom32.c32 libutil.c32 vesamenu.c32 /srv/tftp/ 
-cp /​usr/​lib/​PXELINUX/​pxelinux.0 /srv/tftp 
-cd /srv/tftp 
-wget -O /​srv/​tftp/​Sidus_Landscape.png ${HTTP}/​Sidus_Landscape.png 
-cp /​boot/​memtest86.bin memtest86 
-cp /​boot/​memtest86+.bin memtest86+ 
-# Importation des composants pour le boot EFI 32 bits 
-cd /​usr/​lib/​syslinux/​modules/​efi32 
-cp ldlinux.e32 libcom32.c32 libutil.c32 vesamenu.c32 /​srv/​tftp/​efi32 
-cd /​srv/​tftp/​efi32 
-ln -s ../​Sidus_Landscape.png Sidus_Landscape.png 
-ln -s ../​pxelinux.cfg pxelinux.cfg 
-ln -s ../​memtest86 memtest86 
-ln -s ../​memtest86+ memtest86+ 
-# Importation des composants pour le boot EFI 64 bits 
-cd /​usr/​lib/​syslinux/​modules/​efi64 
-cp ldlinux.e64 libcom32.c32 libutil.c32 vesamenu.c32 /​srv/​tftp/​efi64 
-cd /​srv/​tftp/​efi64 
-ln -s ../​Sidus_Landscape.png Sidus_Landscape.png 
-ln -s ../​pxelinux.cfg pxelinux.cfg 
-ln -s ../​memtest86 memtest86 
-ln -s ../​memtest86+ memtest86+ 
-</​code>​ 
- 
-• Paramétrage du serveur 
-<​code>​cp -a /​etc/​default/​tftpd-hpa /​etc/​default/​tftpd-hpa.orig 
-# Telechargement des fichiers de configurations 
-wget -O /​etc/​default/​tftpd-hpa ${HTTP}/​tftpd-hpa 
-</​code>​ 
- 
-==== Configuration menu de démarrage ==== 
-▶ Paramétrage des menu des démarrages possibles ◀ 
-<​code>​ 
-wget -O /​srv/​tftp/​pxelinux.cfg/​default ${HTTP}/​default 
-</​code>​ 
- 
- 
-Il est déjà possible de démarrer une machine par le réseau pour tester le serveur. Dans le menu présenté, il est possible de choisir les memtest86 pour, par exemple, tester sa mémoire. 
- 
-Dans le dossier **pxelinux.cfg**,​ nous avons le fichier ''​default''​. Voici un exemple de fichier de démarrage précisant au client tout ce qu'il faut pour démarrer. ​ 
- 
-<code bash> 
-PROMPT 0 
-TIMEOUT 30 
-DEFAULT menu.c32 
- 
-LABEL buster64overlay 
-      MENU LABEL SIDUS based on Debian buster on x86_64 : OverlayFS mode 
-      MENU default 
-      KERNEL vmlinuz-4.9.0-4-amd64@buster64nfs 
-      APPEND console=tty1 initrd=initrd.img-4.9.0-4-amd64@buster64nfs rd.shell sidus=overlay ip=dhcp root=nfs:​10.20.17.254:/​srv/​nfsroot/​buster64nfs:​vers=3,​rsize=1048576,​wsize=1048576,​tcp,​nolock,​noatime,​nocto,​actimeo=1,​intr,​hard net.ifnames=0 modprobe.blacklist=nouveau ipv6.disable=1 sky2.disable_msi=1 bnx2.disable_msi=1 intel_pstate=disable kernel.dmesg_restrict=0 
- 
-LABEL buster64aufs 
-      MENU LABEL SIDUS based on Debian buster on x86_64 : AUFS mode 
-      #MENU default 
-      KERNEL vmlinuz-4.9.0-4-amd64@buster64nfs 
-      APPEND console=tty1 initrd=initrd.img-4.9.0-4-amd64@buster64nfs rd.shell sidus=aufs ip=dhcp root=nfs:​10.20.17.254:/​srv/​nfsroot/​buster64nfs:​vers=3,​rsize=1048576,​wsize=1048576,​tcp,​nolock,​noatime,​nocto,​actimeo=1,​intr,​hard net.ifnames=0 modprobe.blacklist=nouveau ipv6.disable=1 sky2.disable_msi=1 bnx2.disable_msi=1 intel_pstate=disable kernel.dmesg_restrict=0 
-</​code>​ 
- 
-==== Installation du serveur NFS ==== 
- 
-Le serveur NFS va servir à offrir deux partages : 
-  * le partage de SIDUS 
-  * le partage des comptes utilisateurs 
- 
-<​code>​ 
-apt-get install nfs-common nfs-kernel-server 
-</​code>​ 
- 
-<​code>​ 
-cp -a /​etc/​default/​nfs-common /​etc/​default/​nfs-common.orig 
-cp -a /​etc/​default/​nfs-kernel-server /​etc/​default/​nfs-kernel-server.orig 
-cp -a /​etc/​idmapd.conf /​etc/​default/​idmapd.conf.orig 
-cp -a /​etc/​exports /​etc/​exports.orig 
-cp -a /etc/fstab /​etc/​fstab.orig 
-# Telechargement des fichiers de configurations 
-wget -O /​etc/​default/​nfs-common ${HTTP}/​nfs-common 
-wget -O /​etc/​default/​nfs-kernel-server ${HTTP}/​nfs-kernel-server 
-wget -O /​etc/​idmapd.conf ${HTTP}/​idmapd.conf 
-wget -O /​etc/​exports ${HTTP}/​exports 
-</​code>​ 
- 
-Paramétrage du dossier des comptes utilisateurs 
-<​code>​ 
-mkdir -p /​export/​home 
-echo "/home /​export/​home none bind 0 0" >> /etc/fstab 
-mount -a 
-</​code>​ 
- 
-Création des racines des instances SIDUS 
-<​code>​ 
-mkdir -p /​srv/​nfsroot/​buster64nfs /​srv/​nfsroot/​buster32nfs 
-</​code>​ 
-Si le volume racine est en BTRFS, il peut être judicieux de créer un sous-volume pour chaque instance : 
-<​code>​ 
-btrfs subvolume create /​srv/​nfsroot/​buster64nfs 
-btrfs subvolume create /​srv/​nfsroot/​buster32nfs 
-</​code>​ 
- 
-<​code>​ 
-/​etc/​init.d/​nfs-common restart 
-/​etc/​init.d/​nfs-kernel-server restart 
-</​code>​ 
- 
-La configuration proposée dans le ''/​etc/​exports''​ 
-  * les deux lignes permettant l'​offre de la partition utilisateur ''/​home''​ 
-    * ''/​export 10.20.17.0/​255.255.255.0(rw,​fsid=0,​async,​no_subtree_check)''​ 
-    * ''/​export/​home 10.20.17.0/​255.255.255.0(rw,​async,​nohide,​insecure,​no_subtree_check)''​ 
-  * deux lignes correspondant à l'​offre de deux instances SIDUS : 
-    * Instance pour système 64 bits : un partage en lecture pour les clients, un partage en lecture/​écriture pour le précurseur 
-      * ''/​srv/​nfsroot/​buster64nfs 10.20.17.0/​255.255.255.0(ro,​no_subtree_check,​async,​no_root_squash)''​ 
-      * ''/​srv/​nfsroot/​buster64nfs 10.20.17.253/​255.255.255.255(rw,​no_subtree_check,​async,​no_root_squash)''​ 
-    * Instance pour système 32 bits : un partage en lecture pour les clients, un partage en lecture/​écriture pour le précurseur 
-      * ''/​srv/​nfsroot/​buster32nfs 10.20.17.0/​255.255.255.0(ro,​no_subtree_check,​async,​no_root_squash)''​ 
-      * ''/​srv/​nfsroot/​buster32nfs 10.20.17.253/​255.255.255.255(rw,​no_subtree_check,​async,​no_root_squash)''​ 
- 
-Les machines du réseau ''​10.20.17.0/​24''​ auront un accès en lecture seule, la machine ''​10.20.17.253''​ un accès en lecture/​écriture,​ laquelle sera très utile pour l'​administration de l'​instance. 
- 
-Une fois ces 4 services DNS, DHCP, TFTP et NFS configurés,​ nous pouvons installer notre Sidus complet. 
  
 ===== Debootstrap ===== ===== Debootstrap =====
Ligne 340: Ligne 109:
 Configuration de la variable ''​HTTP'':​ Configuration de la variable ''​HTTP'':​
 <code bash> <code bash>
-export HTTP=http://​www.cbp.ens-lyon.fr/​sidus/​buster+export HTTP=http://​www.cbp.ens-lyon.fr/​sidus/​bullseye
 </​code>​ </​code>​
  
Ligne 366: Ligne 135:
  
 <code bash> <code bash>
-debootstrap --arch $ARCH --components='​main,​contrib,​non-free' ​buster ​$SIDUS http://​ftp.de.debian.org/​debian+debootstrap --arch $ARCH --components='​main,​contrib,​non-free' ​bullseye ​$SIDUS http://​ftp.de.debian.org/​debian
 </​code>​ </​code>​
  
Ligne 399: Ligne 168:
 <code bash> <code bash>
 sidus apt-get update sidus apt-get update
-sidus apt-get -y install aptitude dselect dracut dracut-core dracut-network isc-dhcp-common isc-dhcp-client openssh-server locales ​aufs-dkms aufs-tools ​firmware-linux-nonfree bridge-utils firmware-linux firmware-bnx2 dstat sysstat iftop htop iotop emacs lsof tshark mbw strace memtest86 dbench iozone3 psmisc console-setup less vim nscd nfs-common stressapptest mlocate net-tools hwloc time ssh+sidus apt-get -y install aptitude dselect dracut dracut-core dracut-network isc-dhcp-common isc-dhcp-client openssh-server locales firmware-linux-nonfree bridge-utils firmware-linux firmware-bnx2 dstat sysstat iftop htop iotop emacs lsof tshark mbw strace memtest86 dbench iozone3 psmisc console-setup less vim nscd nfs-common stressapptest mlocate net-tools hwloc time ssh
 sidus apt-get -y install linux-image-${ARCH} linux-headers-${ARCH} sidus apt-get -y install linux-image-${ARCH} linux-headers-${ARCH}
 # pour architectures 32 bits Intel # pour architectures 32 bits Intel
Ligne 431: Ligne 200:
 sidus apt-get clean sidus apt-get clean
 </​code>​ </​code>​
- 
- 
- 
  
 • Paramétrage d'un boot par NFS utilisant Dracut • Paramétrage d'un boot par NFS utilisant Dracut
Ligne 445: Ligne 211:
 • Modification du bail DHCP (sinon ça coupe l'​accès au client au bout de quelques minutes)... ​ • Modification du bail DHCP (sinon ça coupe l'​accès au client au bout de quelques minutes)... ​
 <code bash> <code bash>
-sed -i "​s/​=\$new_dhcp_lease_time/​=forever/"​ ${SIDUS}/​usr/​lib/​dracut/​modules.d/​40network/​dhclient-script.sh+sed -i "​s/​=\$new_dhcp_lease_time/​=forever/"​ ${SIDUS}/​usr/​lib/​dracut/​modules.d/​35network-legacy/​dhclient-script.sh
 </​code>​ </​code>​
  
Ligne 462: Ligne 228:
  
 <​code>​ <​code>​
-ls ${SIDUS}/​boot/​initrd.img-*-$(echo ${ARCH} ​sed 's/i386/686/​g'​) | xargs -I '​{}' ​${SIDUS}/​usr/​bin/​lsinitrd '​{}' ​| egrep '​(overlay.ko|aufs.ko|sidus)'+sidus ls /​boot/ ​| grep initrd ​| tail -while read INITRD ; do sidus lsinitrd ​/boot/$INITRD ​| egrep '(sidus|overlay|aufs)'​; done
 </​code>​ </​code>​
  
 Normalement apparaissent au moins les sorties : Normalement apparaissent au moins les sorties :
 <​​code>​​ ​ <​​code>​​ ​
--rwxr-xr-x ​​ 1 root root ​ 1695 Oct 3 11:46 lib/dracut/hooks/pre-pivot/10-sidus-mount.sh +-rwxr-xr-x ​  ​1 root     ​root          946 Jul  1 09:50 usr/lib/​dracut/​hooks/​pre-pivot/​10-overlay-mount.sh 
--rw-r--r-- ​ 1 root root ​ 60300 Nov 28 16:22 lib/modules/​4.9.0-4-686/kernel/fs/overlayfs/​​overlay.ko ​ +-rwxr-xr-x   1 root     ​root ​        1695 Oct  3  2017 usr/​lib/​dracut/​hooks/​pre-pivot/​10-sidus-mount.sh 
--rw-r--r-- ​​ 1 root root ​ ​449800 Nov 28 16:22 lib/modules/​4.9.0-4-686/​updates/​dkms/​aufs.ko+drwxr-xr-x   1 root     ​root            ​0 ​Nov 18 14:25 usr/lib/​modules/​5.9.0-1-amd64/​kernel/​fs/​overlayfs 
 +-rw-r--r-- ​  ​1 root     ​root       282436 Oct 17 13:14 usr/lib/​modules/​5.9.0-1-amd64/kernel/fs/overlayfs/​overlay.ko
 </​​code>​​ ​ </​​code>​​ ​
  
Ligne 530: Ligne 297:
 <code bash> <code bash>
 cp ${SIDUS}/​etc/​security/​group.conf ${SIDUS}/​etc/​security/​group.conf.orig cp ${SIDUS}/​etc/​security/​group.conf ${SIDUS}/​etc/​security/​group.conf.orig
-sed -i "s/\#\ End/​\*;​\*;​\*;​Al0000-2400;​plugdev,​fuse,​scanner,​dialout,​video,​audio,​floppy,​cdrom\n\#​\ End/g" ${SIDUS}/​etc/​security/​group.conf+sed -i "s/\#\ End/​\*;​\*;​\*;​Al0000-2400;​plugdev,​fuse,​scanner,​dialout,​video,​audio,​floppy,​cdrom,​disk,​docker\n\#\ End/g" ${SIDUS}/​etc/​security/​group.conf
 </​code>​ </​code>​
  
developpement/productions/sidus4bullseye.txt · Dernière modification: 2020/11/18 16:32 par equemene