Tutoriel | Installation d’un environnement LAMP (Apache, PHP, Mysql)

Article publiée le 4 Octobre 2013

Mise à jour le 5 Octobre 2013

 

En parcourant une fois de plus les forums je me suis aperçus que beaucoup d’admins débutants avaient des difficultés pour installer un environnement LAMP (Apache, PHP, Mysql).

Ci-dessous un tutoriel complet sur l’installation d’un environnement LAMP avec quelques astuces en plus!

Ce tutoriel est adapté aussi bien pour les utilisateurs de Centos/RedHat que pour les utilisateurs de Debian/Ubuntu Server

 

1) Installation Apache

Sous Debian:

apt-get install apache2

Sous Redhat/Centos:

yum install httpd

service httpd start

Attention sous RedHat/Centos, n’oubliez pas de désactiver le firewall ou de le paramétrer en conséquence. (service iptables stop && chkconfig iptables off)

Vérifiez que les services apaches fonctionnement correctement en vous connectant via votre navigateur ) à l’ip ou le dns de votre machine.

Cette page devrait être affichée (pour les utilisateurs de Debian):

Pour les utilisateurs de Centos/RedHat:

 

2) Installation de PHP

Sous Debian

apt-get install php5 php5-mysql

Sous Centos/RedHat:

yum install php*

Redémarrez votre service apache:

/etc/init.d/apache2 restart (Sous Debian)

service httpd restart (Sous RedHat)

Sous debian j’ai déjà remarqué que le module php d’apache pouvait ne pas s’activer automatiquement ce qui fait que vos pages PHP ne seront pas interprétées!

Pour résoudre ce problème: a2enmod php && /etc/init.d/apache2 restart

 

3) Installation de Mysql

Sous Debian:

apt-get install mysql-server

Une interface peut apparaître afin de vous demander d’entrer le mot de passe root de Mysql

Sous Redhat/Centos

yum install mysql-server

Démarrer le service Mysql: service mysqld start

 

Petite parenthèse:

Certain voudrons certainement changer l’emplacement du  tablespace (la ou sont stocké vos datas), pour cela:

– Créez le répertoire qui contiendra les tablespace de Mysql : mkdir <votre repertoire>

– Changez les droits de ce répertoire chown mysql:mysql <repertoire>

– Modifiez le fichier my.cnf en modifiant « datadir=/var/lib/mysql » par votre nouveau répertoire.

(Ce fichier se situe dans le répertoire /etc/ sous Centos/RedHat et dans /etc/mysql sous Debian).

 

Pour initialiser le mot de passe root de Mysql (ce que je recommande fortement pour des raisons évidentes de sécurité)

On vérifie:

 3) PHPMyadmin

Si vous n’êtes pas très bon en base de donnée ou que vous avez tout simplement un client allergique à la ligne de commande je vous suggère d’installer PHPMyAdmin.

Pour ceux qui ne connaissent pas PHPMyadmin est une interface Web d’administration de Mysql.

Pour l’installer sous debian:

apt-get install phpmyadmin

Ce message devrait apparaître

Avec la barre d’espace sélectionnez apache2 puis sélectionnez OK

Sélectionnez « oui » et valider avec la touche entrer

Entrez le mot de passe root de mysql puis validez.

 

Sous RedHat/Centos ou installation manuelle:

Téléchargez phpmyadmin depuis le site: http://www.phpmyadmin.net/home_page/index.php

– Dezippez l’archive: unzip -e <archive>

– Créez un répertoire dans le répertoire web par défaut d’apache (/var/www ou /var/www/html suivant les distributions)

mkdir <répertoire web d’apache>/phpmyadmin

– Copiez tout le contenu dans ce répertoire

 

Se connecter à PHPMyAdmin

Une fois l’installation terminée connectez vous via votre navigateur à l’url: <IP ou DNS de votre serveur>/phpmyadmin

Connectez vous en indiquant les identifiant root de Mysql

 

Petite  aperçu de phpmyadmin:

 

 

4) Quelque petits tuyaux!

Cette partie de ce tutoriel donne des réponses en vrac à des question récurrentes que je retrouve sur la plupart des forums:

Comment modifier le port d’écoute d’apache?

Sous RedHat Centos: modifiez le fichier /etc/httpd/conf/httpd.conf puis cherchez « Listen 80 » et modifiez la valeur 80 par le port de votre choix.

Sous Debian/Ubuntu: modifiez le fichier /etc/apache2/ports.conf puis cherchez « Listen 80 » et modifiez la valeur 80 par le port de votre choix.

 

Exemple de virtualhost:

 

<VirtualHost 1.1.1.3:80>
ServerName monsite.com
ServerAdmin [email protected]

DocumentRoot /monsite
DirectoryIndex index.php index.html index.htm

ErrorLog /var/log/apache2/monsitelog
CustomLog /var/log/apache2/monsite.log combined

<Directory /home/monsite/monsite/>
Options -Indexes
AllowOverride All
Order allow,deny

# Restriction par sous réseau pour plus de securité!

Allow from 192.168.0.0/24

</Directory>

php_value error_log /home/site/log/php/monsite.log
php_value warning_log /home/site/log/monsite.log
php_value log_errors On
php_value register_globals Off

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* – [F]
</VirtualHost>

 

 

Exemple de virtualhost avec SSL:
<VirtualHost 1.1.2..2:443>
ServerName monsite.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

DocumentRoot /home/monsite/site

DirectoryIndex index.php index.html

LogLevel info

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

 

<Directory /home/monsite/site/>

ErrorDocument 404 /index.php?currentPage=pageUnfound
Options FollowSymLinks Indexes MultiViews

AllowOverride All

Order allow,deny

allow from all

</Directory>

 

php_value error_log /home/monsite/log/php/error.php.log

php_value warning_log /home/monsite/log/php/warning.php.log

php_value log_errors On

php_value register_globals Off

ServerSignature On

Options FollowSymLinks
</VirtualHost>

 

 

Si vous avez d’autres questions n’hésitez pas à me les envoyer via mon mail dans la rubrique « me contacter » ou  en commentant cette article.




Tutoriel | Consolidation des logs avec Rsylog, Mysql et Loganalyzer

Article publié le 23 Septembre 2013

Le tutoriel ci-dessous vous propose une solution permettant de centraliser et de consolider vos logs.

Grâce à ce petit tuto vous pourrez stocker tout les logs de vos serveurs dans une seule base MySQL. Cette solution ne pourra que vous faciliter la vie!

 

1) Configuration du serveur de logs

– Dans un premier temps installez Rsyslog:

yum install rsyslog rsyslog-mysql

Rsyslog est le daemon de journalisation par défaut de Debian 7 donc inutile de tenter de l’installer par contre n’oubliez pas d’installer rsyslog-mysql : apt-get install rsyslog-mysql / yum install

Afin que Rsyslog fonctionne sous Red-Hat/Centos n’oubliez pas de stopper syslog-ng et de démarrer rsyslog:

service syslog stop && service rsylog start

Puis de désactiver le lancement automatique de syslog au démarrage de la machine et d’activer celui de rsyslog:

chkconfig syslog off

chkconfig rsylog on

 

– Installez Mysql-server et démarrez le:

yum install mysql-server (sous Red-Hat/CentOS) ou apt-get install mysql-server (sous Debian/Ubuntu)

/etc/init.d/mysql-server start

– Démarrer Mysql

/etc/init.d/mysqld start

– Création de la base:

Sous debian la création de la base donnée se fait automatiquement grâce à l’outil DB-config. Renseignez juste le mot de passe mysql du user user de MySQL

Pour les utilisateurs de Red-Hat/Centos, vous devez exécuter un script de création de base:

cd /usr/share/doc/rsyslog-mysql-<version>

mysql -u root -p[votre mot de passe] < createDB.sql

(Rien ne vous empêche de modifier le script afin de modifier le nom de la base de donnée!)

– Checker que votre base ait bien été créée:

mysql -u root -p

Je vous conseille d’initialiser un mot de passe pour l’utilisateur root de votre base mysql:

mysqladmin -u root password ‘<votre password>’;
– Donnez les privilèges au user mysql rsyslog:

La partie flouté correspond au mot de passe que vous voulez attribuer au user Syslog

– Editez le fichier /etc/rsyslog.conf

Décommentez ces lignes:

$ModLoad ommysql

$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514

Ajoutez ces lignes qui correspondent aux paramètres de connexions de la base de donnée ainsi qu’à la restriction de connexion par sous réseau (pour plus de sécurité):
*.*           😮 mmysql:127.00.1,<nom de la base>,<login>,<mot de passe>

le 😮 sans les guillemets
$AllowedSender UDP, 127.0.0.1, 192.168.1.0/24   #liste des sous réseaux autorisés à se connecter
$AllowedSender TCP, 127.0.0.1, 192.168.1.0/24    #liste des sous réseaux autorisés à se connecter

 

Redémarrez rsyslog en vous assurant qu’aucun autre daemon de journalisation est en cours d’exécution:

service rsyslog restart

 2) Parti client

Ajoutez juste la ligne suivante à la fin du fichier /etc/rsyslog.conf

*.*       @<ip du serveur>:514

Si vous voulez que rsyslog gère d’autre log (par exemple apache, mysql etc…)

Ajoutez cette ligne

$InputFileName <chemin du log a géré>

3) Installation de logAnalyzer

– Installez  apache et PHP5

yum install httpd php php-mysql (sous Centos/RedHat)  ou apt-get install apache php php-mysql  (sous debian)

– Telechargez le package d’installation:

http://loganalyzer.adiscon.com/downloads

– Decompressez l’archive

tar -xvf <package>

– Copier les sources vers votre répertoire apache:

mkdir /var/www/loganalyzer/ (pour debian)

mkdir /var/www/loganalyser/ (pour Centos/Debian

cp <repertoire de loganalyser>/src/*<repertoire apache>

cp <repertoire de loganalyser>/contrib/* <repertoire apache>

– Exécutez le script configure.sh (sans oublier de le rendre executable via la commande chmod 700 configure.sh)

./configure.sh

– Connectez vous via votre navigateur à l’interface web de loganalyser (URL: <ip ou dns de la machine>/loganalyser):

Cliquez sur « here »

 

 

Cliquez sur next

Cliquez sur next

 

Cliquez sur « yes » à « enable user database » et remplissez les informations de connexion de votre base de donnée rsyslog. Cliquez sur « yes » à « require user to be logged in ».

Cliquez sur next

Cliquez sur next

Créez le user avec lequel vous vous connecterez sur la gui de loganalyser puis cliquez sur next

Sélectionnez « MYSQL Native » via le menu déroulant de « Source Type » puis renseignez les informations de connexions de la base de donnée de rsyslog et cochez yes à « enable row counting »  puis cliquez sur next.

 

Cliquez sur finish.

Maintenant il ne vous reste plus qu’à vous connecter à loganalyser depuis votre navigateur et enjoy!!!!




tutoriel | installer un domaine nis

 Article publiée le 14 Septembre 2013

 

La difficulté du métier d’admin système dépend toujours de la grandeur de son infrastructure. Plus il y a de serveurs à administrer plus il faut-être malin.

Prenons le simple exemple de l’administration des utilisateurs. Si vous avez 1000 serveurs à votre actif je vous vois mal faire des useradd pendant deux jours!

Soit vous faite un script SHELL de déploiement, soit …

Vous utilisez NIS!

Si vous en avez jamais entendu parlé, NIS est un protocole client/serveur permettant la centralisation des informations sur un réseau UNIX.

En gros vous pouvez centraliser tout les fichiers de configuration de vos serveurs UNIX.

Pratique me direz vous!

Ci-dessous la procédure d’installation de NIS adaptée pour Debian/Ubuntu et RedHat/Centos:

 Faites très attention avec ce protocole, pensez à sécuriser votre infrastructure car une tel mise en place peut également représenter une faille de sécurité…

 

1) Installation partie serveur sous Centos/RedHat

– Installez les paquets:

yum install ypserv rpccind

 

– Initialisez votre domaine NIS

ypdomainname <nom de domaine>

– Editez le fichier /var/yp/Makefile

Remplacez « ALL =   passwd  group hosts rpc services netid protocols netgrp » par « ALL =   passwd shadow  group hosts rpc services netid protocols netgrp »

Exemple : ypdomainname vince.domain

– Ajoutez votre serveur NIS dans son propre domaine

vi /etc/sysconfig/network

 

 Verifiez bien que vos machines disposent bien d’un DNS (via les fichiers hosts ou serveurs DNS)

– On démarre les services:

/etc/init.d/rpcbind start

/etc/init.d/ypserv start

/etc/init.d/yppasswdd start

– On fait en sorte que ces services soient démarrés au démarrage de la machine

chkconfig rpcbind on

chkconfig ypserv on

chkconfig yppasswdd on

 

– On initialise la base nis avec la commande /usr/lib64/yp/ypinit -m

Comme vous pouvez le constater c’est ici que vous entrez le nom des autres serveurs NIS si vous voulez mettre en place des slave (utile uniquement si vous avez une grosse infrastructure)

2) Installation partie serveur sous Debian/Ubuntu

– Installez les paquets:

apt-get install nis

Si cette écran apparaît renseignez le nom de votre domaine NIS

– Éditez le fichier /etc/default/nis

Remplacez « NISSERVER=false » par « NISSERVER=master »

– Éditez le fichier /var/yp/Makefile

Remplacez « ALL =   passwd  group hosts rpc services netid protocols netgrp » par « ALL =   passwd shadow  group hosts rpc services netid protocols netgrp »

– Exécutez la commande /usr/lib/yp/ypinit -m

– Redémarrez NIS:

/etc/init.d/nis restart

 

3) Installation partie client

Sous Centos:

– Editez le fichier /etc/sysconfig/network et rajoutez la ligne:

NISDOMAIN=<votre domaine NIS>

– Editez le fichier /etc/sysconfig/authconfig et modifiez  « USENIS=no » par « USENIS=yes »

– Editez le fichier /etc/yp.conf et ajoutez la ligne

domain <nom de votre domaine NIS> server <Dns de votre serveur nis>

– Editez le fichier /etc/nsswitch.conf  (permet de choisir quelles élément seront centralisé par le NIS), pour cela ajoutez « nis » après « files » :

– Faites en sorte que le service NIS démarre bien au démarrage de la machine:

chkconfig rpcbind on

chkconfig ypbind on

reboot

 

Il ne vous reste plus qu’à checker en créant un user sur le serveur et essayer de vous loguer avec sur la machine cliente!

 Après la création d’un user n’oubliez pas de de faire un refresh de la base NIS. Pour cela:

cd /var/yp && make

Petite astuce: si vous voulez que le répertoire home de votre user se crée tout seul:

Ajouter cette ligne dans le fichier /etc/pam.d/system-auth

session optional pam_mkhomedir.so skel=/etc/skel umask=077

 

Sous Debian/Ubuntu

– Installez le paquet nis:

apt-get install nis

– Editez le fichier /etc/yp.conf

Rajouter la ligne :

domain <nom du domaine> server <nom du serveur NIS>

– Editez le fichier /etc/nsswitch.conf

Rajoutez « nis » après « compat » devant tout les éléments qui devront être centralisés

Exemple:

Il ne reste plus qu’à redémarrer.

Enjoy ! 🙂




tutoriel | Installer et configurer Tomcat 7

Article publiée le 09 Septembre 2013

Mis à jour le 8 Novembre 2016

Tomcat 8 étant sorti, je me suis permis de rédiger un petit tutoriel adapté:

http://journaldunadminlinux.fr/tutoriel-installer-et-configurer-tomcat-8/

 

Tomcat est le conteneur libre de servlets le plus utilisé.

En parcourant les forums j’ai remarqué que pas mal d’admin avaient des soucis pour installer et configurer Tomcat.

Ci-dessous le tutoriel  d’installation et de configuration de Tomcat 7 (adapté pour Debian/Ubuntu et RedHat/CentOS):

Je privilégie l’installation manuelle de Tomcat plutôt que de passer par le gestionnaire de paquet. Vous pourrez ainsi personnaliser votre installation et choisir une version récente de Tomcat.

1) Installation

Prérequis: java

yum install java-1.6.0 pour (RedHat/Centos) ou apt-get install openjdk* (Sous debian/Ubuntu)

 

– Tout d’abord récupérez le tar.gz sur le site de tomcat via http://tomcat.apache.org/download-70.cgi (section core téléchargez la version tar.gz)

Au moment de la rédaction de cette article Tomcat 8 est sorti en version RC1. Je vous déconseille fortement d’utiliser une tel version car celle-ci est encore trop instable.

 

– Créez proprement votre répertoire d’installation de tomcat, dans mon cas cela sera /apps/tomcat

mkdir /apps/tomcat

– Décompressez l’archive dans le répertoire de destination:

mv <votre archive>.tar.gz <repertoire d’installation>  &&  tar -xvf  <repertoire d’installation>/<votre archive>.tar.gz

exemple: mv apache-tomcat-7.0.42.tar.gz && tar -xvf /apps/tomcat/apache-tomcat-7.0.42.tar.gz

 

– Faites un ls dans le repertoire d’installation et vous pourrez voir ceci:

Quelques petites explications: 

– Le répertoire bin contient tous les scripts de tomcat notamment ceux de démarrage et d’arrêt.

– Le répertoire conf contient tous les fichiers de configuration de tomcat

– Le répertoire webapps contient toutes les webapps (vos servlets java)

 

2) Configuration

– Allez dans le répertoire conf:

cd conf

– Si vous désirez changer le port d’écoute éditez le fichier server.xml et éditez cette ligne en remplaçant le port par défaut 8080 par celui que vous désirez:

<Connector port= »8080″ protocol= »HTTP/1.1″
connectionTimeout= »20000″
redirectPort= »8443″ />
<!– A « Connector » using the shared thread pool–>

 

– Editons ensuite le fichier tomcat-user afin de définir le mot de passe de l’interface d’administration de tomcat:

Le dernier « paragraphe »  du fichier de configuration est commenté. Pour le dé-commentez enlevez :

<!– et  –>

Ajoutez ensuite les balises rolename:

<role rolename= »manager »/>

<role rolename= »manager-gui »/>

Créons ensuite le user qui aura les droits d’admin de votre serveur tomcat:

<user username= »tomcat-admin » password= »tomcat » roles= »manager,manager-gui »/>

Sans oublier de modifier le password 😉

 

-Il ne reste plus qu’ à redémarrer Tomcat :

rendez vous dans le répertoire bin (de tomcat) et exécutez ces scripts:

./shutdown.sh (pour arréter tomcat)

./startup.sh (pour démarrer tomcat)

 

– Connectez  vous à l’interface d’administration de votre serveur tomcat via votre navigateur depuis cette URL: <ip ou DNS de votre machine>:8080

 

– Cliquez sur Manager app et entrez les identifiants que vous avez paramétrés précédemment dans votre fichier tomcat-users.xml

Ici vous trouverez la liste des Webapp déployées.

-Il existe 2 méthodes pour déployer une Webapp (fichier .war):

La première (la plus simple) consiste à cliquer sur le bouton déployer et de selectionnez votre fichier war.

Tomcat se chargera de la déployer pour vous. Une fois le déploiement terminé vous pourrez voir apparaître une nouvelle ligne avec le nom de votre Webapp.

La deuxième plus longue mais très utile si vous voulez scripter des déploiements automatiques consiste à arrêter votre serveur tomcat, déposez votre fichier war dans le répertoire webapps et redémarrer le service tomcat.

Votre Webapp sera automatiquement déployée.

3) Tunning : 

Il est possible, si vous déployez des applications lourdes ou en grand nombre, que vous ayez des problèmes mémoires.

Dans ce cas vous pourrez avoir des messages d’erreur ou de grosses lenteurs lors de l’exécution de vos webapps.

Pour cela éditez le fichier startup.sh et ajoutez à la ligne export JAVA_OPTS= -server -Xms<mémoire minimal alloué> -Xmx <mémoire maximum alloué>

Exemple:

export JAVA_OPTS= »-server -Xms2048m -Xmx2048m »

Redémarrez votre serveur Tomcat afin que les modifications soient prises en comptes.

 

Si vous rencontrez d’autres problèmes mémoire vous pouvez vous rendre sur cette page :

http://journaldunadminlinux.fr/tomcat-severe-failed-to-initialize-java-lang-outofmemoryerror-permgen-space/

Cette article traite d’un problème Tomcat et pourra peut-être vous aider.

 

4) Script de démarrage

Afin de vous faciliter la vie, je vous livre ci-dessous le script de démarrage de tomcat à déposer dans le répertoire init.d:

#!/bin/sh
CATALINA_HOME=<repertoire tomcat>; export CATALINA_HOME
JAVA_HOME=<repertoire java>; export JAVA_HOME
TOMCAT_OWNER=<votre user tomcat>; export TOMCAT_OWNER

start() {
echo -n « Starting Tomcat:  »
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh
sleep 2
}
stop() {
echo -n « Stopping Tomcat:  »
su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh
}

# See how we were called.
case « $1″ in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $ »Usage: tomcat {start|stop|restart} »
exit
esac

5) Best Pratice

– Si votre application doit-être accessible depuis le monde extérieur je vous conseille de procéder à un couplage (Apache/Tomcat) avec les règles firewall qui vont bien

– Utilisez toujours un serveur apache en front en mode revese proxy. Vos clients ne doivent pas se connecter en direct sur le Tomcat. Un tuto est disponible: http://journaldunadminlinux.fr/tutoriel-mettre-en-place-un-reverse-proxy-sur-apache-via-mod_proxy/




tuto | installation et gestion de gfs2

Article publiée le 24 Août 2013

 

Un système de fichier clusterisé permet le partage d’une partition sur plusieurs machines.

Les avantages d’un tel système de ficher sont nombreux:

– Montage d’un fs sur plusieurs machines différentes

– Performances grandements améliorées

– Gestion de grandes quantités de données

– Meilleur gestion des volumes contenant énormément de petits fichiers

– Bonne gestion des gros fichiers

– Possibilité de gérer des quotas

 

Ayant testé et même vu le fonctionnement de plusieurs FS clusterisé je dois dire que le système de fichier GFS2 est le plus simple à mettre en place.

Ma philosophie en tant qu’admin système est de mettre en place les solutions les plus économiques, les plus faciles et les plus performantes.

GFS2 (conçu par Red Hat) répond à ces trois critères.

Le tutoriel ci-dessous vous donne la marche à suivre pour mettre en place GFS2.

GFS2 étant un produit de RED HAT, ce tutoriel sera exclusivement effectué via 2 machines CentOS 6.4.

Avant de commencer ce tutoriel assurez vous que votre SAN soit correctement paramétré et vos FS montés.

Assurez vous également que votre serveur DNS est correctement configuré pour résoudre les noms des machines.

Si vous ne disposez pas de serveur DNS administrable, renseignez correctement vos fichiers hosts (/etc/hosts).

Installons les paquets requis:

yum install cman gfs2-utils kmod-dlm modcluster ricci luci cluster-snmp iscsi_initiator-utils openais oddjobs rgmanager

 

1) Creation Cluster

Commençons par créer un cluster de machine:

Je vous assure cela sera très simple avec l’interface d’administration Web de Luci!

Tout d’abord démarrons tous les service nécessaire au cluster:

Sur votre node 1 (considéré comme le « Master »):

– chkconfig luci on && service luci start

Changez ensuite le mot de passe  Unix de Luci:

passwd luci

 

Sur tout les nodes:

– chkconfig ricci on && service ricci start

– chkconfig gfs2 on &&  service gfs2 start

– chkconfig cman on  && service cman start

 

Maintenant connectez vous à l’interface Web de Luci:

https://<ip de votre node 1>:8084

Luci est une interface graphique permettant de configurer les  fichiers de configuration /etc/cluster/cluster.conf des différents nœuds et de gérer tous les services de clustering.

Entrez vos login root pour accéder à l’interface d’administration:

 

Cliquez sur Create pour créer votre cluster et remplissez les informations. Ajoutez tout vos nœuds sauf celui qui héberge luci qui lui sera ajouté d’office:

 

 Encore une fois vérifiez que votre DNS ou votre fichier hosts soient parfaitement configurés!

Cliquez sur Create Cluster une fois tout vos nœuds saisies.

Si tout se passe bien vous devriez avoir un écran ressemblant à la capture ci-dessous:

Ça y’est votre Cluster est créé et opérationnel!

 

 2) Création partition GFS2

D’abord on crée le FS, pour cela exécutez la commande suivante sur un de vos noeuds:

mkfs.gfs2 -p lock_dlm -t <nom du cluster>:gfs2 -j 8 <chemin de votre volume San>

Exemple:

 

Une fois ceci terminée il ne reste plus qu’à monter la partition sur tout vos nœuds:

mount -o acl -t gfs2 <chemin de votre volume> <votre point de montage>

Exemple:

mount -o acl -t gfs2 /dev/sdb /mnt/testgfs2/

Voila votre Cluster GFS2 est opérationnel!

Pour faire les choses bien jusqu’au bout n’oubliez pas d’éditez le fstab!

Exemple:

vi /etc/fstab:

/dev/sdb        /mnt/testgfs2       gfs2   defaults,acl    0

 3) Quelque commande bien utile

Pour monter une partition gfs2 avec le système de quota actif:

gfs2_quota limit -u user -l size <point de montage>

Pour fixer un quota:

gfs2_quota warn -u user -l size <point de montage>

Pour afficher le quota d’un user

gfs2_quota get -u user

Pour afficher le quota d’un volume

gfs2_quota list -f <point de montage>

Pour réparer votre fs gfs2 corrompus:

gfs2_fsck /dev/my_vg/my_gfs

Pour conclure GFS2 est le système de fichier idéal si vous avez besoin d’un partage pouvant gérer un grand nombre de fichier ou une masse importante de données tout en gardant d’excellentes performances.




[tutoriel] Installation et configuration | OpenFiler

Article publiée le 10 Aout 2013

Mise à jour le 22 Mars 2016

 

OpenFiler est pour moi une petite merveille de l’OpenSource. Il vous permet de monter votre SAN en deux temps trois mouvements. Pour moi c’est la solution idéal pour les TPE/PME ayant peu de moyen.

Cette solution très fiable pourra même faire le bonheur d’entreprises plus grosses avec de gros moyen IT.

De plus il est possible de souscrire à un support ou d’acheter des Upgrade pour adapter votre solution de stockage à la virtualisation (optimisation des I/O) ou au support Fibre Channel.

Le site officiel d’OpenFiler: http://www.openfiler.com/

Ce tutoriel vous fournira la procédure d’installation et de configuration pour avoir un SAN iSCSI fonctionnel.

Téléchargez l’ISO d’open Filer via ce lien: http://www.openfiler.com/community/download

Pour ce tutoriel j’ai utilisé la version 2.99 (la plus récente)

 1) Installation

Prérequis:

Machine avec au minimum 512MB de ram et 2 disques dur (ou volume RAID).

Un disque sera réservé pour le système et l’autre pour les Datas

 

 Si vous avez l’habitude des installation d’OS Linux vous pouvez passez le chapitre « installation » de ce tutoriel

 

* Bootez sur l’ISO et appuyer sur entrer:

 

* Après le chargement du noyau vous arrivez sur cette écran:

 

Cliquez sur « next »

Choisissez la configuration de votre clavier et cliquez sur « next »

Cliquez sur Yes pour que l’installateur formate vos disques.

Vous pouvez ici partitionner vos disques.  Dans mon cas je vais laisser l’installateur gérer le partitionnement des mes 2 disques. Cliquez sur « next » et confirmez en cliquant sur le bouton Yes de la boite de dialogue qui apparaîtra.

Cliquez sur édit et procédez à la configuration réseau:

Cliquez sur OK et procédez au paramétrage IP de votre passerelle et de votre serveur DNS puis cliquez sur « next »

Sélectionnez ici votre fuseau horaire puis cliquez sur Next.

A l’écran suivant il vous sera demander de définir le mot de passe. Après l’avoir fais cliquez sur « Next »

Un dernier écran de confirmation apparaîtra alors, cliquez sur next.

Ca y’est votre OS s’installe!

Cliquez sur le bouton « reboot » une fois l’installation terminée.

 

2) Configuration de votre SAN

Une fois votre OS chargé un écran de ce type apparait:

Vous pouvez décidez de vous loguer sur le Shell de l’openFiler, chose que je vous déconseille car tout est déjà correctement paramétré!

Relevez l’URL de la Web Administration GUI et rentrez la dans votre navigateur.

Validez le certificat de sécurité non validé pour arriver à l’écran de Login:

Open filer possède 2 interface d’administration:

– La première est accessible en entrant vos identifiant UNIX (c’est à dire root/<votre mot de passe root>). Une interface  vous permettra uniquement de choisir la langue,gérer les quotas ainsi que les comptes utilisateurs de la deuxième interface.

– La deuxième interface est accessible en entrant les mots de passe par défaut de la WebGui d’open filer (openfiler/password). Celle ci vous permettra de paramétrer votre SAN.

 

 

*Pour commencer nous allons nous connecter sur la 1er interface pour mettre la langue en Francais (certain me diront merci ;-))

Une fois votre langue sélectionnée cliquez sur submit puis sur « logout » (en haut à droite).

 

* Maintenant loguez vous avec les identifiants par défaut d’openfiler pour commencer à paramétrer votre SAN.

Rappel des identifiants: login : openfiler

mot de passe : password

 

Voici l’interface d’openfiler. Franchement c’est un vrai plaisir!!!

Je vais maintenant faire un exemple de création de volume SAN avec des volumes iscsi

Les personnes expertes en stockage qui liront ce tuto ne seront pas dépaysées!

Tous d’abord créons un volume Physique, pour cela cliquez sur le bouton « Volume » puis sur le lien « create new physical volume »

 

Vous devriez avoir l’écran ci-dessous s’afficher:

Je vous déconseille fortement d’utilisez le disque système pour vous en servir comme disque de stockage (performance oblige!)

Cliquez sur le lien /dev/<disk> dans la 1er colonne à gauche correspondant à votre disque.

Créez votre partition puis cliquez sur « create ».

Cliquez sur l’onglet volume en haut pour revenir à l’écran de gestion des volumes:

 

C’est exactement le même système que les LVM.

Nous allons maintenant créer un volume Group composé d’un ou plusieurs disques physiques.

Cochez le ou les disques sans oublier d’indiquer un nom à votre volume group puis cliquez sur le bouton « Add Volume Group ».

 

– Nous allons maintenant activer le service ISCSI. Pour cela cliquez sur l’onglet « service ».

C’est ici que vous trouverez tous les services supportés par OpenFiler. Dans notre cas nous allons activer le service « iSCSI Initiator » et iSCSI Target ». Pour cela Cliquez sur « Enable » pour l’activer et « start » pour le démarrer.

Notez que vous avez également le service NFS de disponible si vous voulez créer un partage tous simple accessible depuis plusieurs machines.

Une fois les services démarrés cliquez sur l’onglet share.

Cliquez sur « Create a new filesystem volume »

Renseignez le nom de votre volume ainsi l’espace que vous voulez lui allouer et cliquez sur « create ».

Attention si vos Volume utilise le protocole ISCSI selectionnez « block » dans le menu déroulant « filesystem »

Cliquez sur l’onglet volume.

Ca y’est votre volume est pret! Vous pouvez augmenter ou diminuer sa taille à chaud. La gestion de Snapshots est également gérée par openfiler!

Cliquez sur edit puis sur iscsi target à droite de l’écran.

Cliquez sur le bouton add pour ajouter un « target iqn » qui vous sera indispensable pour connecter votre volume.

Cliquez sur map pour mapper votre Lun

Cliquez ensuite sur « update » en bas de la page.

Ça y’est votre SAN est opérationnel!!

 

 




[Tutoriel] Installation serveur collaboratif Zimbra

Article publiée le 25 Juillet 2013

Mise à jour le 30 Juillet 2013

 

I) Installation de Zimbra

 

Le projet OpenSource Zimbra attire mon attention depuis pas mal de temps.

Zimbra est un groupware ( Serveur collaboratif) regroupant un service de mail, un ldap et un service de calendrier totalement gratuit!!!

Cette solution est pour moi idéal pour les petites entreprises disposant de peu de moyens mais ayant des besoins plus important.

D’autres éditions de Zimbra payantes et propriétaires, sponsorisé par Vmware sont disponibles.

Ici le lien qui vous fournira le comparatif des éditions.

Ce tutoriel vous expliquera comment installer et configurer cette solution avec CentOS 6.4

Ce tutoriel prend en compte le fait que vous ayez un serveur DNS correctement configuré (notamment le MX)

 

* Configurer votre interface réseau avec une IP en statique et vérifier que SElinux est désactivé.

*Editez le fichier Hosts et rajoutez l’entrée (Seulement au cas ou vous ne disposez pas d’un serveur DNS):

<ip de votre machine>  <nom long> <nom court>

Exemple:

192.168.0.23     zimbra.localdomain zimbra

Si malgré une configuration correct de votre fichier Hosts (ou configuration DNS) l’installateur vous jette, vérifier la configuration de votre hostname via la commande hostname -f. Si aucun n’est défini initialisez le via la commande hostname <nom de votre machine>

* Installez les prérequis nécessaire à l’installation de Zimbra:

yum install perl sysstat  nc

*Telechargez zimbra:

wget http://files2.zimbra.com/downloads/8.0.4_GA/zcs-8.0.4_GA_5737.RHEL6_64.20130524120036.tgz

*Décompressez l’archive:

tar -xvf  zcs-8.0.4_GA_5737.RHEL6_64.20130524120036.tgz

*Rendez vous dans le répertoire d’installation

cd zcs-8.0.4_GA_5737.RHEL6_64.20130524120036

*Lancez l’installation :

./install.sh

*Validez en tapant Y à chaque invite:

Tapez Y et validez pour lancer l’installation.

Une fois arrivé à cette écran:

  • « adresse unconfigured » taper « 3 » pour initialiser le mot de passe de la console administrateur de zimbra
  • select, ou « r » taper « 4 » toujours pour initialiser ce mot de passe
  • taper le mot de passe qui sera celui du compte administrateur
  • select, ou « r » taper « r » pour le menu précédent
  • puis taper « a » pour appliquer
  • et enfin taper « y » pour le « system will be modified »

 

Une fois l’installation terminée vous pouvez accéder à l’interface d’admin via l’url: https://<ip de votre serveur>:7071/

Le webmail de Zimbra est accessible via cette URL: https://<ip de votre serveur>

 

Utilisateur : admin@<domaine>
Mot de passe : Mot de passe configuré lors de l’installation

Pour démarrer ou stopper le service Zimbra: service zimbra start/stop/restart ou /etc/init.d/zimbra start/stop/restart

N’oubliez pas  de stopper les services mails natifs de votre distrib  (postfix sous Red-Hat ou exim4 sous debian) avant de démarrer Zimbra

 

L’interface d’administration de Zimbra est extrêmement intuitif.

Pour commencer la configuration de votre serveur Zimbra il suffit de suivre le Wizard de configuration visible sur la page d’accueil (« Mise en route », « Configurer un domaine, « Ajouter des comptes).

 

enjoy 🙂

 

 




ESXI error loading /s.v00

Article publiée le 24 Juillet 2013

J’ai pu constater une erreur courante lors de l’installation de VmWare ESXI 4 ou 5 qui m’est tombée dessus récemment.

Lors du chargement des fichier .v00. il peut arriver que celui ci bloque sur /s.v00

En écumant la base de connaissance de VmWare j’ai fini par trouver la solution:

Dans les paramètre CPU du bios de votre serveur vous devez désactiver les paramètres suivants:

Adjacent Cache Line Prefetch == OFF

Hardware Prefetcher == OFF

Demand-based Power MGMT == OFF

 

Vous pouvez maintenant redémarrer votre installation 🙂

 

 




Augmenter la taille du swap

Article publiée le 10 Juillet 2013

Article mise à jour le 15 Mars 2016

En écumant les tutos sur internet j’ai trouvé tout et n’importe quoi sur la façon d’augmenter la taille d’un swap.

En effet il peut vous arriver, pour donner un peu d’air à votre système ou satisfaire des prérequis, de devoir augmenter la taille de votre Swap.

Il va s’en dire que toute vos partitions sont en LVM. Si ce n’est pas le cas je vous invite fortement à reconsidérer votre décision technique 😉

Ce lien vous emmènera vers un tuto que j’ai rédigé sur les LVM

Ce mini tuto explique la méthode la plus simple d’augmenter à chaud la taille d’un SWAP.

Avant de débuter, veillez à ce que votre système ne soit pas en train de swapper. Si tel est le cas il est préférable de stopper les services gourmand en mémoire.

 

-Désactivez le swap:

swapoff -v <chemin de votre partition swap>

Exemple : swapoff -v /dev/vg_root/lv_swap

-Augmenter la taille de votre LV

lvresize -L +<valeur de l’espace que vous voulez rajouter>g <chemin de votre partition swap>

Exemple: lvresize -L +16g /dev/vg_root/lv_swap

-Réactivez votre swap

swapon -va

-Vérifiez  la nouvelle taille de votre swap via la commande « top »

 

 




Compression en multithreading (pigz & lbzip2)

Publiée le 01 Juillet 2013

La compression est extrêmement pratique! Seulement les délais de compression et de décompression peuvent vite devenir un cauchemar.

Lors d’une de mes  précédentes mission cette problématique c’est très vite posée à l’un de mes collègues admin. La solution proposée par l’un d’eux a été des plus astucieuse!

La plupart des outils de compressions connus utilisent qu’un seul thread alors que de nos jours les serveurs gèrent de mieux en mieux le multithreading.

Pour ma part je trouve cela très dommage. Si vous avez des milliers d’archives à traiter, les méthodes conventionnelles risquent d’être vite limitées.

Mais encore une fois nos barbus ont pensés à tout!

 

PIGZ : Cette outil disponible dans tous les dépots officiels (installation via apt et yum) vous permet de gérer vos archives gzip bien plus rapidement que gunzip.

Pigz gère le multithreading et le gain en performance est non négligeable!

Ci dessous le Benchmark entre Gzip et Pigz::

Voici 10 fichiers de 10Mo chacun:

 

Les temps d’exécutions avec Pigz:

 

Et celle avec gzip:

 

Comme vous pouvez le constater Pigz est bien plus performant (et encore le test a été effectués avec un échantillon de dix fichiers de 10Mo, imaginez le gain de temps avec des milliers de fichiers!).

Site des développeurs: http://zlib.net/pigz/

 

LBZIP2 : 

Ci-dessous le benchmark:

 

Beaucoup font l’éloge de PBZIP2 pour effectuer des compression en Bzip2 mais après des test j’ai pu m’apercevoir que LBZIP2 est beaucoup plus performant aussi bien en compression qu’en décompression.

Tout ces tests ont été effectuées sur une machine core i7, 8 Go de Ram avec une distribution Debian Wheezy. Les fichiers de tests ont été créés dans une partition EXT4.

 




Rotation des logs avec logrotate

Publiée le 26 Juin 2013

La gestion des logs est très importante. La problématique qui se pose très souvent à un admin est de gérer ses logs pour que celles-ci soient disponibles le plus longtemps possible sans saturer le stockage.

Logrotate est la solution idéal pour gérer les logs de vos service UNIX.

Logrotate permet d’archiver vos logs, de les compresser et d’effectuer des purges automatiques. La puissance de logrotate réside dans le fait qu’il peut archiver vos logs même quand celles ci sont en cours d’écriture!

Pour configurer logrotate allez dans le répertoire  /etc/logrotate.d

Ce répertoire contient la configuration de la rotation des logs pour chaque service.

Admettons que nous voulons gérer les logs du service « toto »:

– Créer un fichier toto dans le répertoire /etc/logrotate.d

-Editez le et ajoutez la configuration suivante:

 

# Indiquez le chemin de votre log

<chemin de votre fichier log> {

#Ne supprime pas le fichier mais vide le fichier log après en avoir fait une copie

copytruncate
# Logrotate analysera l’état de vos logs de manière journalière (vous pouvez spécifier weekly ou monthly pour chaque semaine ou chaque mois)

daily
# Logrotate conservera 7 archives

rotate 7
#Les logs seront compressées

compress

#Ne produit pas d’erreur si votre log n’existe pas

missingok

# Logrotate archivera votre log uniquement si la taille dépasse les 100M

size 100M
}

Enjoy 🙂




Présentation de BTRFS et comment migrer

Article publié le 9 Juin 2013

Mise à jour le 02 Décembre 2015

Présentation

BTRFS est un des dernier système de fichier révolutionnaire (développé principalement  par Oracle et RedHAT) qui devrait remplacer à terme EXT4.

Il n’apporte pas réellement de gain en performance mais sa force réside  dans ses fonctionnalités.(vous pourrez noter néanmoins un léger gain en performance à partir du Noyau 3.6)

J’ai été impressionné par les possibilités qu’offre BTRFS en terme d’administration:

 

– Création de SnapShot

– Meilleur gestion de l’intégrité des données ( Somme de controle)

– Compression en natif

– Sauvegarde incrémental intégrée au système de fichier

– Défragmentation à chaud

– Création de sous volumes

De plus le système de fichier BTRFS est optimisé pour la gestion des petits fichiers. En effet si vous avez un nombre très important de petits fichiers vous gagnerez en place et en performance par rapport à un système de fichier de type EXT3/EXT4

 

Création d’une nouvelle Partition 

Pour formater une partition en btrfs, rien de plus simple.

mkfs.btrfs <votre fs>

Migration

Dans un premier temps il est nécessaire d’installer btrfs-tools sous Debian ou btrfs-progs sous Red-Hat. (comme à mon habitude et pour des raisons idéologique ;-), mes tests sont effectués sur une Debian tout en essayant  de m’adapter au maximum pour les utilisateurs de RedHat/CentOS).

# apt-get install btrfs-tools (sous Debian) ou yum install btrfs-progs (Sous RedHAT)

– Convertissons un système de fichier  EXT4 vers BTRFS

Pour cela démontez votre volume:

#umount <votre fs>

Utilisez la commande btrfs-convert pour convertir votre FS EXT4 en BTRFS:

#btrfs-convert <votre fs>

N’oubliez pas de modifier votre fstab en remplacant EXT4 par btrfs.

– Remontez votre fs avec un mount -a

Présentation des fonctionnalités

1) Création de sous volume

Cette fonctionnalité est absolument génial, elle vous facilitera la vie en terme d’administration!

Pour créer un sous volume:

# btrfs subvolume create <votre-nom-sous-volume>

Pour supprimer un sous volume:

#btrfs subvolume delete <votre-nom-sous-volume>

 

2) Les  SnapShots

Créer un Snapshot:

Le système de snapshot est très abouti. Il vous permet de prendre « une image » de votre sous volume. En cas de problème (perte de fichier ou autre) vous pourrez recharger votre snapshot pour récupérer l’état de votre volume au moment ou le snapshot a été pris. (similaire aux snapshot de machine virtuel même si le fonctionnement est différent).

#btrfs subvolume snapshot <nom de votre sous volume>  <nom de votre snapshot>

Cette commande créera un répertoire à la racine de votre FS. Ce répertoire correspondra à  votre snapshot et contiendra toute votre arborescence avec son contenu.

 

Restaurer un Snapshot:

Rien de plus simple! Il suffit de faire un mv du répertoire de votre snapshot vers le le sous Volume à restaurer!

 

Autosnap:

Cette petite fonctionnalité vous permettra de faire des Snapshot automatiques, très utile pour sécuriser vos données.

 

#btrfs autosnap enable -m <fréquence de snapshots en minute> -c <Nombre de snapshots en rétention (roulement)> <votre sous volume>

Exemple:

#btrfs autosnap enable -m 30 -c 10 <votre sous volume> </btrfstest/toto>

Dans cette exemple un SnapShot sera effectué toutes les 30 minutes sur le sous volume « toto ». Un historique de 10 SnapShots sera conservé!

Vous pouvez même aller plus loin. Admettons que vous soyez rik rak niveau stockage vous pourrez faire en sorte que vos plus anciens SnapShot soientt supprimés au bout d’un certain seuil d’occupation d’espace disque

#btrfs au fslimit -n <% d’espace disque occupé> <Votre sous volume>

 

En conclusion le système de Snapshot est extrêmement performant et présente un très bon complément avec vos sauvegardes journalières.

(Dans le cas typique où vous créez un fichier dans la journée et que vous le supprimez par erreur avant la sauvegarde)

 

3) La compression

Btrfs prend nativement en charge la compression

Pour cela deux étapes sont nécessaires

– On modifie le fstab en conséquence:

Exemple:

<votre fs>   <point de montage>       btrfs    defaults,compress  0       1

-on compresse soit avec lzib (Meilleur compression  mais plus gourmand en CPU) ou lzo (Plus économe en ressource mais moins bonne compression):

compress=<algo de compression>




Migrer ext3 vers ext4

Article publié le 7 Juin 2013

Ext4 est un sytème de fichier qui possède beaucoup d’avantages :

– Vitesse d’écriture multiplié par 2!

– Possibilité de créer des FS allant  jusqu’a 16Eo (Exa octet)

– Possibilité de générer des fichiers jusqu’à 16To

– Beaucoup moins de chance d’avoir des données corrompus en écriture.

– Et beaucoup d’autres avantages!!!

J’ai entendu pas mal de gens dire que EXT4 n’est pas fiable ou qu’il présente des risques: ce sont des foutaises!!!! EXT4 est plus fiable que EXT3 donc faites vous plaisir!

J’ai noté une grosse amélioration des performances des base de données (Oracle et MySQL) ayant leur tablespace sur des FS en  EXT4(vos DBA n’en seront que plus heureux!)

Si vous décidez de faire des tests de performance, je vous conseille de les effectuer uniquement avec un noyau en version 2.6.32-X. En effet les noyaux plus anciens (à partir de 2.6.18-x) supportent l’EXT4 mais ne sont pas optimisés pour en tirer le plein potentiel. (Mais rien ne vous empêche de migrer pour tirer profit des autres avantages de ce système de fichier)

Maintenant une problématique: la migration.

Heureusement nos chers barbus ont pensés s à tout! Il est en effet possible de migrer à chaud vos données sans effectuer une migration lourde (suppression et création d’un nouveau FS)

Ci-dessous la procédure:

 Pour les utilisateurs de RedHat/Centos ayant une version antérieur à la 6.0 installez le paquet suivant:

e4fsprogs (yum install e4fsprogs)

 

-Démontez le lecteur à migrer:

# umount <fsck -pf /dev/sdb1votre point de montage>

-Ajustons les paramètres de votre FS pour le passage en EXT4:

#tune2fs -O extents,uninit_bg,dir_index /<votre FS>

-Vérifiez la cohérence de votre FS:

#fsck -pf /<votre fs>

-Modifiez votre fstab en remplacant « ext3 » par « ext4 » sur la ligne correspondante au FS que vous avez modifié

-Monter votre FS

#mount -a

Faites un df -T pour vérifier que votre FS est bien en EXT4 (juste pour la conscience ;-))

 

NB : Dans  mon prochain article je vous parlerai un peu de btrfs




Installation et configuration d’un serveur NFS

Article publié le 19 Mai 2013

Article Mis à jour le 20 Mai 2013

1) Serveur

Vous voulez mettre en place rapidement un partage entre vos serveurs?

Le partage NFS est fait pour vous, il est simple à mettre en place et performant!

Ce petit tutoriel vous expliquera la marche à suivre pour le mettre en place.

Installez le service NFS si ce n’est déja fait : apt-get install nfs-kernel-server (pour debian) ou yum install nfs-utils (pour RedHat/CentOS)

Le fichier de configuration de votre serveur NFS est le fichier /etc/exports. C’est dans ce fichier que vous allez définir le ou les répertoires que vous allez inclure dans votre partage ainsi que la liste des machines autorisées ( sécurité oblige )

Pour la suite de ce petit tutoriel je vais créer un partage NFS sur ma machine  numéro 1 et le client sera la machine numéro 2.

Sur la machine numéro 1:

# mkdir /monpartagenfs

# vi /etc/exports    ( j’édite le fichier de conf)

 Contenu du fichier:

/monpartagenfs <ip_machine_cliente>(rw,no_root_squash,sync,subtree_check)
/monpartagenfs2 <ip_machine_cliente>(rw,no_root_squash,sync,subtree_check)

Si vous avez plusieurs machines séparez chaque ip par une virgule

Si vous voulez autoriser n’importe quelle machine à se connecter sur votre serveur vous pouvez remplacer la liste des ip par *.

Enregistrer votre fichier une fois votre configuration terminée.

# exportfs -a pour appliquer la configuration NFS (Ne renvoi aucun message si la conf est correct)

La configuration coté serveur est terminée.

2 Machine cliente (la machine n°2)

Créer votre point de montage :

#mkdir <répertoire de votre point de montage/<point de montage>

#mount  <IP ou dns du serveur NFS >:/<repertoire partagé>  /<votre point de montage sur la machine cliente>/

Vérifiez avec un petit df -h 😉

 Si votre montage est permanent je vous conseille de configurer votre montage via le fstab

 

AUTOFS 

Si vous commencez à avoir un paquet de partage montés sur vos machines (type un home partagé) je vous conseil vivement de mettre en place un automount via autofs.

L’autofs se chargera de monter et démonter vos fs uniquement en cas d’utilisation ce qui vous fera économiser des ressources machines.

La configuration est très simple. Dans notre cas nous allons prendre la configuration pour le montage et démontage automatique d’un volume en NFS.

Admettons que vous avez un partage NFS hebergé sur une machine 1. Le répertoire partagé est /monpartagenfs. A l’intérieur de ce répertoire vous avez 4 sous répertoire tata, toto, titi, tutu ce qui fait pour résumer 4 répertoires à automonter sur votre machine cliente (machine 2):

 

/monpartagenfs/tata

/monpartagenfs/toto

/monpartagenfs/titi

/monpartagenfs/tutu

(Les étapes ci dessous sont à faire uniquement sur la machine cliente)

1) installons le package necessaire:

# apt-get install autofs ou yum install autofs (si vous êtes adepte de red hat )

2) Editons le fichier de configuration principal /etc/auto.master et ajoutons la ligne ci-dessous:

/clientnfs   /etc/auto.nfs –ghost,–timeout=60    (le time out est le temps avant le démontage automatique une fois que votre FS ne sera plus utilisé.

Nous indiquons ici le répertoire racine du partage

3) Créons le fichier /etc/auto.nfs et spécifions tous les points de montage :

tata -fstype=nfs,rw,intr <ip_serveur_nfs>:/monpartagenfs
titi -fstype=nfs,rw,intr <ip_serveur_nfs>:/monpartagenfs
toto -fstype=nfs,rw,intr <ip_serveur_nfs>:/monpartagenfs
tutu -fstype=nfs,rw,intr <ip_serveur_nfs>:/monpartagenfs

Je vous explique:

Dans la 1er ligne « tata » correspond au répertoire cible du serveur NFS qui va être monté sur votre machine cliente

–  fstype: correspond au protocole

– <ip_serveur_nfs> correspond à l’ip serveur NFS

– /monpartagenfs correspond au point de montage sur votre machine cliente

Une fois cette configuration faite il ne vous reste plus qu’à redemarrer votre service autofs :

# /etc/autofs restart

Maintenant faites un test :

– Faite un df -h: vous vous apercevrez que rien n’est monté! Normal car vous ne l’utilisez pas

– maintenant faite un cd jusqu’à l’intérieur de votre répertoire et refaite un df -h et la surprise! Votre point de montage apparait!!

– Quittez le répertoire avec un « cd », attendez le time out et refaite un df -h et vous vous apercevrez que le montage n’apparait plus

En conclusion la solution autofs est une super solution quand vous avez une multitude de répertoire partagé (par exemple un /home en partage).

Juste un petit avertissement pour ceux qui utilise un système de fichier clusterisé : Oubliez 😉 Vous allez avoir de gros soucis avec autofs




installation et configuration d’un mirroir/repository local Debian (ou dépot local) via apt-mirror

Article publié le 17 Mai 2013

 

Vous commencez à avoir une flopée de machine Debian dans votre entreprise?

Vous voulez que  apt-get….  aille plus vite??

Il est temps pour vous de mettre en place un miroir Debian(ou dépot local) qui se synchronise directement avec les dépôts officiels!

Ayant déjà mis moi même cette solution en place je peux vous assurer que c’est absolument génial.

Ci-dessous un petit tuto qui vous expliquera la marche à suivre la plus simple:

Tous d’abord prévoyez un stockage assez conséquent ( 200 go pour être tranquille):

 

– Installez apt-mirror : apt-get install apt-mirror

– Ensuite je vous conseille d’organiser votre arborescence pour vous y retrouver plus facilement

* mkdir /<votre rep>/mirror/mirror

* mkdir /<votre rep>/mirror/skel

*  mkdir /<votre rep>/mirror/var

 

– Par défaut le fichier de configuration se situe dans /etc/apt/mirror.list mais je vous conseil fortement de le placer ailleurs pour cela exécuter les commandes suivantes:

* cp /etc/apt/mirror.list      /<votre rep>/mirror/<le nom que vous voulez>    (on copie le fichier de configuration ailleurs)

*  il faudra ensuite utilisez cette commande pour lancer la synchronisation mais je vous le rappellererai plus tard 🙂        :                                                                                                                         apt-mirror   /<votre rep>/mirror/<le nom de votre fichier de conf>

 

– Ouvrez votre fichier de configuration. Vous devriez avoir quelque chose comme ceci:

############# config ##################

#
set base_path /media/Backup/apt-mirror
#
# if you change the base path you must create the directories below with write privileges
#
set mirror_path  $base_path/mirror             
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh
## set defaultarch xxxx (votre architecture i386/hppa/powerPC/ia64...)
set defaultarch i386 
set nthreads     2
set tilde 0
#
############# end config ##############
deb http://archive.ubuntu.com/ubuntu/ hardy main restricted
deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ hardy-security main restricted
deb http://archive.ubuntu.com/ubuntu/ hardy universe multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy-security universe multiverse
deb http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse
deb http://packages.medibuntu.org/ hardy free non-free
deb-amd64 http://packages.medibuntu.org/ hardy free non-free
deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy main restricted
deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted
deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-security main restricted
deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy universe multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-updates universe multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-security universe multiverse
deb-amd64 http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse

 

Décommettez toute les lignes commençant par « set ».

 

Supprimez tous les liens (après le commentaire « end config »)  et ajoutez des dépôts plus « officiels » par exemple :

 

deb http://ftp.fr.debian.org/debian/ wheezy main

deb-src http://ftp.fr.debian.org/debian/ wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as ‘volatile’
deb http://ftp.fr.debian.org/debian/ wheezy-updates main
deb-src http://ftp.fr.debian.org/debian/ wheezy-updates main

 

 

Si vous êtes derrière un proxy vous devez configure le wgetrc:

– vi /etc/wgetrc

– Ajouter les lignes suivantes au fichier de configuration:

http_proxy = http://user:passwd@proxy:port
use_proxy = on

 

Il ne vous reste plus qu’à lancer la synchronisation:

 

apt-mirror   /<votre rep>/mirror/<le nom de votre fichier de conf>

Si tout ce passe bien la synchronisation commence, vous devriez avoir ceci qui apparaît :

Cela signifie que vous êtes entrain de synchroniser avec le  dépôt officiel!

 

Maintenant il ne reste plus qu’à rendre votre  miroir accessible pour cela nous allons installer un serveur apache:

– apt-get install apache2

– Créez le Virtualhost qui permettra à  votre miroir d’être accessible pour cela éditez le fichier /etc/apache2/site-available/default et ajoutez après la balise </VirtualHost> les lignes suivantes:

 

Alias /debian /<chemin>/mirror
<Directory /var/spool/apt-mirror/mirror/ftp.fr.debian.org/debian/>
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
</Directory>

Alias / /<chemin>/mirror
<Directory /var/miroir/mirror/security.debian.org/>
Options +Indexes +SymlinksIfOwnerMatch
IndexOptions NameWidth=* +SuppressDescription
</Directory>

Il ne reste plus qu'à redémarrer le service apache.
- /etc/init.d/apache2 restart

Voila votre dépôt est prêt!
Sachez que vous pouvez paramétrer une synchronisation pour plusieurs versions de la distribution de Debian, il suffit de rajouter les adresses des dépôts dans le fichier de configuration de apt-mirror :-)

Voila il ne reste plus qu'à entrer sur tout vos serveurs clients la nouvelle adresse de votre repository (dans le fichier /etc/apt/source.list)

deb http://@IP_de_votre_serveur/debian/ wheezy main
deb-src http://@IP_de_votre_serveur/debian/ wheezy main

deb http://@IP_de_votre_serveur/ squeeze/wheezy main
deb-src http://@IP_de_votre_serveur/ squeeze/wheezy main

 

– apt-get update

 

Ça y’est votre repository est fonctionnel!

 

 

PS:

N’oubliez pas de cronner (de préférence la nuit) la synchronisation pour garder votre repository à  jour en utilisant la commande :   apt-mirror   /<votre rep>/mirror/<le nom de votre fichier de conf>




pvresize : changer la taille d’une partition (LVM)

Article publié le 14 Mai 2013

 

Que faire lorsqu’il n’est plus possible d’étendre un VG (Volume group)? On vous répondra étendre le PV (Physical Volume).

Une demande de ce type m’est déjà tombé dessus et je dois vous avouer que je n’étais pas très serein…

Pour vous expliquer la demande était simple : Rajouter un disque sur un RAID d’une baie de stockage et faire reconnaitre à l’OS que le volume du PV a été modifié.

N’ayant jamais eu besoin d’effectuer cette manip auparavant je ne connaissais pas trop la procédure pour effectuer cette tâche sans tout casser…

En écumant les forums je suis tombé sur des tuto plus ou moins farfelue et c’est pourquoi ce petit article va vous expliquer la marche à suivre la plus simple qui soit!

 

Admettons que vous ayez une baie de stockage avec vos serveurs reliés dessus en ISCSI avec un multipath et que vous venez juste d’augmenter la capacité de votre volume RAID :

 

–  iscsiadm -m node –rescan (Pour que votre os « ait conscience » du changement)

–  /etc/init.d/multipathd reload (uniquement si vous avec un multipath de configuré)

– pvresize /dev/mapper/<votre volume>

 

Et voila! En faisant un pvdisplay vous pourrez vous voir que la taille de votre PV  a augmenté!

Il ne reste plus qu’à resizer vos VG et LV à votre convenance 🙂

 

 

 

 

 

 

 




Récupérer un mot de passe root sous linux

Article publié le 15 Mai 2013

 

Qui peut se vanter de n’avoir jamais oublié un mot de passe root????

Si cela vous arrive pas de panique une petite manip très simple permet de réinitialiser un mot de passe root sous Linux.

Pour cela il faut que vous ayez un accés physique à la machine.

 

– Rebooter votre machine jusqu’à ce que l’écran du GRUB apparait

– Selectionnez la deuxième ligne du grub (mode de dépannage) puis appuyer sur « e »

– Ajoutez init=/bin/bash (attention vous êtes à ce moment en clavier qwerty, le slash se trouve alors à la place du point d’exclamation);

– Appuyez ensuite sur ctrl+x pour booter.

– Vous devez alors être connecté en root;

– Remontez la partition en écriture avec la commande suivante : mount -o remount,rw /

– Tapez la commande passwd pour changer le mot de passe root.

 

Enjoy 🙂




Problème installation additions invités VirtualBox sur Debian

Article publié le 17 Mai 2013

 

Lors de l’installation de ma nouvelle Debian un problème m’est tombé dessus lors de l’installation des Addition Invités. En écumant les forums je me suis aperçus que beaucoup ont eu le même problème mais sans solution.

Lors du démarrage du Virtualbox-guest-utils le message suivant est apparu:

#Error: VbglR3Init failed with rc=VERR_FILE_NOT_FOUND.

 

Hi caramba!!

Ce problème est la conséquence de deux petits oublies!

– Lors de la compilation des librairies manquante ont fait foirés l’install ( Merci au script d’install de ne pas l’avoir signalé..)

Résolution : apt-get install build-essential ( ce package vous installera tout les outils nécessaire pour une compilation réussie ;))

– Oublie d’installer les linux-headers (entête Kernel)… Cela m’arrive malheuresement à chaque fois …

Résolution : apt-get install linux-headers * ( on shoppe pour toutes les versions du noyau !!!)

Une fois les prérequis installés  il ne vous reste plus qu’à réinstaller les additions invités (sans oublier de redémarrer votre machine).

 

 

 

 

 




Bonding : Agrégation de plusieurs Interfaces réseaux

Article publié le 12 Mai 2013
Ce petit tuto peut vous être utile si votre prod est (encore) hébergé sur des serveurs physique.
En effet le bonding  vous permet d’avoir une haute disponibilité au niveau de vos interfaces réseau ( 2 carte réseau physique pour une IP).
Cela vous permettra également de multiplier votre bande passante par le nombre d’interface que vous allez utiliser.
Dans ce petit tuto nous allons faire la manip avec seulement 2 cartes réseaux:
Tous d’abord créez le fichier /etc/modprobe.d/aliases-bonde.conf  et

 ajoutez les lignes suivantes:
alias bond0 bonding
options bond0 mode=1 miimon=100 max_bonds=4
 Il ne vous reste plus qu’à éditer votre fichiers interface ( Syntaxe différente sur une Red hat/CentOS)
auto bond0
iface bond0 inet static
pre-up modprobe bond0
address x.x.x.x.
netmask x.x.x.x
gateway x.x.x.x.
       # Interface utilisé dans notre exemple eth0 et eth4
up ifenslave bond0 eth0 eth4
up ethtool -s eth0 autoneg on
up ethtool -s eth4 autoneg on
down ifenslave -d bond0 eth0 eth4
Enjoy!



Tutoriel Installation et configuration Red Hat Enterprise Virtualization (RHEV)

Article publié le 12 Mai 2013

1      Présentation de la solution RED HAT Entreprise Virtualization

 

RHEV offre  une solution complète de gestion de la virtualisation de serveurs. Red Hat Enterprise Virtualization a été conçu à partir de la plate-forme Red Hat Enterprise Linux, dont il étend les fonctionnalités, pour faire tomber les barrières élevées face à l’omniprésence de la virtualisation au sein des centres de données. Red Hat Enterprise Linux a su gagner la confiance de milliers d’entreprises et est installé sur des millions de systèmes dans le cadre de charges de travail stratégique.

 

 

rhev

 

 

 

Installation de la console de management RHEVM

Avant de procéder à l’installation de la console management sur le serveur, il faut vérifier que les prérequis suivant soit bien respecté :

 

–      Le système d’exploitation : Windows Serveur 2003 R2 ou Windows Serveur 2008 (recommandé)

–      Le service IIS doit être installé

–      Si vous êtes sous Windows Serveur 2003 vous devez installer Powershell 2.0 disponible sur Windows Update ou sur le site de Microsoft.

–      Microsoft Frameworks 3.5.1

 

 

Une fois le fichier d’installation lancer cliquez sur suivant et accepté les conditions d’utilisation.

 

 

Arrivé à l’écran ci-dessus vérifiez que toutes les cases sont cochées et cliquez sur Next.

 

 

 

 

Cocher « install a SQL Server 2005 Express Locally » et cliquez sur next.

Vérifier le répertoire d’installation et cliquez sur next.

 

 

 

Décocher la case force SSL et cliquez sur next

 

 

 

Renseignez les informations demandées

 

Cliquez sur next

 

 

 

 

Port Number: 25285

 

 

 

 

 

 

 

 

 

Cliquez sur next

 

 

 

 

Cliquez sur ignore, l’installation du Manager commence.

 


 Administration de RHEVM

 

 

Cette partie montre la marche à suivre afin se connecter à la console de management de RHEVm

 

 

 

Ouvrez votre navigateur est entrez dans la barre d’adresse :

 

http://[adresse ip  ou nom]/RHEVmanager

 

 

 

Si ce n’est pas le cas installez le certificat en cliquant sur le lien correspondant.

 

 

 

 

L’écran ci-dessus correspond à l’interface d’authentification de RHEVm.

 

1    Installation d’un  hyperviseur RHEV.

 

 

Bootez sur l’ISO de l’hyperviseur. Après le chargement l’interface suivante doit apparaitre :

 

 

 

 

Appuyer sur 1 et entrée.

 

 

 

Selectionnez « configure » grave à la touche 1 puis valider avec entrée

Selectionnez le disque ou l’hyperviseur sera installer et validez.

Une fois la tâche terminée validez la en selectionnant la 3ème entrée (commit configuration).

 

Une fois le formattage terminer l’assistant vous réaffichera le menu principal.

Appuyez sur 2 (configure authentification)

 

 

 

 

Selectionnez la 1er entré et entrez le mot de passe root de l’hyperviseur.

Faites la même chose pour la 2ème entrée.

Une fois configurer selectionnez la 3ème entrée pour revenir au menu principal.

 

Configurer le hostname en appuyant sur 3 puis entrée.

Quand l’interface vous le demandera tapez le nom complet de l’hyperviseur

 

Une fois le hostname configuré tapez 4 pour configurer le réseau.

 

Selectionnez l’interface réseau configuré (généralement ETH0)

 

 

 

Tapez n puis entrer

 

 

 

 

Tapez n puis entrer.

 

 

 

Tapez S puis entrer

 

 

Configurer la configuration IP de l’hyperviseur en suivant les instructions à l’écran.

 

Configurer ensuite votre serveur DNS de la même façon en selectionnant DNS sur le menu principal de la configuration réseau de votre hyperviseur.

Faites de même pour le serveur NTP.

 

Selectionnez Save And Return To Menu pour revenir au menu principal.

 

 

Enregistrez ensuite votre machine au RHN en tapant 5.

Selectionnez 1) Register to public RHn

Procédez à l’enregistrement avec votre compte Red Hat

 

Une fois l’enregistrement RHN terminé appuyez sur 6 (Configure the host for red hat entreprise).

 

 

 

 

 

 

 

 

Tapez [ip de votre serveur RHEVm]:80

 

Puis appuyer sur entrer

 

Si la communication s’établit correctement entre les 2 machines l’hyperviseur doit renvoyer le message suivant :

 

 

« The RHEV Manager’s address is set »

« The RHEV Manager’s port is set. »

 

 

Tapez [ip de votre serveur RHEVm]:25285

Puis appuyer sur entrer.

 

Une fois la configuration effectuée vous serez de nouveau au menu principal.

 

Selectionnez 8 (install locally and reboot).

Une fois l’installation effectuée retournons sur notre console de management.

 

 

Si la configuration a bien été effectuée, un nouvel HOST doit être en attente dans votre interface RHEVM.

Pour l’activer, faites un clique droit dessus et cliquez sur approve. Le Host va être rajouté au cluster.

Si aucun host est en attente, allez sur l’hyperviseur concerné et redémarré le service vdsm-reg grâce à la commande service vdsm-reg restart.

 

 

2    Configuration du Cluster

 

Configuration de l’espace de stockage

 

 

 

Une fois vos hyperviseurs ajoutés dans votre cluster, il faut créer un DATASTORE pour hébergé vos VMs.

RHEV est capable de gérer le MULTIPATHING en fibre channel.

Pour cela allez dans l’onglet storage puis cliquez sur le bouton new domain :

 

 

 

 

Domain Function : DATA

Storage type : FCP

La liste des VMFS va apparaitre. (N’oubliez pas de faire la procédure de création et de présentation de VMFS sur l’interface de la baie). Cochez le VMFS converné et cliquez sur le bouton ADD.

Retournez ensuite sur l’onglet DATASTORE et selectionnez sur en bas l’onglet STORAGE puis cliquez sur le bouton attach storage.

 

 

 

 

Selectionnez ensuite le VMFS que vous venez de paramétrer précedemment.

Cette procédure permet d’affecter à un DataCenter un esspace de stockage.

 

 

Renouveler la procédure en créant un espace de stockage avec les paramètres suivants :

 

–       Domain function : ISO

–       Storage Type : NFS

et rattachez le à votre Data Center. Cette espace de stockage permettra de stocker les ISO et les templates.

L’inconvénient est que le protocole de stockage doit etre absolument du NFS.

 

 

 

6   Gestion des ISOs

Comme nous l’avons vu ci-dessus la bibliothèque des ISOs doit posséder son propre DATASTORE dédié  utilisant uniquement le protocole NFS.

Pour uploader les ISOs de façons sécurisé, REDHAT fournit un outil installé avec le Manager nommé ISO UPLOADER

 

ISO UPLOADER detecte automatiquement votre DATACENTER est se paramètre de manière autonome pour être connecter avec votre Serveur NFS.

Pour ajouter une image ISO, cliquez sur ADD et selectionnez les images ISO que vous voulez UPLOADER. Une fois votre liste complété, cliquez sur UPLOAD. ISO UPLOADER se chargera d’incorpérer les ISOs directement dans votre bibliothèque. Nous verrons ci-dessous comment l’exploiter.

 

En ligne de commande vous pouvez également uploader une ISO:

 

rhevm-iso-uploader –iso-domain=ISODomain upload <fichier iso>

 

7   Gestion des VMs

 

 

La gestion des machines virtuelles est indentique par rapport aux autres produits de virtualisations.

 

Créer une nouvelle VM :

 

 

Cliquez sur l’onglet Virtual Machines puis sur New Server :

 

 

 

Vous pouvez ici paramétrer ici la configuration « matériel » de votre VM.

 

 

Dans cette section, vous pouvez paramétrer le système de haute disponibilté en cochant « highly Available »

Les choix « low », « Medium », « High » permet de définir

 

 

 

 

Dans cette section, vous pourez paramétrer le boot séquence et affecter à votre VM une ISO que vous aurez eventuellement uploadé grâce à l’outil ISO UPLOADER.

 

 

Une fois cette tâche effectuée, cliquez sur OK.

Une fois la tâche de création de la vm terminé, il faudra lui créer un disque et une interface réseau  virtuel. Pour cela cliquez sur votre VM fraichement créée et cliquez sur « guide me ».

 

 

Cliquez ensuite sur « configure Network Interfaces ». Une fois les paramètres renseignées comme ci-dessous cliquez sur OK.

 

 

Cliquez sur Configure Virtual Disks

 

 

 

Paramétrer les paramètres ci-dessous soigneusement.

Size : Définit la taille du disque

Disk type : définit si le disque hébergera un système ou de la DATA (très important pour les performances à venir)

Interface : interface virtuel qui gère les I/O des disques

Format : Pre allocated : taille de disque figé

Thin provisionning : taille de disque variable.

 

 

Une fois le disque paramétré, cliquez sur OK pour valider.

Pour ouvrir une console sur la VM cliquez sur l’icône suivant :

 

Pour susprendre une vm                               Pour arréter à chaud une VM

 

Migration d’une nouvelle VM :

 

 

La migration d’une machine (équivalent Vmotion) permet de transférer d’un hyperviseur à l’autre (sans interruption de service) une VM. Pou cela cliquez droit sur la VM concerné puis sur « migrate » :

 

 

 

 

Si « select Host Automatically » est cochez, RHEVm se chargera de migrer la VM vers l’hyperviseur le plus disponible (très pratique pour les grosses architectures), vous pouvez sinon selectionnez manuellement l’hyperviseur cible en cochant « Select Destination host ».

Créer un Template:

 

Pour créer un template la VM doit être arréter

Cliqez droit sur la VM puis « make a template ».

Une fenètre apparait ou vous devrez renseigner le nom du template et sa description.

Valider en cliquant sur OK