Procédure d’installation du manager CloudStack
Installation du système
Installation du serveur depuis un CD-ROM d’installation (version minimale). Durant l’étape de partitionnement, supprimer toutes les anciennes données
éventuellement présentes sur le disque ;
Durant l’installation, configurer le nom d’hôte : cloud1 ; Choisir l’option "Installation minimale" ;
Configuration du réseau
Après l’installation, il faut impérativement vérifier la bonne résolution du nom de machine :
$ hostname cloud1
$ hostname -f
cloud1.etrs.terre.defense.gouv.fr
Pour que la résolution soit effective, il faut configurer le fichier /etc/hosts ou s’assurer de la bonne résolution DNS.
L’adresse IP doit être configurée. Modifier le fichier /etc/sysconfig/network- scripts/ifcfg-eth0 : $ vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 NM_CONTROLLED=no ONBOOT=yes BOOTPROTO=none IPADDR=XXX.XXX.XXX.101 NETMASK=255.255.240.0 GATEWAY=XXX.XXX.XXX.254 DNS1=XXX.XXX.XXX.XXX DNS2=XXX.XXX.XXX.XXX service network restart
SELinux
Mettre SELinux en permissif : $ vi /etc/sysconfig/selinux
Configuration du proxy
L’école étant derrière un proxy, il faut le configurer pour yum et get : $ vi /etc/yum.conf
proxy=http://proxy:8080
Configurer le proxy pour wget (utilisé pour télécharger les images systèmes) : $ vi /etc/wgetrc https_proxy = http://proxy:8080/ http_proxy = http://proxy:8080/ ftp_proxy = http://svrproxy.ent-etrs.net:8080/ use_proxy = on $ vi /etc/profile.d/proxy.sh
export https_proxy = http://proxy:8080/ export http_proxy = http://proxy:8080/ export ftp_proxy = http://proxy:8080/ export no_proxy="localhost,127.0.0.1,…" use_proxy = on
Installation de logiciels complémentaires
$ yum install ccze vim epel-release wget
NTP
Installation des logiciels : $ yum install ntp
Configuration du fichier /etc/ntp.conf : server XXX.XXX.XXX.XXX iburst
server XXX.XXX.XXX.XXX iburst [...]
restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1
restrict -6 ::1
Automatiser le lancement de ntpd
CloudStack
Dépôt Cloudstack
Créer le fichier /etc/yum.repos.d/cloudstack.repo [cloudstack]
name=Cloudstack
baseurl=http://cloudstack.apt-get.eu/centos/6/4.8/ enabled=1
gpgcheck=0
Configuration des services requis
$ yum -y install nfs-utils mysql-server
Configuration de NFS
Le serveur NFS sera utilisé uniquement en absence de serveur NAS.
$ vim /etc/sysconfig/nfs LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769 MOUNTD_PORT=892 RQUOTAD_PORT=875 STATD_PORT=662 STATD_OUTGOING_PORT=2020 $ vim /etc/idmapd.conf Domain = etrs.terre.defense.gouv.fr
Configuration de mysql-server
$ vim /etc/my.cnf [mysqld] ... innodb_rollback_on_timeout=1 innodb_lock_wait_timeout=600 max_connections=350 log-bin=mysql-bin binlog-format = 'ROW' $ service mysqld start $ chkconfig mysqld onConfiguration du noyau
Désactiver le netfilter sur le Bridge $ vim /etc/sysctl.conf net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
Installation du manager CloudStack
Le serveur est prêt à recevoir Cloudstack (partie manager).
Ne pas hésiter à relancer le serveur pour que toutes les modifications soient prises en compte.
Definir le mot de passe de base de données !!!
$ yum -y install cloudstack-management
$ cloudstack-setup-databases cloudstack:password@localhost --deploy-as=root $ cloudstack-setup-management
Avant de lancer l’installation des VM systèmes, le point de montage nfs vers le serveur NFS Secondaire doit être monté (ici dans /secondary). $ mkdir /secondary
$ mount -t nfs nas2-cloud.etrs.terre.defense.gouv.fr:/secondary /secondary $ /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \ -m /secondary \ -u http://cloudstack.apt-get.eu/templates/4.7.1.0/systemvm64template-2016-05-18- 4.7.1-kvm.qcow2.bz2 \ -h kvm -F Configuration du pare-feu
Des règles sont nécessaires pour laisser passer les requêtes réseaux : le port 22 est utilisé par le service SSH ;
le port 8080 est utilisé par l’agent CloudStack et par les API;
le port 8096 est utilisé par l’agent CloudStack et par les API (non authentifié). Pour info :
-A INPUT -s XXX.XXX.XXX.XXX/20 -m state --state NEW -p tcp --dport 8096 -j ACCEPT $ service iptables restart
Script d’automatisation
$ sed -i --follow-symlinks 's/SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
$ echo "proxy=http://proxy:8080" >> /etc/yum.conf $ yum install -y vim-enhanced ccze epel-release $ yum install -y wget
$ echo "https_proxy = http://proxy:8080/ http_proxy = http://proxy:8080/
ftp_proxy = http://proxy:8080/ use_proxy = on" >> /etc/wgetrc
$ echo "export https_proxy=http://proxy:8080/ export http_proxy=http://proxy:8080/ export ftp_proxy=http://proxy:8080/ export no_proxy="localhost,127.0.0.1, …" use_proxy=on" >> /etc/profile.d/proxy.sh $ yum install -y ntp $ chkconfig ntpd on $ service ntpd start $ echo "[cloudstack] name=Cloudstack baseurl=http://cloudstack.apt-get.eu/centos7/4.9/ enabled=1 gpgcheck=0" >> /etc/yum.repos.d/cloudstack.repo $ yum -y install nfs-utils
sed -i '/\#LOCKD_TCPPORT/s/^#//g' /etc/sysconfig/nfs sed -i '/\#LOCKD_UDPPORT/s/^#//g' /etc/sysconfig/nfs sed -i '/\#MOUNTD_PORT/s/^#//g' /etc/sysconfig/nfs sed -i '/\#STATD_PORT/s/^#//g' /etc/sysconfig/nfs
sed -i '/\#STATD_OUTGOING_PORT/s/^#//g' /etc/sysconfig/nfs echo 'RQUOTAD_PORT=875' >> /etc/sysconfig/nfs
egrep
'LOCKD_TCPPORT|LOCKD_UDPPORT|MOUNTD_PORT|RQUOTAD_PORT|STATD_PORT|STATD_OUTGOING_P ORT' /etc/sysconfig/nfs
$ echo "[mysqld]
innodb_rollback_on_timeout=1 innodb_lock_wait_timeout=600 max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'" >> /etc/my.cnf.d/cloudstack.cnf $ systemctl start mariadb
$ systemctl enable mariadb # Gestion du domain NFS
sed -i '/\#Domain/s/^#//g' /etc/idmapd.conf
sed -i 's/Domain = .*/Domain = etrs.terre.defense.gouv.fr/g' /etc/idmapd.conf grep Domain /etc/idmapd.conf
$ echo "net.ipv4.ip\_forward = 1
net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0" >> /etc/sysctl.d/10-cloudstack.conf $ cloudstack-setup-databases cloudstack:qsmlybfhie@localhost --deploy-as=root $ cloudstack-setup-management --tomcat7