4 Stimmen

S3-Eimer werden zufällig von EC2-Instanz abgehängt

Mein Unternehmen nutzt derzeit S3fs und Ec2 von AWS. Wir haben unsere S3-Buckets auf unseren Ec2-Instanzen bereitgestellt, aber nach einiger Zeit (eine Woche zum Beispiel) werden einige der Buckets von selbst ausgehängt und unsere Serverinstanzen werden fast nutzlos. Der Fehler lautet "Transportendpunkt nicht verbunden".

S3fs-Version: 1.61, aus Quellen erstellt

FUSE-Version: 2.84.1, aus Quellen erstellt

Betriebssystem: Linux, Ubuntu 11.04

Gibt es eine Art sicheren Mechanismus, um diese Probleme zu verhindern (oder zumindest zu erkennen)?

1voto

Till Punkte 21912

S3fs ist eine gute Idee, aber beachten Sie, dass auch wenn der Aufruf an s3 vielleicht etwas intern ist (oder lassen Sie uns sagen "im ihrem Netzwerk"), Sie trotzdem ein Dateisystem über HTTP einbinden. Das wird auf lange Sicht nicht stabil sein.

Vielleicht können Sie Ihre Frage umformulieren, um nach Alternativen zu fragen und zu teilen, was Sie erreichen möchten, indem Sie irgendeine Art von (ich vermute) gemeinsam genutztem Netzwerkdateisystem verwenden. Ich kann den Reiz davon nachvollziehen, aber mit Amazon EC2 nutzen die Leute normalerweise einen shared nothing-Ansatz und alles Weitere, was mit dem Netzwerk zu tun hat, sollte vermieden werden, um die Instanzen einfacher wiederverwenden zu können usw..

Ich bin gerne bereit, meine Antwort zu erweitern.

1voto

George Punkte 5828

Toller Einblick. Daran hatte ich nicht gedacht. Aber hier sind 3 Vorsichtsmaßnahmen, die wir ergreifen können:

1) Erstellen Sie ein automatisches Mounten, sodass im äußerst unwahrscheinlichen Fall, dass EC2 ausfällt, S3 wieder eingehängt wird, sobald EC2 über /etc/fstab wieder verfügbar ist

2) oder/und wenn Sie möchten, erstellen Sie ein sekundäres automatisches Mounten mittels Cron:

echo "/usr/bin/s3fs [s3 bucket name] [mountpoint path] -o allow_other" >> automount-s3
sudo mv automount-s3 /usr/sbin
sudo chown root:ubuntu /usr/sbin/automount-s3
sudo chmod +x /usr/sbin/automount-s3

crontab -e

fügen Sie diese Zeile hinzu

@reboot /usr/sbin/automount-s3

3) Ich würde auch einen stündlichen Cronjob erstellen, um zu überprüfen, ob S3 noch eingehängt ist - dies kann überprüft werden, indem überprüft wird, ob eine Dummy-Datei in Ihrem EC2-Pfad existiert. Wenn die Datei nicht existiert, wird Cron ein manuelles Mounten durchführen, indem es "/usr/bin/s3fs -o allow_other [s3 bucket name] [mountpoint path]" aufruft. Es wäre ratsam, eine E-Mail an den Administrator auszulösen und dies auch im System zu protokollieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X