Server/storage-ng: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 116: | Zeile 116: | ||
[[Datei:ceph-user-mgt.png]] | [[Datei:ceph-user-mgt.png]] | ||
Eine gute Dokumentation für die Nutzerweinrichtung und das Rechtemanagement befindet sich [https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/administration_guide/ceph-user-management hier] | |||
Um Zugriff auf den Storage Cluster zu erhalten muss man einen Schlüsselbund erstellen. | Um Zugriff auf den Storage Cluster zu erhalten muss man einen Schlüsselbund erstellen. |
Version vom 5. Januar 2022, 07:16 Uhr
Storage-NG
Storage-ng nutzt ceph um einen verteilten Speicher anzubieten.
storage-ng.hq.c3d2.de
Um es einfach zu machen den storage zu erreichen, kann man storage-ng.hq.c3d2.de nutzten. Er bietet verschiedene Dienste an, um das darunter liegdende Dateisystem zu erreichen.
* http * samba * tftp * TODO: webdav
Es eine virtuelle Machine im HA modus die direkt auf der Storage Hardware läuft.
Konfiguration über nixos.
Tips
Der default storage pool für das cephfs ist auf mäßige Geschwindigkeit ausgelegt, nicht auf Effizienz. Um ein Verzeichnis effizient zu nutzen kann der archive pool genutzt werden:
setfattr -n ceph.dir.layout.pool -v cephfs_archive [folder]
Siehe auch Ceph Docu
Leider beim Schreiben spürbar langsamer. Wenn es schnell gehen soll in ein normales Verzeichnis schieben und dann auf storage im screen verschieben.
CephFS
Ceph ist ein verteiltes Dateisystem über mehrere Nodes, daher spricht man auch von einem Ceph Cluster.
Eine gute Einführung über die Grundlagen und Architektur von CephFS erhält man unter [1]
Es gibt 4 verschiedenen Zugriffswege auf den Ceph-Storage
- radosgw
- RADOS Block Device
- CephFS
- librados
Dashboard
Um sich eine einfache Übersicht zu verschaffen sei auf das Ceph-Dashboard verwiesen. Mit dem Nutzer k-ot einloggen. Das Dashboard bietet eine guten Überblick über alle involvierten Server und kann einem die Hosts, OSDs, Crush-Maps, Pools und viele weitere Details mit samt Konfiguration im Browser darstellen.
Pools
Daten sind in unterschiedlichen Pools organisiert die unterschiedliche Charakteristiken besitzen.
rados lspools
ceph osd lspools
Name | Funktion | Hardware | Replikation |
---|---|---|---|
vms | Backing store für VMS | z.Z. alle SAS und ~300 GB Platten | replicated_osd (soll replicated_rule) |
cephfs_data | Default storage fur cephfs | alle 2 TB+ Plaaten. | cephfs_data (mirror 1/2) |
cephfs_archive | Langsamer aber effizienter backing store | alle 2 TB+ Plaaten. | cephfs_archive (~raid5 k=2 m=1) |
cephfs_metadata | Metadata cephfs | SSD von allen Servern. | cephfs_metadata (mirror 2/3) |
Hardware Server
Alle Server des Verbundes nehmen proxmox als Betriebsystem.
Server | Hardware | Services | Bemerkungen |
server3.hq.c3d2.de | osd, mon, mds | Default für storage VM | |
server4.hq.c3d2.de | osd, mon | ||
server5.hq.c3d2.de | osd, mon, mds |
Nutzerverwaltung
Eine gute Dokumentation für die Nutzerweinrichtung und das Rechtemanagement befindet sich hier
Um Zugriff auf den Storage Cluster zu erhalten muss man einen Schlüsselbund erstellen.
Beispiel für einen neuen Nutzer fnord
ceph-authtool --create-keyring /etc/ceph/ceph.client.fnord.keyring --gen-key -n client.fnord
Als nächstes geben wir dem neu erstellten Nutzer die Berechtigungen:
ceph-authtool -n client.fnord --cap mds 'allow' --cap osd 'allow rw pool=cpool_data' --cap mon 'allow r' /etc/ceph/ceph.client.fnord.keyring
gibt fnord die Möglichkeit schreibend und lesend auf den *cpool_data* zu zugreifen
Danach importieren wir den Schlüssel:
ceph auth import -i /etc/ceph/ceph.client.fnord,keyring
Wir können uns vom Erfolg der Einrichtung überzeugen in dem wir folgendes eingeben
ceph auth get client.fnord
[client.fnord] key = XXXXXXXXXXXXXXXXXXXXX caps mds = "allow" caps mon = "allow r" caps osd = "allow rw pool=cpool_data]]"
Das secret sollte in eine Datei geschrieben werden und auf den Client verschoben werden
ceph auth print-key client.fnord > /path/to/secret-file
Nun kann der Storage gemounted werden (Dafür muss man sich im Netz des C3D2 befinden):
mount.ceph 172.20.77.5,172.20.77.6,172.20.77.8:/ /mnt/hq/ceph -o name=fnord,secretfile=/path/to/secret-file
Einhängen vom CephFS
Folgende Optionen für das Einhängen zu setzen:
172.22.99.13:6789,172.22.99.15:6789,172.22.99.16:6789:/ on /mnt/pve/cephfs type ceph (rw,relatime,name=admin,secret=<hidden>,acl,wsize=16777216,_netdev) 172.22.99.13:6789,172.22.99.15:6789,172.22.99.16:6789:/ on /mnt/pve/cephfs-backups type ceph (rw,relatime,name=admin,secret=<hidden>,acl,wsize=16777216,_netdev) 172.22.99.13:6789,172.22.99.15:6789,172.22.99.16:6789:/ on /mnt/pve/cephfs-iso type ceph (rw,relatime,name=admin,secret=<hidden>,acl,wsize=16777216,_netdev)