« Ceph » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 36 : | Ligne 36 : | ||
chmod +x cephadm | chmod +x cephadm | ||
Je pourrais utiliser le script tel quel, mais je vais l'installer. | Je pourrais utiliser le script tel quel, mais je vais l'installer ainsi que la dépendance ceph-common. | ||
./cephadm add-repo --release pacific | ./cephadm add-repo --release pacific | ||
./cephadm install | ./cephadm install |
Version du 18 avril 2022 à 10:47
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.
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.
AJOUTER LES PORTS à OUVRIR
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 ainsi que la dépendance ceph-common.
./cephadm add-repo --release pacific ./cephadm install ./cephadm install ceph-common
Initialisation du cluster
Toujours sur ceph-mon, je vais commencer le cluster, à commencer par le monitor. Il faut lui dire d'utiliser docker et pas podman.
sudo cephadm --docker bootstrap --mon-ip 192.168.1.208