Stellen Sie sicher, dass der Server immer booten kann und eine Festplatte gemountet ist, bevor Sie die Freigabe für Samba vornehmen.

Stellen Sie sicher, dass der Server immer booten kann und eine Festplatte gemountet ist, bevor Sie die Freigabe für Samba vornehmen.

Ich habe zwei 2-TB-Festplatten (nicht die Boot-/Systemlaufwerke) mit jeweils einer einzelnen Partition, die ich mit Samba teile. Einhängepunkte sind in /mnt/drive01und /mnt/drive02.

Dies sind auch die Pfade zweier Samba-Freigaben namens Backup1 und Backup2. Sobald diese Freigaben aktiv sind, werden sie mit (vielen) Daten von anderen Maschinen im Netzwerk gefüllt (einige Maschinen schreiben auf Backup1, andere auf Backup2, aber keine schreibt auf beide).

Alles funktioniert wie geplant, kein Problem mit Samba. Dieser Server (am Remote-Standort) ist so konfiguriert, dass er bei Stromausfall usw. automatisch neu startet. Außerdem habe ich zwei Laufwerke in RAID1 als System-/Boot-Laufwerke, um sicherzustellen, dass der Server (fast!) immer zumindest booten kann.

Das Problem tritt auf, wenn das System ordnungsgemäß bootet, aber aus irgendeinem Grund eine (oder beide) der 2-TB-Festplatten nicht gemountet werden kann: Samba würde mit der Freigabe beginnen, /mnt/drive01und /mnt/drive02die Festplatte(n) mit der großen Kapazität wird/werden nicht gemountet, sodass alle Daten tatsächlich auf der Systemfestplatte landen, diese füllen und das System unbrauchbar machen oder keinen Remotezugriff per SSH mehr ermöglichen.

Ich halte es daher nicht für eine gute Idee, die Partitionen der beiden 2-TB-Laufwerke einzugeben /etc/fstab, da ich beim Booten einige Probleme festgestellt habe, wenn beispielsweise eines der Datenlaufwerke getrennt wird. Dies ist wiederum wichtig, da sich der Server an einem entfernten Standort befindet und man sich nicht auf das Eingreifen eines Bedieners verlassen kann, um Bildschirmmeldungen wie „Laufwerk nicht bereit, warten Sie weiter, drücken Sie S, um die Bereitstellung zu überspringen, M für manuell ...“ zu beheben.

Ich habe also ein kleines Skript, das eine Minute nach dem Booten versucht, die Datenlaufwerke zu mounten, und das behebt den fstab-Teil. Nun zu Samba.

Ich möchte, dass Samba nach einiger Zeit startet (kein Problem), aber auch die beiden Freigaben „dynamisch“ aktiviert oder deaktiviert. Wenn also beispielsweise das zweite Datenlaufwerk ausfällt, kann mein Skript nur die erste Datenfestplatte mounten und Samba würde nur die Freigabe Backup1 ankündigen (wobei Daten auf das 2-TB-Laufwerk geschrieben werden); die andere Freigabe (Backup2, zugeordnet zu /mnt/drive02) würde nicht angekündigt/deaktiviert, aber zumindest habe ich eine Freigabe am Laufen (und einige meiner Maschinen können Daten darauf übertragen).

Der einfache Weg ist natürlich, Samba nur zu starten, wenn beide Datenlaufwerke gemountet sind, aber das ist eine Alles-oder-Nichts-Lösung

Irgendwelche Ideen?

Antwort1

Es gibt zwei Möglichkeiten. Wenn Sie keine weiteren Freigaben mit Samba haben, können Sie Samba einfach starten, wenn beide gemountet sind, und stoppen, wenn beide unmountet sind, indem Sie upstart oder systemd verwenden. Mit systemd benötigen SieRequires=Stropheund mit Emporkömmlingstart on mounted /dev/something. Die andere Möglichkeit besteht darin, Samba aus den Startskripten zu entfernen und mit Ihrem Skript zu starten. Diese Optionen hängen davon ab, was Sie bereits getan haben.

verwandte Informationen