
Ich mounte einen Storage Bucket in ein lokales Verzeichnis. /share
Dann versuche ich, dieses Verzeichnis – nun mit dem Inhalt des Object Stores gefüllt – einer anderen Maschine zugänglich zu machen. Ziel ist, dass diese andere Maschine selbst keinen gcsfuse-Client verwenden muss, sondern auf NFS oder ähnliches zurückgreifen kann.
Ich habe versucht, das gcsfuse-Verzeichnis mit NFS freizugeben /share
. Die NFS-Freigabe hat funktioniert. Aber als ich den Cloud-Speicher-Bucket in die NFS-Freigabe eingebunden habe, hat der Remote-Computer – der NFS-Client – die Dateien aus dem Objektspeicher nie gesehen.
Die beiden Teile der Kette arbeiten also unabhängig voneinander:
- Ich kann einen Objektspeicher in einem lokalen Verzeichnis bereitstellen.
- Ich kann ein Verzeichnis per NFS auf eine zweite Maschine exportieren.
Aber ich kann den Inhalt des Objektspeichers NICHT an die zweite Maschine „weiterleiten“.
All dies geschieht innerhalb eines Kubernetes-Clusters.
Um NFS aus der Gleichung auszuschließen, habe ich das Sidecar-Muster verwendet, um es /share
einem zweiten Container im selben Pod zugänglich zu machen. Gleiches Ergebnis: Der zweite Container sieht nie den Inhalt des Objektspeichers.
Ich weiß nicht viel über das (gcs)fuse-Dateisystem, aber es wird oft als „User-Space“-Dateisystem bezeichnet. Ist das der Grund, warum ich den Inhalt einer gcsfuse-Einbindung nicht an eine zweite Maschine weitergeben kann?
Bearbeiten: Ich habe beim Mounten des Objektspeichers mehrere verschiedene Optionen ausprobiert: hier sind sie:
gcsfuse -o nonempty -o allow_other --implicit-dirs --gid 0 --uid 0 --file-mode 777 --dir-mode 777 video-storage-dev /share
gcsfuse -o nonempty -o allow_other video-storage-dev /share
Antwort1
Mögliche Lösungen für dieses Problem:
Möglicherweise ist die Konfigurationsoption in der Fuse-Konfiguration nicht
user_allow_other
aktiviert. Stellen Sie dazu sicher, dass in der Datei/etc/fuse.conf
die folgende Zeile unkommentiert ist:user_allow_other
, und versuchen Sie es dann erneut.Wenn das oben genannte nicht funktioniert, sollten Sie einen Blick aufdiese Unix-Frage, das sich mit dem Exportieren von FUSE über NFS befasst. Kurz gesagt: Die meisten Linux-Distributionen erlauben nicht das Exportieren eines FUSE-gemounteten FUSE-Dateisystems über NFSv2 oder NFSv3, daher müssen Sie NFSv4 verwenden.