226 lines
9.3 KiB
Markdown
226 lines
9.3 KiB
Markdown
|
**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
|
|||
|
|
|||
|
# Howto GANDI Hosting
|
|||
|
|
|||
|
Les serveurs proposés par GANDI Hosting sont des machines virtuelles Xen.
|
|||
|
Ils permettent notamment l'ajout/suppression de mémoire et core CPU à chaud.
|
|||
|
|
|||
|
## Spécificités Gandi
|
|||
|
|
|||
|
Gandi installe une clé publique dans _/root/.ssh/authorized_keys_ :
|
|||
|
|
|||
|
~~~
|
|||
|
from="217.70.181.*" ssh-dss AAAAB3NzaC1kc3MAAACBAK9NzNMvvimq4+k3wf0cQDfiDDNpdtbOo/IpjKzI7MRwvvIuwdEKZ7Xp7J/sJM3uMuSK1vGpJXkJ3bxFL5e0Wk/GJBP7STFMqPVZZrMfL/uep9DT
|
|||
|
/HssOYwtvZheP39PT29NMqXEmwUBrW2yojeol9BNCzxvX0D2oh+fMUmDfKxfAAAAFQC8ylRZUIdLgxGMlP4KRRX1rhd0mQAAAIBohLoFIe2zzWglQMobuKSqfhkTDA3KubgAUzkrA5aGZsPeiSChXOF97ilyKocH
|
|||
|
PBDTLbMTyyu27JFAFKiLNB021RQOMtWtsDp6vGi3OQiys+MIUH1AcAid1Q7LijCIcSUQy/yaioOryNa0k7St10IRA3W/q/OyeGgiPz/BdoAdUwAAAIBDBij4WU5EcqjcW+JLuYPJ1Al3EkrA4SNktNNFtdTmfd0h
|
|||
|
NKycQ8/wN+sNeLIx9uB4q7OQRLbKpNSW/mODA8japElhSySNWwUi35M+W2/9RbTTvzhD/NRrAmMFpLJd7gT26ITgjQ7G9fYi8VrvxT8092kWntQea9GikDNjKQvsHQ== mgt_gandi
|
|||
|
~~~
|
|||
|
|
|||
|
Cela leur permet de prendre la main en _root_ en cas de nécessité. Attention, pour interdire cela par défaut tout (en gardant la possibilité de l'activer),
|
|||
|
on a tendance à positionner _PermitRootLogin no_ dans la configuration du serveur SSH... sauf que Gandi force (au boot notamment) _PermitRootLogin without-password_ !!!
|
|||
|
À savoir...
|
|||
|
|
|||
|
Gandi installe cinq paquets spécifiques. À part un, on peut les désinstaller car ils servent uniquement à l'installation du système :
|
|||
|
|
|||
|
~~~
|
|||
|
# aptitude purge gandi-hosting-agent gandi-hosting-agent-plugins-internal-debian gandi-hosting-agent-plugins-internal-unix gandi-hosting-agent-schemes
|
|||
|
~~~
|
|||
|
|
|||
|
Note : il faut lancer la commande deux fois à cause d'un conflit lors de la suppression du paquet _gandi-hosting-agent-plugins-internal-unix_
|
|||
|
|
|||
|
Source : <http://groups.gandi.net/fr/post/gandi.fr.hebergement.expert/22663>
|
|||
|
|
|||
|
Le paquet _gandi-hosting-vm_ permet d'automatiser certaines actions demandées à partir du panel Gandi, comme le montage automatiques des disques
|
|||
|
attachés au serveur ou l'ajout d'adresses IP supplémentaires.
|
|||
|
Pour bénéficier des mises-à-jour de ce paquet, on gardera le dépôt _<http://mirrors.gandi.net/gandi/debian_> comme indiqué plus haut.
|
|||
|
|
|||
|
## Mise-à-jour du noyau
|
|||
|
|
|||
|
Il suffit d'aller sur le panel Gandi dans les options avancées de son "disque système" et de choisir la version souhaitée.
|
|||
|
|
|||
|
Il faut également installer les nouveaux modules via la procédure décrite sur <http://wiki.gandi.net/fr/iaas/references/server/kernel_modules>
|
|||
|
On pourra lister exhaustivement les modules disponibles via la commande suivante exécutée sur le serveur :
|
|||
|
|
|||
|
~~~
|
|||
|
$ GET <http://mirrors.gandi.net/kernel/> | grep modules | sed 's/^.*a href="\(.*\)".*/\1/'
|
|||
|
~~~
|
|||
|
|
|||
|
Attention, pour les noyaux >= 2.6.32 il faut activer la sortie standard sur *hvc0* (options avancées du panel Gandi)
|
|||
|
et s'assurer d'avoir dans la ligne suivante dans le fichier _/etc/inittab_ du serveur :
|
|||
|
|
|||
|
~~~
|
|||
|
1:2345:respawn:/sbin/getty 38400 hvc0
|
|||
|
~~~
|
|||
|
|
|||
|
Ceci est indispensable pour avoir un mode console utilisable !
|
|||
|
|
|||
|
Note : il y a parfois des bugs avec les scripts Gandi, notamment dans le montage auto des différents disques :
|
|||
|
ils se montent parfois en tant que /srv/NOM.2 et il est nécessaire de nettoyer /srv/NOM...
|
|||
|
|
|||
|
|
|||
|
## Reboot en cas de faille de sécurité sur le noyau
|
|||
|
|
|||
|
GANDI prévient et il suffit de stop puis start sa VM via l'interface web.
|
|||
|
|
|||
|
Voir <https://wiki.gandi.net/fr/iaas/references/server/kernel_changelog>
|
|||
|
|
|||
|
## Accès console de secours
|
|||
|
|
|||
|
Pour cela il faut l'activer dans l'interface d'admin, puis l'on pourra avoir un accès console via :
|
|||
|
|
|||
|
~~~
|
|||
|
$ ssh <IP>@console.gandi.net
|
|||
|
~~~
|
|||
|
|
|||
|
## IPv6
|
|||
|
|
|||
|
Depuis début janvier 2011, GANDI active désormais l'IPv6 par défaut : <http://wiki.gandi.net/fr/hosting/gandi-expert/manage-ipv6>
|
|||
|
|
|||
|
Pour le désactiver, l'une des méthodes est de lancer ces commandes :
|
|||
|
|
|||
|
~~~
|
|||
|
# sysctl -w net.ipv6.conf.all.autoconf=0
|
|||
|
# sysctl -w net.ipv6.conf.all.disable_ipv6=1
|
|||
|
# ifconfig eth0 del 2001:4b98:..../64
|
|||
|
~~~
|
|||
|
|
|||
|
Pour que cela reste en place, on ajoutera dans le fichier */etc/sysctl.conf* :
|
|||
|
~~~
|
|||
|
net.ipv6.conf.all.autoconf = 0
|
|||
|
net.ipv6.conf.all.disable_ipv6 = 1
|
|||
|
~~~
|
|||
|
|
|||
|
Pour l'utiliser sous contrôle, on utilisera des règles _ip6tables_. Cela nécessite d'avoir un noyau Linux >= 2.6.32 (voir plus haut) et d'ajuster ces régles.
|
|||
|
Pour ne rien laisser par défaut :
|
|||
|
|
|||
|
~~~
|
|||
|
# /sbin/ip6tables -P INPUT DROP
|
|||
|
# /sbin/ip6tables -P OUTPUT DROP
|
|||
|
# /sbin/ip6tables -P FORWARD DROP
|
|||
|
~~~
|
|||
|
|
|||
|
## Gestion des disques
|
|||
|
|
|||
|
### Augmenter la taille d'un volume de données attaché
|
|||
|
|
|||
|
<http://wiki.gandi.net/en/iaas/references/disk/resize/classic>
|
|||
|
|
|||
|
#### Volume non système
|
|||
|
|
|||
|
- Cliquer sur augmenter dans l'interface (cela ne reboot pas la VM)
|
|||
|
|
|||
|
- Une fois l'opération terminée, faire à chaud (sans démontage de la partition) :
|
|||
|
|
|||
|
~~~
|
|||
|
xvdg: detected capacity change from 5368709120 to 10737418240
|
|||
|
|
|||
|
# resize2fs /dev/xvdg
|
|||
|
[...]
|
|||
|
VFS: busy inodes on changed media or resized disk xvdg
|
|||
|
~~~
|
|||
|
|
|||
|
ATTENTION : une fois cette opération réalisée, la nouvelle taille sera bien remontée par le système (df)
|
|||
|
MAIS il sera tout de même nécessaire de redémarrer pour ne pas se heurter à des "Aucun espace disponible sur le périphérique"
|
|||
|
|
|||
|
|
|||
|
#### Volume non système (DEPRECATED)
|
|||
|
|
|||
|
Pour les nouveaux volumes (depuis 2011), il suffit de lancer un redimensionnement à chaud de la partition.
|
|||
|
|
|||
|
Pour les anciens volumes, suivre la procédure suivante :
|
|||
|
|
|||
|
1. Modifier la taille du volume... mais ATTENTION, CELA PROVOQUE LE REDÉMARRAGE IMMÉDIAT DE LA MACHINE VIRTUELLE !!
|
|||
|
|
|||
|
2. Redimensionner votre système de fichiers à froid :
|
|||
|
|
|||
|
~~~
|
|||
|
# umount /srv/foodata && e2fsck -f /dev/xvdb -C0
|
|||
|
e2fsck 1.41.3 (12-Oct-2008)
|
|||
|
Passe 1 : vérification des i-noeuds, des blocs et des tailles
|
|||
|
Passe 2 : vérification de la structure des répertoires
|
|||
|
Passe 3 : vérification de la connectivité des répertoires
|
|||
|
Passe 4 : vérification des compteurs de référence
|
|||
|
Passe 5 : vérification de l'information du sommaire de groupe
|
|||
|
foodata : 12/327680 fichiers (0.0% non contigus), 55935/1310720 blocs
|
|||
|
# umount /srv/foodata && resize2fs /dev/xvdb
|
|||
|
resize2fs 1.41.3 (12-Oct-2008)
|
|||
|
Resizing the filesystem on /dev/xvdb to 2621440 (4k) blocks.
|
|||
|
Le système de fichiers /dev/xvdb a maintenant une taille de 2621440 blocs.
|
|||
|
# mount /dev/xvdb /srv/foodata
|
|||
|
~~~
|
|||
|
|
|||
|
Note : il est important de (re)démonter avant chaque opération, car les volumes peuvent se monter "tout seul" (merci GANDI...)
|
|||
|
|
|||
|
### Volume système (DEPRECATED??)
|
|||
|
|
|||
|
Cette opération est dangereuse ! Elle consiste notamment à changer la table de partitions à chaud.
|
|||
|
Voir les étapes détaillées sur <http://wiki.gandi.net/en/hosting/manage-disk/resize-disk/expert>
|
|||
|
|
|||
|
Attention, lors du repartitionnement, on préfera utiliser le mode "cylindre" afin d'éviter un message du type "Partition 1 does not end on cylinder".
|
|||
|
|
|||
|
### Migrer des volumes d'un serveur vers la nouvelle infra de stockage
|
|||
|
|
|||
|
Pour diverses raisons (meilleure gestion, support des snapshots, etc.) il est conseillé de migrer vos disques vers la nouvelle infra de stockage Gandi.
|
|||
|
|
|||
|
Pour cela vous devrez :
|
|||
|
|
|||
|
* éteindre votre serveur,
|
|||
|
* copier tous vos volumes associés à votre serveur (ils passeront donc avec la nouvelle infra),
|
|||
|
* détacher les anciens volumes de votre serveur
|
|||
|
* rattacher tous les volumes copiés à votre serveur
|
|||
|
* marquer le nouveau volume système comme "bootable"
|
|||
|
* redémarrer votre serveur
|
|||
|
|
|||
|
Note 1 : pensez bien à marquer votre volume "système" comme bootable
|
|||
|
|
|||
|
Note 2 : pensez à supprimer vos anciens volumes peu de temps après car vous les payez ;-)
|
|||
|
|
|||
|
### Créer un serveur de test à partir de snapshots de volumes
|
|||
|
|
|||
|
On peut désormais créer des snaphots de volume, on peut donc s'en servir pour créer à chaud un serveur "snapshot".
|
|||
|
|
|||
|
Pour cela vous devrez :
|
|||
|
|
|||
|
* créer des snapshots de chaque volume associé à votre serveur
|
|||
|
* créer des volumes à partir de chaque snapshot créé
|
|||
|
* créer un nouveau serveur avec un système quelconque
|
|||
|
* éteindre ce nouveau serveur , puis détacher/supprimer le volume système de ce nouveau serveur
|
|||
|
* attacher les volumes créés à partir des snapshots à ce nouveau serveur
|
|||
|
* marquer le nouveau volume système comme "bootable"
|
|||
|
* démarrer ce nouveau serveur
|
|||
|
|
|||
|
Note 1 : il pourra être utile d'éteindre les démons "cron" ou Postfix (SMTP) si vous copiez un serveur de production
|
|||
|
|
|||
|
Note 2 : pensez à supprimer vos anciens volumes peu de temps après car vous les payez ;-)
|
|||
|
|
|||
|
## Ajouter une adresse IP sur un serveur
|
|||
|
|
|||
|
*WARNING : on déconseille finalement l'ajout d'une 2ème adresse IP, cela fonctionne très mal => l'IP se déactive en permanence, il faut relancement manuellement un _sysctl -p /etc/sysctl.conf_...*
|
|||
|
|
|||
|
On peut ajouter une "interface" sur un serveur, elle s'ajoute automatiquement sur le serveur.
|
|||
|
Mais la particuliarité est qu'une route par défaut est ajoutée pour chaque interface !
|
|||
|
On doit donc gérer des paramètres dans le noyau Linux, Notamment désactiver
|
|||
|
_rp_filter_ et _arp_filter_ pour toutes les interfaces, et gérer _arp_announce_.
|
|||
|
|
|||
|
Voici par exemple le fichier _sysctl.conf_ pour 2 interfaces réseau :
|
|||
|
|
|||
|
~~~
|
|||
|
net.ipv4.conf.all.arp_announce = 2
|
|||
|
net.ipv4.conf.default.arp_announce = 0
|
|||
|
net.ipv4.conf.lo.arp_announce = 0
|
|||
|
|
|||
|
net.ipv4.conf.eth1.arp_announce = 0
|
|||
|
|
|||
|
net.pv4.conf.all.arp_filter = 0
|
|||
|
net.ipv4.conf.all.rp_filter = 0
|
|||
|
net.ipv4.conf.default.rp_filter = 0
|
|||
|
net.ipv4.conf.default.arp_filter = 0
|
|||
|
|
|||
|
net.ipv4.conf.eth0.rp_filter = 0
|
|||
|
net.ipv4.conf.eth0.arp_filter = 0
|
|||
|
net.ipv4.conf.eth1.rp_filter = 0
|
|||
|
net.ipv4.conf.eth1.arp_filter = 0
|
|||
|
~~~
|
|||
|
|
|||
|
Note : il est conseillé de mettre au moins 1 Mb/s (ou + ??) pour chaque interface.
|