close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 5 years ago

Closed 4 years ago

#4469 closed Defekt (erledigt)

GlusterFS auf paedml einbinden

Reported by: Rüdiger Kupper Owned by: bau
Priority: schnell erledigen Milestone: Fileserver: Gluster eingebunden über paedml
Component: Server: Fileserver Severity: beeinträchtigt den Unterricht einiger Lehrer
Keywords: Cc: bau

Description

Primär muss erst einmal der paedml auf unsere zwei Gluster-Volumnes "fast-storage" und "slow-storage" zugreifen. Das sollte am Besten über das native GlusterFS passieren.

Da haben wir ein kleines Problem: Der GlusterFS-Client wird für Ubuntu über ein PPA zur Verfügung gestellt. Unser Linuxmuster 6.2 basiert auf Ubuntu 12.04 LTS. Das PPA bietet Pakete aber erst ab Ubuntu 16.04. Das kommt aber erst mit Linuxmuster 7.

Mögliche Abhilfe:

  • Nicht die Ubuntu-spezifischen, sondern die allgemeinen Debian-Pakete verwenden (keine Ahnung, ob das passt?
  • Die Gluster-Volumes über das Gluster-NFS-Interface einbinden (nicht optimal)
  • Auf LML 7 updaten ;-).

Change History (20)

comment:1 by Rüdiger Kupper, 5 years ago

Okay, ich habe Option 1 ausprobiert: Der Server "download.gluster.org" kann nicht erreicht werden, weil das SSL-Zertifikat nicht überprüft werden kann. Grund ist wohl ein fehlendes Root-Zertifikat auf dem paedml, da Letsencrypt im September 2021 auf ein neues Root-Zertifikat umgestiegen ist.

Siehe:

Der paedml braucht also wohl ein Update der SSL-Root-Zertifikate. Da will ich aber nicht einfach so dran herumbasteln.

comment:2 by Rüdiger Kupper, 5 years ago

Aber selbst dann wüsste ich nicht, die Pakete für welche Debian-Version ich eibinden sollte?
​https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/

Glaube irgendwie nicht, dass das funktioniert.

Es gibt auch ein glusterfs-client-Paket in den Standard-Paketquellen von Ubuntu 12.04. Das ist jedoch völlig veraltet (Gluster Version 3, aktuell ist Version 10). Damit gelingt es mir auch nicht, unsere Gluster-Volumes einzubinden:

2022-04-23 18:05:23.162489] I [glusterfsd.c:1493:main] 0-/usr/sbin/glusterfs: Started running /usr/sbin/glusterfs version 3.2.5
[2022-04-23 18:05:23.170076] E [glusterfsd-mgmt.c:621:mgmt_getspec_cbk] 0-glusterfs: XDR decoding error
[2022-04-23 18:05:23.170147] E [glusterfsd-mgmt.c:695:mgmt_getspec_cbk] 0-mgmt: failed to fetch volume file (key:/fast-storage)
[2022-04-23 18:05:23.170309] W [glusterfsd.c:727:cleanup_and_exit] (-->/usr/lib/libgfrpc.so.0(rpc_clnt_notify+0x7d) [0x7fc427d0684d] (-->/usr/lib/libgfrpc.so.0(rpc_clnt_handle_reply+0xa5) [0x7fc427d05ec5] (-->/usr/sbin/glusterfs(mgmt_getspec_cbk+0x2fd) [0x7fc4283a8e3d]))) 0-: received signum (0), shutting down
[2022-04-23 18:05:23.170335] I [fuse-bridge.c:3727:fini] 0-fuse: Unmounting '/mnt/gluster/fast-storage'.

Ich vermute mal, der "XDR error" ist auf die inkompatible Gluster-Version zurückzuführen …

comment:3 by bau, 5 years ago

Möglich ist natürlich, die Volumes auf dem ProxmoxPaedml einzubinden und weiterzureichen. Falls der veraltet wäre, wäre ein Upgrade auf den aktuellen ProxMox möglich (lagert ja einfach auf einer SSD).

comment:4 by Rüdiger Kupper, 5 years ago

Okay, nächster Versuch: Glusterfs-Client aus den Sourcen kompilieren.

./configure scheitert mit

checking for malloc in -ltcmalloc_minimal... no
configure: error: tcmalloc library needs to be present

Installieren des neusten Pakets in den Ubuntu-12.04-Quellen "libtcmalloc-minimal0" behebt das Problem leider nicht – auch diese Bibliothek ist wohl zu alt.

in reply to:  3 comment:5 by Rüdiger Kupper, 5 years ago

Replying to bau:

Möglich ist natürlich, die Volumes auf dem ProxmoxPaedml einzubinden und weiterzureichen. Falls der veraltet wäre, wäre ein Upgrade auf den aktuellen ProxMox möglich (lagert ja einfach auf einer SSD).

Gute Idee, das könnte die Lösung sein!
Heute geht mir nur leider die Zeit aus …

comment:6 by Rüdiger Kupper, 5 years ago

Der proxmoxpaedml hat erst mal das gleiche Problem mit dem Zertifikat:

root@proxmoxpaedml:~# wget -O - https://download.gluster.org/pub/gluster/glusterfs/10/rsa.pub | apt-key add -
converted 'https://download.gluster.org/pub/gluster/glusterfs/10/rsa.pub' (ANSI_X3.4-1968) -> 'https://download.gluster.org/pub/gluster/glusterfs/10/rsa.pub' (UTF-8)
--2022-04-23 19:17:26--  https://download.gluster.org/pub/gluster/glusterfs/10/rsa.pub
Resolving proxyl.kg-fds.de (proxyl.kg-fds.de)... 129.143.4.2
Connecting to proxyl.kg-fds.de (proxyl.kg-fds.de)|129.143.4.2|:8080... connected.
ERROR: The certificate of 'download.gluster.org' is not trusted.
ERROR: The certificate of 'download.gluster.org' has expired.
gpg: no valid OpenPGP data found.

Apt update zeigt aber auch 213 zu aktualisierende Pakete an. Kann man da ein "apt upgrade" wagen, oder ist das zu heikel? Nicht, dass wir den paedml abschießen.

comment:7 by Rüdiger Kupper, 5 years ago

Eins der Pakete ist "ca-certificates/oldoldstable 20141019+deb8u4 all [upgradable from: 20141019+deb8u2]". Das dürfte es doch sein?

comment:8 by Rüdiger Kupper, 5 years ago

Und ich sehe gerade: der proxmoxpaedml läuft auf Debian 8, die frühesten Gluster-Pakete gibt es für Debian 9.

comment:9 by Rüdiger Kupper, 5 years ago

Debian 8 hatte übrigens EOL-Datum 2020-06-30.

Die vier Gluster-Server laufen mit Debian 10, da ist EOL vorgesehen für 2022-08, das ist auch nicht mehr lang.

Siehe ​https://wiki.debian.org/DebianReleases

comment:10 by bau, 5 years ago

Ein Upgrade des ProxMox ist recht simpel, das System lagert auf einer 40GB SSD, diese kann vorab mit dem neuesten ProxMox vorbereitet werden (Raid und LVM2 müssen da sein), danach müssen die Netzwerk und Maschinendefinitionen (benutzt ein Datenbank-FS, siehe https://paedml.kg-fds.de/trac/wiki/AdminProxMox) drauf und dann kann man die SSD einfach austauschen.

Bei ProxMoxPaedml:

  • System-LV: pve
  • Storage: pve1
  • Storage (Schüler-Platte): homestudent

Beim Neu-Aufsetzen:

  • LV auf der SSD muss wieder pve heißen (das ist der Standard!)
  • /var/lib/pve-cluster/config.db vom aktuellen ProxMoxPaedml kopieren
  • /etc/network/interfaces kopieren
  • Umstellen auf 1x10GE NIC?
  • Wir könnten den Server auch gleich umziehen auf eine DELL T3500 Workstation (INTEL XEON = 6x 3,4GHz => 12 Threads)
Last edited 5 years ago by bau (previous) (diff)

comment:11 by Rüdiger Kupper, 5 years ago

Bietet Proxmox nicht auch einen eigenen Befehl, um das System zu aktualisieren? Habe so was in Erinnerung. Wichtig ist halt, dass wir bei mindestens Debian 9 landen.

Last edited 5 years ago by Rüdiger Kupper (previous) (diff)

in reply to:  10 comment:12 by Rüdiger Kupper, 5 years ago

Replying to bau:

Ein Upgrade des ProxMox ist recht simpel, das System lagert auf einer 40GB SSD, diese kann vorab mit dem neuesten ProxMox vorbereitet werden (Raid und LVM2 müssen da sein), danach müssen die Netzwerk und Maschinendefinitionen (benutzt ein Datenbank-FS, siehe https://paedml.kg-fds.de/trac/wiki/AdminProxMox) drauf und dann kann man die SSD einfach austauschen.

Bei ProxMoxPaedml:

  • System-LV: pve
  • Storage: pve1
  • Storage (Schüler-Platte): homestudent

Beim Neu-Aufsetzen:

  • LV auf der SSD muss wieder pve heißen (das ist der Standard!)
  • /var/lib/pve-cluster/config.db vom aktuellen ProxMoxPaedml kopieren
  • /etc/network/interfaces kopieren
  • Umstellen auf 1x10GE NIC?
  • Wir könnten den Server auch gleich umziehen auf eine DELL T3500 Workstation (INTEL XEON = 6x 3,4GHz => 12 Threads)

Die Maßnahmen klingen ohnehin nicht übel, das wäre schon mal ein erster Schritt hin zum paedml-Upgrade. Schnellere NIC und mehr Prozessorkraft kann der auch gut gebrauchen. Aber wie schnell können wir das umsetzen? Eigentlich wollte ich, dass jetzt schon der Datentransfer vom paedml zu Gluster läuft...

Last edited 5 years ago by Rüdiger Kupper (previous) (diff)

comment:13 by Rüdiger Kupper, 5 years ago

comment:14 by bau, 5 years ago

Ja, ich denke, das solltest du mal probieren. Denn, selbst wenn wir das auf den ProxMox einbinden ist es noch lange nicht in der VM - da gibt es zwar anscheinend mittlerweile Lösungen (virtio), dazu ist Ubuntu 12.04 aber auch schon wieder zu alt.

comment:15 by bau, 5 years ago

Es ist also ernsthaft zu überlegen, wann wir auf LML7 umsteigen.

comment:16 by Rüdiger Kupper, 5 years ago

Noch eine Idee: Vielleicht gibt es irgendwo einen Backport einer aktuellen tcmalloc-Bibliothek für 12.04 (Precise Pangolin)?

Die Bibliothek scheint Teil diees Paketes zu sein:
​https://launchpad.net/ubuntu/+source/google-perftools

Ganz unten auf der Seite ist ein "untrusted archive" erwähnt, dass einen Backport für Precise hat:
​https://launchpad.net/~openstack-ubuntu-testing/+archive/ubuntu/icehouse

Das PPA enthält "google-perftools" Version 2.1-2ubuntu1.1~cloud0. Ob das ausreichend ist: keine Ahnung.

comment:17 by Rüdiger Kupper, 5 years ago

Version 0, edited 5 years ago by Rüdiger Kupper (next)

comment:18 by Rüdiger Kupper, 5 years ago

Hier ist noch ein PPA mit Backport:
​https://launchpad.net/~yuriy-tsyba/+archive/ubuntu/ruby-tcmalloc?field.series_filter=precise

Enthält google-perftools 2.5-1ubuntu2~precise1~ppa1

comment:19 by Rüdiger Kupper, 5 years ago

Ich werde mir mal ein 12.04 in Virtualbox installieren und schauen, ob ich GlusterFS mit den Backports compiliert bekomme.

comment:20 by Rüdiger Kupper, 4 years ago

Resolution: → erledigt
Status: new → closed

Compilieren war mit passenden Optionen und nach Installieren verschiedener Abhängigkeiten erfolgreich.

Einige Infos (aus dem Developer-Manual, aktueller als im Admin-Manual):
​https://docs.gluster.org/en/main/Developer-guide/Building-GlusterFS/

Compile-Optionen:

./autogen.sh
./configure --disable-linux-io_uring --with-libtirpc=no
make
make install
ldconfig
Last edited 4 years ago by Rüdiger Kupper (previous) (diff)
Note: See TracTickets for help on using tickets.