ict-architecture

Labo 04: CephFS Shared Storage

Installatie en configuratie van MicroCeph voor gedistribueerde bestandssystemen.

MicroCeph Installatie

sudo snap install microceph
Installeer MicroCeph via snap (op alle nodes).
sudo microceph cluster bootstrap
Start de cluster op de eerste node (bootstrap).
sudo microceph cluster add <HOSTNAME>
Genereer een join-token voor een nieuwe node (op node 1).
sudo microceph cluster join <TOKEN>
Voeg een nieuwe node toe aan de cluster.

Opslag & CephFS

sudo microceph disk add /dev/sdb --wipe
Voeg een harde schijf toe aan de Ceph opslagpool.
sudo microceph enable cephfs
Schakel de CephFS functionaliteit in (enkel op de eerste node).

Mounting

sudo ceph auth get-key client.admin
Haal de admin auth key op om te kunnen mounten.
sudo ceph mon dump
Haal de monitor IP-adressen op.
sudo mount -t ceph <MON_IP1>,<MON_IP2>:/ /mnt/mycephfs -o name=admin,secret=<AUTH_KEY>
Mount de gedeelde storage lokaal op het systeem.

Bestanden & Configuraties

traefik-cephfs.yaml
yaml
version: '3.8'
services:
traefik:
image: traefik:v3.1
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.swarmMode=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "/mnt/mycephfs/traefik/acme.json:/acme.json"
networks:
- traefik-public
deploy:
replicas: 2
placement:
constraints:
- node.role == manager
networks:
traefik-public:
external: true
Traefik configuratie met gedeelde acme.json op CephFS.