« Ceph » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 20 : | Ligne 20 : | ||
Je vais ici passer par la méthode CephADM, qui est l'installation en mode paquet. Il existe aussi Rook, qui permet une installation sur un cluster k8s. | Je vais ici passer par la méthode CephADM, qui est l'installation en mode paquet. Il existe aussi Rook, qui permet une installation sur un cluster k8s. | ||
CephADM est un script qui, sur le même principe qu'Ansible, va se connecter en SSH aux machines pour les bootstraper. Il doit donc avoir un accès en SSH aux machines avec les droits sudo, le tout sans mdp. | PAS SUR | ||
CephADM est un script qui, sur le même principe qu'Ansible, va se connecter en SSH aux machines pour les bootstraper. Il doit donc avoir un accès en SSH aux machines avec les droits sudo, le tout sans mdp. En outre, il est assez exigeant sur un certain nombre de choses : il ne fonctionne pas depuis un conteneur lxc (en tout cas, je n'ai pas réussi). Dans les exigences, Ceph n'as pas non plus l'air d'aimer que les machines aient de noms qui soient des fqdn. | |||
/PAS SUR | |||
Outre les [https://docs.ceph.com/en/latest/start/hardware-recommendations/ Prérequis hardware], les prérequis pour notre cluster sont: | Outre les [https://docs.ceph.com/en/latest/start/hardware-recommendations/ Prérequis hardware], les prérequis pour notre cluster sont: | ||
Ligne 28 : | Ligne 30 : | ||
* Une synchro temporelle | * Une synchro temporelle | ||
* LVM est recommandé pour gérer notre stockage. | * LVM est recommandé pour gérer notre stockage. | ||
Les ports à ouvrir sont: | |||
Pour ceph-mon: | |||
* 3300 and 6789 (tcp) | |||
=== Mise en place avec ceph-adm === | === Mise en place avec ceph-adm === | ||
Je pars de | Je pars de ma machine ceph-mon. | ||
Je récupère le script d'install: | Je récupère le script d'install: | ||
Ligne 41 : | Ligne 47 : | ||
=== Initialisation du cluster === | === Initialisation du cluster === | ||
Toujours depuis mon adm, je vais initialiser mon cluster | Toujours depuis mon adm, je vais initialiser mon cluster en créatn un ceph-mon sur la machine locale. |
Version du 18 avril 2022 à 09:07
Sources
Présentation
Wikipédia : "Ceph est une solution libre de stockage distribué (software-defined storage) très populaire qui propose trois protocoles en un avec : Bloc, Fichiers & Objet (S3). Les objectifs principaux de Ceph sont d'être complètement distribués sans point unique de défaillance, extensible jusqu'à l'exaoctet et librement disponible. Les données sont répliquées, permettant au système d'être tolérant aux pannes."
Ceph permet de disposer d'un cluster de partage de fichiers assez efficace et manageable. Il est associé à son propre FS, CephFS.
Une architecture Ceph peut contenir plusieurs rôles:
- Une machine d'administration (ceph-mgr), où l'on installera Ceph-adm. Celle-ci servira à bootstraper les autres. Celle-ci suit les métriques du cluster et orchestre le cluster; elle fournit aussi
- Une machine ceph-mon (monitor), qui maintient une série de maps de l'état du cluster. Celles-ci sont critiques pour que les daemon Ceph puissent se coordonner. Les monitors gèrent aussi l'authentification entre les daemons et les clients. Il en faut au moins 3 pour avoir de la redondance et de la haute dispo.
- Des OSD (Object Storage Daemon), qui stockent les données, s'occupent des réplications et de la recovery. Il en faut au moins 3 pour avoir de la redondance et de la HA.
- Des serveurs MDS (Metadata Server). Ils stockent les métadonnées pour CephFS. Cela permet à un système POSIX de lancer des commandes comme ls, find... sans placer une grosse charge sur les MDS.
Une seule machine peut recouvrir plusieurs rôles, notamment dans le cadre d'un lab.
Installation
Je vais ici passer par la méthode CephADM, qui est l'installation en mode paquet. Il existe aussi Rook, qui permet une installation sur un cluster k8s.
PAS SUR CephADM est un script qui, sur le même principe qu'Ansible, va se connecter en SSH aux machines pour les bootstraper. Il doit donc avoir un accès en SSH aux machines avec les droits sudo, le tout sans mdp. En outre, il est assez exigeant sur un certain nombre de choses : il ne fonctionne pas depuis un conteneur lxc (en tout cas, je n'ai pas réussi). Dans les exigences, Ceph n'as pas non plus l'air d'aimer que les machines aient de noms qui soient des fqdn. /PAS SUR
Outre les Prérequis hardware, les prérequis pour notre cluster sont:
- Python 3
- Systemd
- Docker
- Une synchro temporelle
- LVM est recommandé pour gérer notre stockage.
Les ports à ouvrir sont: Pour ceph-mon:
- 3300 and 6789 (tcp)
Mise en place avec ceph-adm
Je pars de ma machine ceph-mon.
Je récupère le script d'install:
curl --silent --remote-name --location https://github.com/ceph/ceph/raw/pacific/src/cephadm/cephadm chmod +x cephadm
Je pourrais utiliser le script tel quel, mais je vais l'installer.
./cephadm add-repo --release pacific ./cephadm install
Initialisation du cluster
Toujours depuis mon adm, je vais initialiser mon cluster en créatn un ceph-mon sur la machine locale.