Ceph & Proxmox 3.x

De $1

 howto05_small.pngInstaller un storage Ceph sur un cluster Proxmox

Ca y est ! Proxmox intègre Ceph comme espace de stockage distribué et on peut faire presque tout via l'interface web !!!!

En plus c'est simple, que du bonheur ...

 

question01.png

Pourquoi Ceph ?        

Ceph est une architecture de stockage distribué à haute tolérance aux pannes développée pour la virtualisation. Les données y sont répliquées autant de fois que vous le souhaitez (fonction des paramétrages des pools créés). Il est très souple, il vous suffit de rajouter des disques dans le volume et il augmente de façon dynamique.

Vous avez besoin de puissance et d'espace disque supplémentaire pour votre ferme d'hyperviseurs ?

Rajoutez un serveur avec les disques qui vont bien et tout naturellement, votre volume Ceph augmentera, votre puissance de calcul avec et votre sécurisation aussi ...

Vous devez remplacer votre vieux serveur ?

Connectez votre nouveau serveur au cluster Proxmox, intégrez les disques au volume Ceph, migrez vos VMs, supprimez les disques de votre ancien serveur du volume Ceph, supprimez votre ancien serveur du cluster Proxmox, éteignez le et c'est fini ...

Pas de coupure d'activité, pas de longues soirées d'hiver devant vos serveurs, il "gère" tout seul. Que demande le peuple ?

 

La question "Steven" : Comment ça marche Ceph ?

exclamationpoint01.png

        Bon, j'ai un ami qui m'a appelé en disant : " C'est dommage, t'expliques pas comment ça marche !"...

.. C'est fait Steven !

Comme ceci (à peu d'choses prêt) :

ceph-proxmox-01.png

 

 

Pour faire simple :

Ceph est ici composé de 2 services :

Le MON (monitor) :

Il gére la surveillance des "OSD" (disques durs faisant partie du volume Ceph), la redondance des différents "Pools" (volumes virtuels servant à l'hébergement des VMs)

L' OSD

Il s'agit du disque dur qui fera parti du volume Ceph

A savoir :

Les MONs fonctionnent de façon "démocratique", en cas de défaillance, la majorité l'emporte. Il en faut donc toujours un nombre impair.

Les OSDs peuvent être de taille différente.

Principe de fonctionnement :

1°) On crée les monitors (Ils vont gérer l'ensemble du volume Ceph).

2°) On intégre tous les disques durs pour créer un volume Ceph.

3°) On crée le ou les "Pools" avec leurs stratégies de réplication. 

4°) On connecte Proxmox (ou tout autre hyperviseur intégrant l'API Ceph) aux Pools.

Les MONs gèrent la redondance des données en fonction des paramétrages des pools, surveillent la disponibilité des OSDs et redupliquent les données si un OSD s'avère être défaillant. 

PS : Si votre hyperviseur n'intègre pas l'API Ceph (ben pas d'bol !), il faudra installer un "client Ceph" (mais là j'ai pas encore testé, j'suis sous Proxmox).

 

exclamationpoint01.png

        Le gros atout de Proxmox est qu'il intègre nativement Ceph, il peut donc être Hyperviseur, Volume de stockage ou les 2.

 

 

Pré-requis

3 serveurs equipés au minimum de :

2 cartes réseaux giga 

1 Vlan Admin (ici : 10.114.14.0/24)

1 Vlan Storage (ici : 10.14.14.0/24)

 

2 disques dur 

1 Système

1 Ceph

 

Configuration conseillée

3 serveurs

2 cartes réseau Giga pour le Vlan Admin / serveur

2 cartes réseau 10 Giga pour le Vlan Ceph / serveur

1 maximum de disques durs (prévoir 1 Go de Ram consommée par osd Ceph)

 

ceph-proxmox-archi.png

 howto05_small.pngInstallation de Proxmox

Ne pas hésiter à lire ce tuto : Installation et configuration de Proxmox 2.x

Sur tous les nodes :

install-proxmox-01.png

install-proxmox-03.png

 

install-proxmox-04.png

 

install-proxmox-05.png

 

install-proxmox-06.png

 

 

install-proxmox-ip.png

 

install-proxmox-07.png

 

 howto05_small.pngParamétrage des Updates

 

exclamationpoint01.png

        N' hésitez pas à souscrire un contrat de maintenance, ça contribue à l'évolution des développements de Proxmox et ça les fait vivre... (Ils ne sont pas très cher).

En plus ça vous évitera les modifications qui suivent et le message à chaque connexion. 

Sur tous les nodes :

nano /etc/apt/sources.list.d/pve-enterprise.list

 

update-proxmox-01.png

 

Commenter la ligne et rajouter :

deb http://download.proxmox.com/debian wheezy pve-no-subscription

 

update-proxmox-02.png

 

Enregister et quitter puis exécuter :

apt-get update && apt-get dist-upgrade -y

 

update-proxmox-12.png

 

Reboot  

 

 howto05_small.pngConfiguration réseau

Configuration du Vlan Stockage sur chacun des 3 nodes

Prox01 :

reseau-proxmox-01a.png

Prox02 :

reseau-proxmox-03a.png

Prox03 :

reseau-proxmox-04a.png

 

  Reboot des 3 nodes

 

 howto05_small.pngCréation du cluster Proxmox

 Sur Prox01 : 

pvecm create cluster

 

 cluster-proxmox-01.png

 

cluster-proxmox-02.png

 

Vérification :

pvecm status 

 

cluster-proxmox-03.png

 

Sur Prox02 & Prox03 :

pvecm add 10.114.14.100

 

 

cluster-proxmox-04.png

 

cluster-proxmox-05.png

 

cluster-proxmox-06.png

 

cluster-proxmox-07.png

 

On obtient ceci sur l'interface web de Proxmox :

 

cluster-proxmox-09a.png

 

 

 

 

 howto05_small.pngInstallation de Ceph

Sur tous les nodes : 

pveceph install

 

ceph-proxmox01.png

 

 howto05_small.pngInitialisation de Ceph

 Sur Prox01 :

pveceph init --network 10.14.14.0/24

 

ceph-proxmox-02.png

 

 howto05_small.pngCréation des MONs

Reste à créer les 3 monitors.

Sur les 3 nodes : 

pveceph createmon

 

ceph-proxmox-03.png

 

On peut voir le cluster ceph sur l'interface web dans l'onglet "Ceph"

 

ceph-proxmox-05a.png

 

Les 3 monitors...

ceph-proxmox-06a.png

 

 howto05_small.pngCréation des OSDs

On crée les OSDs sur chacun des 3 nodes : 

ceph-proxmox-07a.png

 

ceph-proxmox-08a.png

 

ceph-proxmox-09a.png

 

 

Ce qui nous donne ceci :

ceph-proxmox-10a.png

 

 howto05_small.pngCréation du volume RBD

On crée le "Pool"

ceph-proxmox-16a.png 

 

ceph-proxmox-14a.png

 

exclamationpoint01.pngpg_num : nombre d'Osd x 100 / nombre de replica puis puissance de 2 supérieure (perso je choisis des tailles "mémoire" : 64, 128, 256, 512, 1024..)

 

ceph-proxmox-15a.png

 

Copie des clés.

mkdir /etc/pve/priv/ceph

cp /etc/pve/priv/ceph.client.admin.keyring /etc/pve/priv/ceph/Rbdvol.keyring

 

ceph-proxmox-13.png

 

 howto05_small.pngConnexion des nodes au volume Rbd

Dans l'interface web : 

ceph-volume-proxmox-01a.png

 

ceph-volume-proxmox-02a.png 

  

 howto05_small.pngVous en pensez quoi ?


 

 

 

 

Enrichissez Yakakliker en y contribuant vous aussi.

 
Images (41)
Voir 1 - 6 sur 41 images | Voir tout
Aucune description
ceph-prox...  Actions
Aucune description
ceph-prox...  Actions
Aucune description
reseau-pr...  Actions
Aucune description
reseau-pr...  Actions
Aucune description
reseau-pr...  Actions
Aucune description
ceph-prox...  Actions
Commentaires (18)
Affichage de 15 commentaires sur 18: voir tout
Bon, je viens de migrer mon cluster pro sous Ceph

6 serveurs Proxmox

2 avec chacun environ 10 To d'espace disque
4 avec chacun environ 2 To d'espace disque

Teaming de cartes reseau (com' y disent chez $Crosoft) etc..

Des retours de benchs prochainement mais les premières impressions sont très bonnes ...
Posté 20:35, 19 Mar 2014
J'ai fais un test avec 1 seul serveur sur lequel je voudrais stocker les templates(ok) et containers(nok).
Cependant, je dois avoir un problème de droit sur le NAS pour la création de containers car toujours en erreur par contre en local cela fonctionne.
Je vais faire des test sur une VM car reboot le serveur etc prends enormement de temps. Je vous tiens informé
Posté 12:46, 23 Mar 2014
Bonjour, je viens de mettre en application le tuto de A à Z et j'ai une erreur lors de la création de VM sur Rbd : Erreur: create failed -rbd error : rbd couldn't connect to the cluster!
Auriez vous une solution?
Posté 14:59, 24 Mar 2014
Quand j'utilise le chemin local tout fonctionne mais pas avec le Rbd
Posté 15:00, 24 Mar 2014
@koopa
Erreur: create failed -rbd error : rbd couldn't connect to the cluster!

Le contenu RBD est bien vu par les nodes ? (bonne taille dispo etc..)
Posté 18:13, 24 Mar 2014
@koopa
Peux-tu detailler un peu plus ta conf ?

Nombre de nodes, nombre de mon, nombre d'osd ..
Posté 18:14, 24 Mar 2014
j'ai fais exactement comme sur le tuto.
j'ai trouvé le souci.
Alors la copie de la key doit ce faire avec : cp /etc/ceph/ceph.client.admin.keyring /etc/pve/priv/ceph/Rbdvol.keyring
puis l'ID du RBD doit avoir le même nom que le pool Rbdvol.
et cela fonctionne!
par contre j'ai un problème lors du lancement de la VM mais je pense que cela doit etre du au fait que je suis deja sur un VM avec un core.
Demain, je me lance avec mes 2 serveurs DELL R410
Posté 20:54, 24 Mar 2014
Super tuto "installer Ceph et proxmox 3.x", simple et efficace, merci ! J4ai juste adapté qques modifs pour que cela fonctionne :
- "Sur Prox02 & Prox03 : pvecm add 10.114.14.100" --> remplacer par 10.14.14.100 (pour utiliser la patte du VLAN storage)
- "multiple de 2 supérieur" --> plutôt "puissance de 2 supérieure"
- "cp /etc/ceph/ceph.client.admin.keyring /etc/pve/priv/ceph/Rbdvol.keyring" --> remplacer Rbdvol.keyring par Rbd.keyring - Dans la dernière étape (ajouter RBD) dans "Monitorer l'hôte" indiquer le port 6789 et séparer les addresses par ";" : 10.14.14.100:6789 ; 10.14.14.101:6789 ; 10.14.14.102:6789 ;

Sinon, nickel, encore merci !
Posté 11:00, 13 Mai 2014
@awer
Merci pour ton petit retour.

- Petite question, n'as tu pas peur d'avoir des surprises en cas de grosse charge réseau si tu associes le "LAN Cluster" avec le "LAN Storage" ?

- Sinon, combien as tu de nodes et as tu fait des bonds de cartes réseau ou as-tu comme normalement préconisé, utilisé une carte 10 Gb pour ton LAN Storage ?

Perso, sur mon cluster pro, j'ai utilisé des cartes réseau 1 Gb en Bond (8x1Gb par serveur pour 4 des 6 serveurs et 4x1 Gb pour les 2 derniers) et pour l'instant ça a l'air satisfaisant. modifié 15:56, 18 Mai 2014
Posté 09:10, 17 Mai 2014
Tuning Ceph :

nano /etc/pve/ceph.conf

Dans la section [osd] :

osd mount options xfs = rw,noatime,inode64,logbsize=256k,logbufs=8,allocsize=4M
osd_op_threads = 4
osd_disk_threads = 4

Redémarrer les osds :

/etc/init.d/ceph stop osd; umount /var/lib/ceph/osd/ceph-* ; /etc/init.d/ceph start osd

Puis injection d'arguments :

ceph tell osd.* injectargs '--osd_op_threads 4'
ceph tell osd.* injectargs '--osd_disk_threads 4'


Lien www :

http://forum.proxmox.com/threads/18552-ceph-performance-and-latency?p=96303#post96303

http://blog.smile.fr/Systeme/Ceph-en-action

http://www.sebastien-han.fr/blog/2012/08/26/ceph-benchmarks/ modifié 10:33, 28 Jun 2014
Posté 07:41, 27 Jun 2014
Tuning Ceph V2 :

[osd]

osd mount options xfs = rw,noatime,nodiratime,inode64,logbsize=256k,logbufs=8
osd_op_threads = 20
osd_disk_threads = 8
osd_recovery_max_active = 1
filestore_max_sync_interval = 120
filestore_queue_max_ops = 3000

>> Meilleurs Iops modifié 14:22, 11 Nov 2014
Posté 07:57, 19 Jul 2014
Autres paramètres à étudier :


filestore_wbthrottle_xfs_ios_hard_limit = 100000

filestore_wbthrottle_xfs_inodes_hard_limit = 100000
Posté 14:33, 25 Jul 2014
Tuning XFS :

Pour chaque osd rajouter cette ligne dans /etc/rc.local en modifiant "sdX" :


echo 4096 > /sys/block/sdX/queue/read_ahead_kb

Source :

http://wiki.skytech.dk/index.php/Ceph_-_howto,_rbd,_lvm,_cluster
http://samiux.wordpress.com/2008/06/12/performance-tunning/ modifié 10:06, 26 Oct 2014
Posté 08:43, 26 Oct 2014
Hello, we have problem with start -ceph , you can help us?
Thank you

Josef
Posté 09:14, 24 Fév 2015
Tuning SSD :

Pour chaque disque OSD :

echo noop > /sys/block/sdX/queue/scheduler

- Editer /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet elevator=noop"

- Mettre a jour le Grub

update-grub2

http://www.sebastien-han.fr/blog/2012/10/29/optimized-your-ssd/ modifié 07:30, 21 Avr 2016
Posté 07:28, 21 Avr 2016
Affichage de 15 commentaires sur 18: voir tout
Vous devez être connecté pour poster un commentaire.