Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
developpement:productions:sidus4jessie [2015/09/14 16:37] equemene [Debootstrap] |
developpement:productions:sidus4jessie [2015/11/23 16:12] equemene |
||
---|---|---|---|
Ligne 82: | Ligne 82: | ||
===== Préparation du système ===== | ===== Préparation du système ===== | ||
- | Nous devons préparer un peu notre système pour accueillir SIDUS. Pour cela, nous avons la main sur plusieurs services pour déployer nos clients : serveurs DHCP, TFTP, NFS. Vous entretenez de très bonnes relations avec votre service IT ou vous êtes assez libres pour accéder sans contraintes aux serveurs Ldap et DNS bien définis : | + | Nous devons préparer un peu notre système pour accueillir SIDUS. Pour cela, nous devons avoir la main sur plusieurs services pour déployer nos clients : serveurs DHCP, TFTP, NFS. Vous devez donc entretenir de très bonnes relations avec votre service IT ou vous êtes assez libres pour accéder sans contraintes aux serveurs Ldap et DNS bien définis : |
* le service DHCP fournit à notre client une adresse IP mais diffuse deux informations complémentaires : l'adresse du serveur TFTP via la variable ''next-server'' et le nom du binaire PXE, souvent nommé ''pxelinux.0''. | * le service DHCP fournit à notre client une adresse IP mais diffuse deux informations complémentaires : l'adresse du serveur TFTP via la variable ''next-server'' et le nom du binaire PXE, souvent nommé ''pxelinux.0''. | ||
* le service TFTP entre alors en scène. Il offre par TFTP tout le nécessaire permettant le démarrage du système : le binaire ''pxelinux.0'', le noyau et le démarrage du système du client. Si nous avons besoin d'offrir des paramètres à tel ou tel client, nous contruisons un document spécifique dont le nom sera contruit à partir de son adresse MAC (préfixé de 01 et dont les : sont remplacés par des -). | * le service TFTP entre alors en scène. Il offre par TFTP tout le nécessaire permettant le démarrage du système : le binaire ''pxelinux.0'', le noyau et le démarrage du système du client. Si nous avons besoin d'offrir des paramètres à tel ou tel client, nous contruisons un document spécifique dont le nom sera contruit à partir de son adresse MAC (préfixé de 01 et dont les : sont remplacés par des -). | ||
* le serveur NFS s'invite alors dans la boucle : il va offrir la racine du système par son protocole (donc NFSroot). C'est donc dans cette racine, par exemple ''/srv/nfsroot/sidus'' que nous allons installer notre système client. | * le serveur NFS s'invite alors dans la boucle : il va offrir la racine du système par son protocole (donc NFSroot). C'est donc dans cette racine, par exemple ''/srv/nfsroot/sidus'' que nous allons installer notre système client. | ||
- | De manière à installer notre première instance SIDUS de manière complètement autonome, nous avons besoin de configurer les différents services ci-dessus. Sur nos configurations nous utilisons respectivement **isc-dhcp-server**, **bind9**, **tftpd-hpa** et **nfs-kernel-server** pour les serveurs DHCP, DNS, TFTP et NFS. | + | Dans l'éventualité où vous n'avez pas la main sur les services DNS, TFTP, DHCP et NFS, de manière à installer notre première instance SIDUS de manière complètement autonome, nous avons besoin de configurer ces différents services. Dans nos configurations suivantes, nous exploiterons respectivement **isc-dhcp-server**, **bind9**, **tftpd-hpa** et **nfs-kernel-server** comme implémentations logicielles des serveurs DHCP, DNS, TFTP et NFS. |
Le "domaine" SIDUS dont nous allons présenter l'installation aura les spécifications suivantes : | Le "domaine" SIDUS dont nous allons présenter l'installation aura les spécifications suivantes : | ||
Ligne 97: | Ligne 96: | ||
==== Installation de la passerelle ==== | ==== 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/jessie</code> | ||
Paramétrage des interfaces réseau | Paramétrage des interfaces réseau | ||
Ligne 104: | Ligne 105: | ||
mv /etc/sysctl.conf /etc/sysctl.conf.orig | mv /etc/sysctl.conf /etc/sysctl.conf.orig | ||
wget -O /etc/sysctl.conf ${HTTP}/sysctl.conf | wget -O /etc/sysctl.conf ${HTTP}/sysctl.conf | ||
- | mv /etc/resolv.conf /etc/resolv.conf.orig | + | </code> |
- | wget -O /etc/resolv.conf ${HTTP}/resolv.conf.server | + | |
+ | Montage de l'interface interne | ||
+ | <code> | ||
+ | ifup eth1 | ||
</code> | </code> | ||
Ligne 130: | Ligne 134: | ||
# Relance du serveur | # Relance du serveur | ||
/etc/init.d/bind9 restart | /etc/init.d/bind9 restart | ||
+ | </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> | </code> | ||
Vérification du serveur DNS | Vérification du serveur DNS | ||
- | * A la commande ''host filer.sidus.zone'' le serveur doit répondre | + | * A la commande ''host filer.sidus.zone localhost'' le serveur doit répondre |
<code>filer.sidus.zone is an alias for gateway.sidus.zone. | <code>filer.sidus.zone is an alias for gateway.sidus.zone. | ||
gateway.sidus.zone has address 10.20.15.254</code> | gateway.sidus.zone has address 10.20.15.254</code> | ||
- | * A la commande ''host 10.20.15.254'' | + | * A la commande ''host 10.20.15.254 127.0.0.1'' |
<code>254.15.20.10.in-addr.arpa domain name pointer gateway.sidus.zone.</code> | <code>254.15.20.10.in-addr.arpa domain name pointer gateway.sidus.zone.</code> | ||
Ligne 197: | Ligne 207: | ||
cd /usr/lib/syslinux/modules/bios | cd /usr/lib/syslinux/modules/bios | ||
cp ldlinux.c32 libcom32.c32 libutil.c32 vesamenu.c32 /srv/tftp/ | cp ldlinux.c32 libcom32.c32 libutil.c32 vesamenu.c32 /srv/tftp/ | ||
+ | cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftp | ||
cd /srv/tftp | cd /srv/tftp | ||
- | wget -O /etc/dhcp/dhcpd.conf ${HTTP}/Sidus_Landscape.png | + | wget -O /srv/tftp/Sidus_Landscape.png ${HTTP}/Sidus_Landscape.png |
cp /boot/memtest86.bin memtest86 | cp /boot/memtest86.bin memtest86 | ||
- | cp /boot/memtest86+.bin memtest86.bin | + | cp /boot/memtest86+.bin memtest86+ |
# Importation des composants pour le boot EFI 32 bits | # Importation des composants pour le boot EFI 32 bits | ||
cd /usr/lib/syslinux/modules/efi32 | cd /usr/lib/syslinux/modules/efi32 | ||
Ligne 255: | Ligne 266: | ||
wget -O /etc/idmapd.conf ${HTTP}/idmapd.conf | wget -O /etc/idmapd.conf ${HTTP}/idmapd.conf | ||
wget -O /etc/exports ${HTTP}/exports | wget -O /etc/exports ${HTTP}/exports | ||
- | wget -O /etc/fstab ${HTTP}/fstab | ||
</code> | </code> | ||
Ligne 263: | Ligne 273: | ||
echo "/home /export/home none bind 0 0" >> /etc/fstab | echo "/home /export/home none bind 0 0" >> /etc/fstab | ||
mount -a | mount -a | ||
+ | </code> | ||
+ | |||
+ | Paramétrage des racines des instances SIDUS | ||
+ | <code> | ||
+ | mkdir -p /srv/nfsroot/jessie64nfs /srv/nfsroot/jessie32nfs | ||
</code> | </code> | ||
Ligne 270: | Ligne 285: | ||
</code> | </code> | ||
- | Pour le serveur NFS, sa configuration prend un ligne dans le fichier '/etc/exports'. Ici, nous ouvrons un accès en lecture seule pour les machines dont l'IP est comprise entre 10.20.15.0 et 10.13.20.254 :<code> | + | La configuration proposée dans le ''/etc/exports'' |
- | /srv/nfsroot/sidus 10.20.15.0/255.255.255.0(ro,no_subtree_check,async,no_root_squash) | + | * les deux lignes permettant l'offre de la partition utilisateur ''/home'' |
- | </code> | + | * ''/export 10.20.15.0/255.255.255.0(rw,fsid=0,async,no_subtree_check)'' |
+ | * ''/export/home 10.20.15.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 master | ||
+ | * ''/srv/nfsroot/jessie64nfs 10.20.15.0/255.255.255.0(ro,no_subtree_check,async,no_root_squash)'' | ||
+ | * ''/srv/nfsroot/jessie64nfs 10.20.15.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 master | ||
+ | * ''/srv/nfsroot/jessie32nfs 10.20.15.0/255.255.255.0(ro,no_subtree_check,async,no_root_squash)'' | ||
+ | * ''/srv/nfsroot/jessie32nfs 10.20.15.253/255.255.255.255(rw,no_subtree_check,async,no_root_squash)'' | ||
+ | |||
+ | Les machines du réseau ''10.20.15.0/24'' auront un accès en lecture seule, la machine ''10.20.15.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. | Une fois ces 4 services DNS, DHCP, TFTP et NFS configurés, nous pouvons installer notre Sidus complet. | ||
Ligne 285: | Ligne 310: | ||
Nous avons par commodité défini des variables d'environnement correspondant à la racine de notre système ''$SIDUS'' et une commande permettant l'exécution d'une commande par ''chroot'' avec une option particulière d'installation de paquet. | Nous avons par commodité défini des variables d'environnement correspondant à la racine de notre système ''$SIDUS'' et une commande permettant l'exécution d'une commande par ''chroot'' avec une option particulière d'installation de paquet. | ||
+ | |||
+ | Installation de ''debootstrap'' | ||
+ | <code> | ||
+ | apt-get install debootstrap | ||
+ | </code> | ||
Pour une architecture x84_64 ou AMD64 | Pour une architecture x84_64 ou AMD64 | ||
Ligne 327: | Ligne 357: | ||
</code> | </code> | ||
- | Installation de paquets nécessaires | + | Installation de paquets jugés nécessaires ( |
<code> | <code> | ||
- | sidus apt-get -y install aptitude dselect dracut dracut-network isc-dhcp-common isc-dhcp-client openssh-server locales aufs-tools firmware-linux-nonfree bridge-utils firmware-linux firmware-bnx2 dstat sysstat iftop htop iotop emacs lsof tshark mbw strace memtest86 cpuburn dbench iozone3 console-setup less vim unscd nfs-common linux-image-${ARCH} linux-headers-${ARCH} | + | sidus apt-get update |
+ | sidus apt-get -y install aptitude dselect dracut dracut-network isc-dhcp-common isc-dhcp-client openssh-server locales aufs-tools firmware-linux-nonfree bridge-utils firmware-linux firmware-bnx2 dstat sysstat iftop htop iotop emacs lsof tshark mbw strace memtest86 cpuburn dbench iozone3 psmisc console-setup less vim unscd nfs-common mlocate tshark linux-image-${ARCH} linux-headers-${ARCH} | ||
</code> | </code> | ||
- | Paramétrage de la localisation, la langue, le fuseau horaire | + | Paramétrage de la localisation, la langue, le fuseau horaire à partir du serveur lui même : |
<code> | <code> | ||
mv ${SIDUS}/etc/locale.gen ${SIDUS}/etc/locale.gen.orig | mv ${SIDUS}/etc/locale.gen ${SIDUS}/etc/locale.gen.orig | ||
mv ${SIDUS}/etc/timezone ${SIDUS}/etc/timezone.orig | mv ${SIDUS}/etc/timezone ${SIDUS}/etc/timezone.orig | ||
mv ${SIDUS}/etc/default/keyboard ${SIDUS}/etc/default/keyboard.orig | mv ${SIDUS}/etc/default/keyboard ${SIDUS}/etc/default/keyboard.orig | ||
- | wget -O ${SIDUS}/etc/locale.gen ${HTTP}/locale.gen | + | cp /etc/locale.gen ${SIDUS}/etc/locale.gen |
- | wget -O ${SIDUS}/etc/timezone ${HTTP}/timezone | + | cp /etc/timezone ${SIDUS}/etc/timezone |
- | wget -O ${SIDUS}/etc/default/keyboard ${HTTP}/keyboard | + | cp /etc/default/keyboard ${SIDUS}/etc/default/keyboard |
sidus locale-gen | sidus locale-gen | ||
sidus dpkg-reconfigure tzdata | sidus dpkg-reconfigure tzdata | ||
Ligne 395: | Ligne 425: | ||
Pour la résolution DNS | Pour la résolution DNS | ||
<code> | <code> | ||
- | wget -O ${SIDUS}/etc/resolv.conf $HTTP/resolv.conf | + | cp /etc/resolv.conf ${SIDUS}/etc/resolv.conf |
</code> | </code> | ||
Pour le tuning système associé aux interfaces réseau | Pour le tuning système associé aux interfaces réseau | ||
<code> | <code> | ||
- | wget -O ${SIDUS}/etc/sysctl.d/gc.conf $HTTP/gc.conf | ||
wget -O ${SIDUS}/etc/sysctl.d/gc.conf $HTTP/gc.conf | wget -O ${SIDUS}/etc/sysctl.d/gc.conf $HTTP/gc.conf | ||
</code> | </code> | ||
Ligne 414: | Ligne 443: | ||
mv ${SIDUS}/etc/default/nfs-common ${SIDUS}/etc/default/nfs-common.orig | mv ${SIDUS}/etc/default/nfs-common ${SIDUS}/etc/default/nfs-common.orig | ||
mv ${SIDUS}/etc/idmapd.conf ${SIDUS}/etc/idmapd.conf.orig | mv ${SIDUS}/etc/idmapd.conf ${SIDUS}/etc/idmapd.conf.orig | ||
- | wget -O ${SIDUS}/etc/default/nfs-common $HTTP/nfs-common | + | cp /etc/default/nfs-common ${SIDUS}/etc/default/nfs-common |
- | wget -O ${SIDUS}/etc/idmapd.conf $HTTP/idmapd.conf | + | cp /etc/idmapd.conf ${SIDUS}/etc/idmapd.conf |
</code> | </code> | ||
Ligne 435: | Ligne 464: | ||
<code> | <code> | ||
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,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\n\#\ End/g" ${SIDUS}/etc/security/group.conf |
</code> | </code> | ||