• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

gleichzeitiges mounten einer SAN-Partition

Ioleg

Newbie
Hallo,

ich habe eine SAN-Partition, die an einem Produktivserver hängt. Diese soll auf einem anderen Rechner gespiegelt werden, weil das SAN keine Snapshot-Funktion hat. Ist es sinnvoll, diese Partition vom anderen Rechner aus read-only zu mounten, obwohl es kein shared file system hat? Kann die Partition trotzdem kaputt gehen? Oder ist es sinnvoller, doch lieber per rsync über dedizierte Netzwerkkarte zu spiegeln?

Noch eine Frage zu read-only: bei Tests habe ich gesehen, daß der zweite Server Änderungen auf der Partition nicht sofort mitbekommt. (Jounrnaling?). Wie lange dauert es maximal, bis das System die Daten tatsächlich auf die Partition geschrieben hat, damit der zweite Rechner sie sehen kann?

Bin für jeden Tipp dankbar.

Vielen Dank und Gruß,

Ioleg
 

spoensche

Moderator
Teammitglied
Ein SAN (Storage Area Network) hat keine Partitionen, weil ein SAN ein Netzwerk ist und ein Netzwerk ist einfach ausgedrückt ein Zusammenschluss von Rechnern.
Du meinst die Partition einer Festplatte deines NAS (Network Attached Storage). Weiterhin gibt es auch keine shared Filesysteme. Die gemeinsame Nutzung eines freigegebenen Verzeichnis erfolgt über ein Protokoll, wie z.B. SMB oder NFS.

Die freigegebenen Verzeichnisse kannst du also read only (read only = nur lesen möglich aber kein schreiben) mounten. rsync schreibt genau so auf ein Platte, wie du das z.B. auch mit OpenOffice machst wenn du eine Datei speicherst. Wenn du rsync verwendest hast du dir das Mounten gespart.
 

josef-wien

Ultimate Guru
Du darfst etwas Grundsätzliches nicht übersehen: Man greift nicht mit mehreren Betriebssystemen auf dasselbe Dateisystem zu, auch nicht "nur" lesend. Eine Auswirkung hast Du bereits festgestellt:
Ioleg schrieb:
bei Tests habe ich gesehen, daß der zweite Server Änderungen auf der Partition nicht sofort mitbekommt
Das klingt nur harmlos, ist es aber nicht, dadurch handelst Du Dir z. B. beim Kopieren im besten Fall inhaltlich inkonsistente Dateien ein.

Wie spoensche bereits ausgeführt hat, mußt Du eine Netzwerkverbindung herstellen und über Dateifreigaben des "anderen" Rechners auf die Daten des "anderen" Rechners zugreifen, hier kümmerst sich nämlich das Betriebssystem des "anderen" Rechners um konsistente Daten.
 
OP
I

Ioleg

Newbie
spoensche schrieb:
Ein SAN (Storage Area Network) hat keine Partitionen, weil ein SAN ein Netzwerk ist und ein Netzwerk ist einfach ausgedrückt ein Zusammenschluss von Rechnern.
Du meinst die Partition einer Festplatte deines NAS (Network Attached Storage). Weiterhin gibt es auch keine shared Filesysteme. Die gemeinsame Nutzung eines freigegebenen Verzeichnis erfolgt über ein Protokoll, wie z.B. SMB oder NFS.

Die freigegebenen Verzeichnisse kannst du also read only (read only = nur lesen möglich aber kein schreiben) mounten. rsync schreibt genau so auf ein Platte, wie du das z.B. auch mit OpenOffice machst wenn du eine Datei speicherst. Wenn du rsync verwendest hast du dir das Mounten gespart.

Hallo Spoensche! OK, war wohl falsch und zu kurz beschrieben.

Von einem SAN wurden mir LUNs zugewiesen, woraus ein virtuelles Device gebastelt wurde. Das wurde formatiert und gemountet. Nun habe ich einen zweiten Rechner, der auch mit diesem Bereich verbunden werden kann via FC. Ich möchte jetzt gerne diese Partition auf ein Plattenpack, das am zweiten Rechner angeschlossen wurde, spiegeln. Ich dachte mir, bevor ich das mühsam per rsync übers Netz mache, mounte ich lieber read-only denselben Datenbereich (damit das Dateisystem nicht korrupt wird => ReiserFS) und kopiere dann quasi lokal mit rsync. Ich hoffe, ich habe das nicht wieder dilletantisch ausgedrückt. Ist das so möglich, bzw. wie würdet ihr ein solches dauerndes spiegeln herstellen? Es handelt sich um ca. 1 Terabyte Daten.

Mit shared file system meine ich das hier: http://en.wikipedia.org/wiki/Shared_disk_file_system

Da steht ja schon im Link, daß es so was gibt. ;) Also ein file system, das für gleichzeitige Zugriffe konzipiert ist, wie es beim clustering üblich ist. Ich dachte mir, daß es dafür vielleicht ein einfache Variante geben würde, ohne gleich einen Cluster aufzuziehen. Es sieht wohl so aus, als müßte ich mit rsync über die zweite Netzwerkkarte arbeiten.

Vielen Dank für eure hilfe!

Gruß, Ioleg
 

HBtux

Member
bzw. wie würdet ihr ein solches dauerndes spiegeln herstellen? Es handelt sich um ca. 1 Terabyte Daten.
Was willst Du mit der Spiegelung machen?
Soll dies eine Datensicherung sein oder die Daten doppelt vorhalten, falls sich das SAN mal verabschiedet?
- Ist der zweite Server mit der Kopie der Daten als Ausfall-Server gedacht?

Welche Menge an Daten ändern sich von diesen 1 Terabyte Daten?

Wie alt darf die Sicherungskopie max. sein.
Ist da eine Stunde schon lange oder reicht einmal am Tag noch aus....?

- Rsync hat ja den Vorteil, dass nicht immer alle Daten übertragen werden, sondern nur die Änderungen.

- eine Alternative wäre dann noch das SAN als Cluster aufzubauen und die Daten direkt im SAN zu Replizieren.
 

josef-wien

Ultimate Guru
Ich habe keine Ahnung betreffend Verwendung eines "Storage Area Network", aber wenn ich Deine Sätze
Ioleg schrieb:
Von einem SAN wurden mir LUNs zugewiesen, woraus ein virtuelles Device gebastelt wurde. Das wurde formatiert und gemountet.
analysiere, dann hast Du logisch auf Deinem Rechner ein Dateisystem, das sich physisch irgendwo befindet. Für mich bedeutet das, daß das Betriebssystem dieses Rechners für das Dateisystem verantwortlich ist, und damit sind wir wieder bei meinem ersten Beitrag.

Ioleg schrieb:
Ich möchte jetzt gerne diese Partition auf ein Plattenpack, das am zweiten Rechner angeschlossen wurde, spiegeln.
So wie ich das sehe, möchtest Du das nicht. Unter "spiegeln" versteht man eine parallele Datenhaltung auf verschieden Medien, um bei Ausfall eines Mediums mit dem anderen Medium (oder den anderen Medien) unterbrechungslos und ohne Wiederherstellungsaktivitäten weiterarbeiten zu können. Du möchtest die Dateien zu bestimmten Zeitpunkten woanders hinkopieren.
 
OP
I

Ioleg

Newbie
josef-wien schrieb:
Ich habe keine Ahnung betreffend Verwendung eines "Storage Area Network", aber wenn ich Deine Sätze
Ioleg schrieb:
Von einem SAN wurden mir LUNs zugewiesen, woraus ein virtuelles Device gebastelt wurde. Das wurde formatiert und gemountet.
analysiere, dann hast Du logisch auf Deinem Rechner ein Dateisystem, das sich physisch irgendwo befindet. Für mich bedeutet das, daß das Betriebssystem dieses Rechners für das Dateisystem verantwortlich ist, und damit sind wir wieder bei meinem ersten Beitrag.

Genau, bei einem SAN liegen die Daten im Speichernetzwerk, sind aber so gemountet wie eine lokale Partition. Die Frage ist, ob die Daten für den zweiten PC tatsächlich unbrauchbar sind, wenn sie sich laufend ändern, oder nur nicht sehr aktuell. Das ließe sich verschmerzen. ;)

josef-wien schrieb:
So wie ich das sehe, möchtest Du das nicht. Unter "spiegeln" versteht man eine parallele Datenhaltung auf verschieden Medien, um bei Ausfall eines Mediums mit dem anderen Medium (oder den anderen Medien) unterbrechungslos und ohne Wiederherstellungsaktivitäten weiterarbeiten zu können. Du möchtest die Dateien zu bestimmten Zeitpunkten woanders hinkopieren.

Das ist nicht ganz richtig. Ein Spiegel der Daten ist erstmal eine exakte Kopie. Das muß nicht zwangsläufig immer aktuell sein. Es gibt natürlich Spiegel, wie z.B. in einem SAN, wo die Daten quasi parallel vorgehalten werden.

Ich möchte die Daten auf einem Backup-System im Falle eines Ausfalls vorhalten. Ich habe mir halt überlegt, welche Methode die beste ist, also am wenigsten Last auf dem Produktivsystem verursacht. Bei rsync habe ich ein wenig Bauchschmerzen, denn die Daten ändern sich häufig (E-Mails) und so ein rsync, auch wenn ich es nicht immer über die volle Partition laufen lasse, macht schon etwas Last.

Gruß, Ioleg
 
OP
I

Ioleg

Newbie
HBtux schrieb:
bzw. wie würdet ihr ein solches dauerndes spiegeln herstellen? Es handelt sich um ca. 1 Terabyte Daten.
Was willst Du mit der Spiegelung machen?
Soll dies eine Datensicherung sein oder die Daten doppelt vorhalten, falls sich das SAN mal verabschiedet?
- Ist der zweite Server mit der Kopie der Daten als Ausfall-Server gedacht?

Genau!

HBtux schrieb:
Welche Menge an Daten ändern sich von diesen 1 Terabyte Daten?

Das kann ich nicht genau sagen. Viele einzelne Dateien, pro Datei ist das eine E-mail (IMAP). Insofern geht auch der Vorteil von rsync flöten, nur die Teile zu kopieren, die sich geändert haben.

HBtux schrieb:
Wie alt darf die Sicherungskopie max. sein.
Ist da eine Stunde schon lange oder reicht einmal am Tag noch aus....?
Je aktueller, desto besser. Ich denke aber, daß sich ein paar Stunden noch verschmerzen liessen.

HBtux schrieb:
- Rsync hat ja den Vorteil, dass nicht immer alle Daten übertragen werden, sondern nur die Änderungen.

- eine Alternative wäre dann noch das SAN als Cluster aufzubauen und die Daten direkt im SAN zu Replizieren.

Also die Daten sind natürlich im SAN doppelt vorhanden. Nur schützt das ja nicht gegen logische Fehler. Die Jungs haben bei der SAN-Anschaffung die günstige Lösung gewählt und die Snapshot-Funktionalität rausgelassen. Wenn ich die hätte, bräuchte ich mir überhaupt gar keine Gedanken um die doppelte Vorhaltung zu machen.

Wie macht man es also am geschicktesten? :)

schönen Gruß, Ioleg
 

HBtux

Member
Ioleg schrieb:
Also die Daten sind natürlich im SAN doppelt vorhanden.
Warum musst Du die dann noch mal spiegeln bzw. dauernd kopieren?
Die Ausfallsicherheit ist ja gewährleistet. Das SAN selbst ist ja schon redundand...
Du solltest also einmal am Tag ein Backup davon machen und dieses ggf. an einem anderen Standort aufbewaren.....

BEACHTE
Ein RAID oder eine Datensynchronisation ist keine Datensicherung.
Wenn eine Datei im Original gelöscht wird, ist diese innerhalb kürzester Zeit auf allen Replizierten Systemen auch weg und Dein Notfall-Server könnte dann auch nicht mehr funktionieren.

Du solltest vielmehr einen zweiten Mail-Server vorhalten, der den ganzen Tag vor sich herschlummert und bei Ausfall des Hauptservers aktiv wird.
Die beiden Server kannst Du mittels HA z.B. auch im Standby-Betrieb laufen lassen. Der jeweils aktive Server mountes den SAN-Speicher und startet die dazugehörenden Dienste.

Im Prinzip musst Du alle Komponenten doppelt vorhalten, um die Ausfallsicherheit zu erhöhen bzw. schnell reagieren und mit den "Diensten umziehen" zu können..
Ein Notfall-Plan kann auch vorsehen, dass Du einen Ersatz-Server kurzfristig starten kannst und somit innerhalb kürzester Zeit den "normalen Betrieb" wieder herstellen kannst.
 
OP
I

Ioleg

Newbie
HBtux schrieb:
Ioleg schrieb:
Also die Daten sind natürlich im SAN doppelt vorhanden.
Warum musst Du die dann noch mal spiegeln bzw. dauernd kopieren?
Die Ausfallsicherheit ist ja gewährleistet. Das SAN selbst ist ja schon redundand...
Du solltest also einmal am Tag ein Backup davon machen und dieses ggf. an einem anderen Standort aufbewaren.....


BEACHTE
Ein RAID oder eine Datensynchronisation ist keine Datensicherung.
Wenn eine Datei im Original gelöscht wird, ist diese innerhalb kürzester Zeit auf allen Replizierten Systemen auch weg und Dein Notfall-Server könnte dann auch nicht mehr funktionieren.

Du solltest vielmehr einen zweiten Mail-Server vorhalten, der den ganzen Tag vor sich herschlummert und bei Ausfall des Hauptservers aktiv wird.
Die beiden Server kannst Du mittels HA z.B. auch im Standby-Betrieb laufen lassen. Der jeweils aktive Server mountes den SAN-Speicher und startet die dazugehörenden Dienste.

Im Prinzip musst Du alle Komponenten doppelt vorhalten, um die Ausfallsicherheit zu erhöhen bzw. schnell reagieren und mit den "Diensten umziehen" zu können..
Ein Notfall-Plan kann auch vorsehen, dass Du einen Ersatz-Server kurzfristig starten kannst und somit innerhalb kürzester Zeit den "normalen Betrieb" wieder herstellen kannst.

;) Nehmen wir einfach mal an, ich würde mich nach 10 jahren sendmail Administration ein wenig in einem Produktionsnetzwerk auskennen. Nehmen wir ferner an, alle diese Dinge, die du angesprochen hast, sind vorhanden und für mich selbstverständlich. Die SAN-Redundanz nutzt dir gar nichts, wenn das Dateisystem korrupt wird und du keine Snapshot-Funktionalität hast, um einen Stand zurückzuspielen. Daher muß ich die Daten unabhängig vom Backup doppelt verfügbar halten, um im Falle eines Ausfalls schneller reagieren zu können. Meine Frage zielte doch nur darauf ab, ob es möglich wäre, ein Dateisystem, das eigentlich nicht geshared werden soll, von zwei Servern aus zu mounten, das zweite Mal read-only. Ob die Daten dann für den zweiten Server noch verwendbar sind oder unbrauchbar. Und ob es noch andere, geschicktere Möglichkeiten gibt, laufend zu spiegeln.

Danke und Gruß, Ioleg
 

HBtux

Member
Ioleg schrieb:
Also die Daten sind natürlich im SAN doppelt vorhanden.
Nun verstehe ich aber wirklich nicht mehr, ob die Daten im SAN wirklich redundant vorhanden sind.
Schaue mal auf dieser Seite das Bild ganz unten "Hochverfügbarkeit im Storage Area Network" ... http://www.storitback.de/index.html?/service/san.html

Wenn das Storage-System doppelt ausgelegt und redundant ist, kann doch auf einem der beiden Storage-Systeme das Dateisystem korrupt werden.
Das zweite Storage-System übernimmt dann seine Tätigkeit...
 
OP
I

Ioleg

Newbie
Nein, weil die Kopierweise der Spiegelfunktion im SAN auch Dateisystemfehler mitkopiert. Rumms, Daten weg! Kluge Köpfe sind deshalb nicht geizig und kaufen die Snapshot-Funktion (also periodisch angefertigte Abbilder des Datenbereiches) gleich mit. Was bei unserem SAN leider versäumt wurde. ;)

Ich denke, ich mache es über eine 2. Netzwerkkarte per rsync.

schönen Gruß, Ioleg
 

Tooltime

Advanced Hacker
Ioleg schrieb:
Kluge Köpfe sind deshalb nicht geizig und kaufen die Snapshot-Funktion (also periodisch angefertigte Abbilder des Datenbereiches) gleich mit.
Woher weiß das SAN wann die Platten einen konsistenten Zustand haben? Sonst macht ein snapshot ja eigentlich keinen Sinn. Bin zwar kein Filesystemexperte, kann mir aber gut vorstellen das Dateien auf die Platte kopiert werden, während die Änderungen an der Filesystemstruktur noch im Cache des Rechners liegen, da in diesen Bereich viele Transaktionen auflaufen.

Was ich mir vorstellen könnte, ein LVM auf der SAN-Partition anlegen, LVM kann nämlich auch snapshots anlegen. Das LVM-snapshot mit beliebiger Backup-Methode irgendwo hin transferieren.
 
OP
I

Ioleg

Newbie
Tooltime schrieb:
Woher weiß das SAN wann die Platten einen konsistenten Zustand haben? Sonst macht ein snapshot ja eigentlich keinen Sinn. Bin zwar kein Filesystemexperte, kann mir aber gut vorstellen das Dateien auf die Platte kopiert werden, während die Änderungen an der Filesystemstruktur noch im Cache des Rechners liegen, da in diesen Bereich viele Transaktionen auflaufen.

Was ich mir vorstellen könnte, ein LVM auf der SAN-Partition anlegen, LVM kann nämlich auch snapshots anlegen. Das LVM-snapshot mit beliebiger Backup-Methode irgendwo hin transferieren.

Der Server weiß doch, ob das Filesystem seiner gemounteten Partition in Ordnung ist oder nicht. Das ist doch der Trick beim SAN: ein dort liegender Datenbereich wirkt so, als ob man eine lokale Partition mountet. Wenn das Dateisystem die Biege macht, wird die Partition normalerweise read-only remountet. Das bekommt man ja sofort mit. Den letzten Snapshot, der funktionieren sollte, erkennt man am Datum. Zu diesem Zeitpunkt lief das System noch reibungslos.

Das mit LVM habe ich auch schon gehört. Bei einem SAN mit dieser Funktionalität braucht ein Snapshot allerdings weniger Speicher (so wurde es mir verklickert). Wie auch immer, SAN-Speicher ist sauteuer. Da ist ein Plattenpack mit 2-3 Terabyte ein Schnäppchen gegen. ;)

Es würde den Produktivserver halt immens entlasten, kein rsync über das Netz zu machen, sondern über eine fiberchannel Verbindung direkt zum SAN als read-only mount. Ich hab nur keine Ahnung, ob die Daten, die der zweite server dort lesen kann, auf Dauer brauchbar sind, oder nicht. Das hatte ja HBTux angemerkt. Der zeitliche Unterschied zwischen speicheranweisung und tatsächlichem commit auf dem SAN-Bereich ausgehend vom Produktivserver wäre mir eigentlich egal. Wenn die Aktualität der Dateien etwas hinterher hinkt ist das allemal besser, als auf die nächtliche Sicherung zurückzugreifen.


Gruß, Ioleg
 

HBtux

Member
Ioleg schrieb:
Wie auch immer, SAN-Speicher ist sauteuer. Da ist ein Plattenpack mit 2-3 Terabyte ein Schnäppchen gegen.
Sicherheit will jeder aber kosten darfs nur wenig. ;)

Ioleg schrieb:
Das mit LVM habe ich auch schon gehört. Bei einem SAN mit dieser Funktionalität braucht ein Snapshot allerdings weniger Speicher (so wurde es mir verklickert).
Bei einem Snapshot brauchts Du genau soviel Speicher, wie sich Dateien ändern.
Bei dem eigentlichen Snapshot passiert erst mal noch nicht viel.
Vor jeder Änderung an einer Datei, wird nach einem Snapshot eine Kopie der Datei in einem LVM Logical Volume als Kopie angelegt.
D.h. wenn Du eine Datei mit 500 MB änderst, verbrauchts Du 500 MB an Speicher im Snapshot-Volume...... (schlimstenfall brauchts Du also die doppelte Kapazität für ein Snapshot) --> Also Deine zur verfügung stehende Plattenkapazität halbiert sich dann.
Wenn der Speicher im Snapshot-Volume nicht mehr ausreicht, wird die "Snapshot Logical Volume" ungültig.

Tooltime schrieb:
Was ich mir vorstellen könnte, ein LVM auf der SAN-Partition anlegen, LVM kann nämlich auch snapshots anlegen. Das LVM-snapshot mit beliebiger Backup-Methode irgendwo hin transferieren.
Wenn ich richtige verstanden habe, kann das SAN selber kein Snapshot.
d.h. das Snapshot müsste auf dem aktiven Server ausgeführt werden.

Hier sprechen aber wieder zwei Dinge dagegen....
- ein Snapshot-Volume muss sich in der gleichen Volume-Gruppe befinden wie das Volume, von dem ein Snapshot gemacht werden soll.
Dadurch liegt das Snapshot also auch wieder auf dem gleichen Bereich im SAN wie die Daten...
Danach müssen die Daten aus dem Snapshot auch vom aktiven Server nach XXX kopiert werden.

- wenn es Probleme am SAN gibt, sind die Daten auch erst mal futsch...


Vorteile Snapshot:
- Snapshot bringt nur was, wenn man eine Momentaufnahme des Filesystem sichern möchte, da die Sicherung vielleicht zulange dauert und dadurch die Daten vom Anfang der Sicherung nicht mehr mit den Daten am Ende der Sicherung passen.
- Oder die Dienste können kurzzeitig angehalten werden - Snapshot machen und Dienste wieder starten. Dann hat man "alle zeit der Welt" die daten wegzusichern, während die Dienste schon wieder laufen....
 
Oben