informatique:systeme:ha:ceph

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:systeme:ha:ceph [2013/11/26 20:43] – [Installation de libvirt] bn8informatique:systeme:ha:ceph [2014/10/16 14:50] (Version actuelle) – [Configuration de libvirt pour utiliser le cluster Ceph] bn8
Ligne 90: Ligne 90:
         osd journal size = 10000         osd journal size = 10000
         osd journal = /var/lib/ceph/journal/$cluster-$id         osd journal = /var/lib/ceph/journal/$cluster-$id
 +        osd recovery max active = 1        
  
 [osd.0] [osd.0]
Ligne 110: Ligne 111:
   * Sur //ceph1// : <code>mkdir -p /var/lib/ceph/mon/ceph-a   * Sur //ceph1// : <code>mkdir -p /var/lib/ceph/mon/ceph-a
 ceph-authtool --create-keyring  /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin ceph-authtool --create-keyring  /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin
 +chmod 600 /etc/ceph/ceph.client.admin.keyring
 ceph-authtool --create-keyring /var/lib/ceph/mon/ceph-a/keyring --gen-key -n mon. ceph-authtool --create-keyring /var/lib/ceph/mon/ceph-a/keyring --gen-key -n mon.
 cp -a /var/lib/ceph/mon/ceph-a/keyring /etc/ceph/ceph.mon.a.keyring cp -a /var/lib/ceph/mon/ceph-a/keyring /etc/ceph/ceph.mon.a.keyring
Ligne 120: Ligne 122:
 scp 192.168.0.1:/etc/ceph/ceph.mon.a.keyring /etc/ceph/ceph.mon.b.keyring scp 192.168.0.1:/etc/ceph/ceph.mon.a.keyring /etc/ceph/ceph.mon.b.keyring
 scp 192.168.0.1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring scp 192.168.0.1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
 +chmod 600 /etc/ceph/ceph.client.admin.keyring
 ceph-mon -i b -f -c /etc/ceph/ceph.conf --mkfs</code> ceph-mon -i b -f -c /etc/ceph/ceph.conf --mkfs</code>
  
Ligne 126: Ligne 129:
 scp 192.168.0.1:/etc/ceph/ceph.mon.a.keyring /etc/ceph/ceph.mon.c.keyring scp 192.168.0.1:/etc/ceph/ceph.mon.a.keyring /etc/ceph/ceph.mon.c.keyring
 scp 192.168.0.1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring scp 192.168.0.1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
 +chmod 600 /etc/ceph/ceph.client.admin.keyring
 ceph-mon -i c -f -c /etc/ceph/ceph.conf --mkfs ceph-mon -i c -f -c /etc/ceph/ceph.conf --mkfs
 /etc/init.d/ceph -a start mon.c /etc/init.d/ceph -a start mon.c
Ligne 200: Ligne 204:
  
 ==== Agrandir un volume utilisé comme disque d'une machine virtuelle ==== ==== Agrandir un volume utilisé comme disque d'une machine virtuelle ====
 +
 +=== Sans arrêter la VM ===
 +
 +Utiliser la commande virsh suivante : <code>virsh blockresize --domain [mavm] --path "[volume]" --size [newsize]</code>
 +
 +**Avec : **
 +
 +  * **[mavm] : ** le nom libvirt de la VM
 +  * **[volume] : ** le nom du volume telque vue par la VM. Exemple : //vdc//
 +  * **[newsize] : ** la nouvelle taille du volume. Exemple : //40G//
 +
 +La modification est normalement propagé jusqu'au système d'exploitation de la VM. Il faut ensuite faire en sorte que la VM utilise ce nouvelle espace. Par exemple, si le volume est utilisé directement comme un volume physique LVM, vous pouvez suivre la procédure décrite [[informatique:systeme:matos:lvm#augmenter_un_pv|ici]].
 +
 +=== Avec arrêt de la VM ===
  
   * Arrêter la VM   * Arrêter la VM
Ligne 210: Ligne 228:
   * Une fois le redimensionnement fait, relancer la VM   * Une fois le redimensionnement fait, relancer la VM
   * Une fois la VM rebootée, il faut faire en sorte d'utiliser cette espace disque supplémentaire. Si vous utilisez //LVM//, vous pouvez suivre la procédure décrite [[informatique:systeme:matos:lvm#augmenter_un_pv|ici]].   * Une fois la VM rebootée, il faut faire en sorte d'utiliser cette espace disque supplémentaire. Si vous utilisez //LVM//, vous pouvez suivre la procédure décrite [[informatique:systeme:matos:lvm#augmenter_un_pv|ici]].
- 
 ==== Réduire un volume utilisé comme un disque d'une machine virtuelle ==== ==== Réduire un volume utilisé comme un disque d'une machine virtuelle ====
  
Ligne 305: Ligne 322:
  
 <note>Le nombre //200// utilisé lors de la création du pool libvirt correspond aux nombres de //Placement Group// calculé selon la méthode officielle expliqué [[http://ceph.com/docs/master/rados/operations/placement-groups/|ici]].</note>  <note>Le nombre //200// utilisé lors de la création du pool libvirt correspond aux nombres de //Placement Group// calculé selon la méthode officielle expliqué [[http://ceph.com/docs/master/rados/operations/placement-groups/|ici]].</note> 
- 
-  * On créé un fichier //XML /tmp/rbd-pool.xml// qui nous permettra de définir le pool au niveau de libvirt : <code><pool type="rbd"> 
-      <name>rbd</name> 
-      <source> 
-        <name>libvirt</name> 
-          <host name='192.168.0.1' port='6789'/> 
-          <host name='192.168.0.2' port='6789'/> 
-          <host name='192.168.0.3' port='6789'/> 
-          <auth username='libvirt' type='ceph'> 
-            <secret uuid='9b*******************************27e'/> 
-          </auth> 
-      </source> 
-</pool></code> 
- 
-  * On créé le pool dans libvirt à partir du fichier *XML* : <code>virsh pool-define /tmp/rbd-pool.xml 
-scp /tmp/rbd-pool.xml 192.168.0.2:/tmp/ 
-ssh 192.168.0.2 "virsh pool-define /tmp/rbd-pool.xml" 
-scp /tmp/rbd-pool.xml 192.168.0.3:/tmp/ 
-ssh 192.168.0.3 "virsh pool-define /tmp/rbd-pool.xml"</code> 
- 
  
 On peut désormais utiliser un volume //ceph// en tant que disque d'une machine virtuelle. Pour cela, voila un exemple de configuration d'un disque //ceph// d'une machine virtuelle : On peut désormais utiliser un volume //ceph// en tant que disque d'une machine virtuelle. Pour cela, voila un exemple de configuration d'un disque //ceph// d'une machine virtuelle :
Ligne 343: Ligne 340:
     </disk></code>     </disk></code>
  
-  +<note>Pour attacher un disque ceph à une VM en cours d'exectution, créé un fichier xml contenant juste la déclaration du disque (juste la balise //<disk/>//) et ajouter le disque ensuite avec la commande suivante : <code>virsh attach-device [nom-vm] [/chemin/fichier.xml] --persistent</code>L'option //--persitent// permet que ce disque soit systématiquement attaché à la VM au moment de son démarrage.</note> 
 +===== Supervision de Ceph avec Nagios ===== 
 + 
 +On va mette ici en place trois checks différent : 
 + 
 +  * //check_ceph_health// : ce plugin vérifie simplement l'état général du cluster avec la commande //ceph health// 
 +  * //check_ceph_status// : ce plugin vérifie l'état général du cluster (//health//, nombre d'OSDs UP, nombre de MONs UP et l'état des PGs) avec la commande //ceph status// 
 +  * //check_ceph_usage// : ce plugin vérifie l'espace disque utilisé dans le cluster via la commande //ceph status// 
 + 
 +Mise en place : 
 + 
 +  * Création d'une clé //authx// pour Nagios (à faire sur //ceph1//) : <code>ceph auth get-or-create client.nagios mon 'allow r' > /etc/ceph/ceph.client.nagios.keyring 
 +scp /etc/ceph/ceph.client.nagios.keyring 192.168.0.2:/etc/ceph/ 
 +ssh root@192.168.0.2 'chown nagios: /etc/ceph/ceph.client.nagios.keyring' 
 +scp /etc/ceph/ceph.client.nagios.keyring 192.168.0.3:/etc/ceph/ 
 +ssh root@192.168.0.3 'chown nagios: /etc/ceph/ceph.client.nagios.keyring'</code> 
 + 
 +  * Installation du plugin : <code>git clone https://github.com/valerytschopp/ceph-nagios-plugins.git /usr/local/src/ceph-nagios-plugins 
 +mkdir -p /usr/local/lib/nagios/plugins 
 +ln -s /usr/local/src/ceph-nagios-plugins/src/check_ceph_health /usr/local/lib/nagios/plugins/check_ceph_health 
 + 
 +git clone http://git.zionetrix.net/git/check_ceph_usage /usr/local/src/check_ceph_usage 
 +ln -s /usr/local/src/check_ceph_usage/check_ceph_usage /usr/local/lib/nagios/plugins/check_ceph_usage 
 + 
 +git clone http://git.zionetrix.net/git/check_ceph_status /usr/local/src/check_ceph_status 
 +ln -s /usr/local/src/check_ceph_status/check_ceph_status /usr/local/lib/nagios/plugins/check_ceph_status</code> 
 + 
 +  * Définition de la configuration du //check// d'//NRPE// (à mettre dans le fichier ///etc/ceph/ceph.client.nagios.keyring// par exemple) : <code>command[check_ceph_health]=/usr/local/lib/nagios/plugins/check_ceph_health -d -i nagios -k /etc/ceph/ceph.client.nagios.keyring 
 +command[check_ceph_usage]=/usr/local/lib/nagios/plugins/check_ceph_usage -i nagios -k /etc/ceph/ceph.client.nagios.keyring --warning-data 50 --critical-data 60 --warning-allocated 80 --critical-allocated 90 
 +command[check_ceph_status]=/usr/local/lib/nagios/plugins/check_ceph_status -i nagios -k /etc/ceph/ceph.client.nagios.keyring</code> 
 + 
 +  * Rechargement de la configuration d'NRPE pour appliquer la modification : <code>service nagios-nrpe-server reload</code> 
 + 
 +<note>La supervision de l'état du cluster peut normalement être fait sur un seul des nœuds du cluster. Vous pouvez par exemple configurer une //VIP// (avec [[informatique:systeme:ha:pacemaker]] par exemple) sur le cluster pour faire la supervision sur celle-ci uniquement.</note>
  • informatique/systeme/ha/ceph.1385498634.txt.gz
  • Dernière modification : 2013/11/26 20:43
  • de bn8