northern
Goto Top

Software Raid auf SQL-Datenbank

Hallo!
Ich habe eine SQL-Datenbank auf die momentan 2 Benutzer gleichzeitig zugreifen. Gleichzeitig läuft das Tool "Mirrorfolder"
welches Software-RAID1 auf den Ordner, in dem die Datenbank liegt, ausführt.
Kann es zu Problemen kommen wenn gleichzeitig Benutzer lesend und schreibend auf die Datenbank zugreifen und zusätzlich
das Mirror-Tool auf der Datenbank arbeitet?

Content-Key: 108421

Url: https://administrator.de/contentid/108421

Printed on: April 24, 2024 at 15:04 o'clock

Member: filippg
filippg Feb 08, 2009 at 20:58:37 (UTC)
Goto Top
Hallo,

wenn das Tool nicht völlig buggy ist nicht (auch wenn ich mir nicht klar darüber bin, wie man ein RAID nur eines Ordners in einer Partition machen will).
Abgesehen davon: Wenn es eine SQL-DB ist, werden die Plattenzugriffe sowieso vom SQL-Server übernommen, und der (und natürlich die darüberliegende Applikation) muss für Konsitenz bei diesen Zugriffen sorgen.

Gruß

Filipp
Member: northern
northern Feb 08, 2009 at 21:08:45 (UTC)
Goto Top
Es handelt sich um eine SQL-DB 2005. Diese ist in dem Ordner in dem auch einige anderen Daten wie Word-Dokumente und Excel-Sheets gespeichert sind. Zur Zeit ist der Ordner gerade mal 600 MB gross. Mit dem Tool Mirrorfolder werden dieser Ordner auf eine externe Platte gespiegelt. Das Tool bietet die Option Ordner zu spiegeln. Es handelt sich um eine kleine Firma mit drei Arbeitsplätzen. Ein Server ist bisher nicht geplant.
Member: filippg
filippg Feb 08, 2009 at 21:39:15 (UTC)
Goto Top
Ah. Wird das in Echtzeit Blockweise gespiegelt, oder werden da alle x Minuten Snapshots gezogen? Insbesondere im ersten Fall dürfte das schwer auf die Performance gehen.

Auf jeden Fall solltest du unbedingt auch die Logfiles mit "Spiegeln". Nach einem Plattenausfall brauchst du dir zur Wiederherstellung.
Außerdem verlierst du ja auch alles andere auf dem Server.... Ein "echtes" RAID ist heutzutage durchaus erschwinglich. Auch das ersetzt aber kein Backup!

Wie schlimm ist denn ein Datenverlust von etwa 1 Std? Dann kann man einfach über einen Job alle Stunde ein Backup auf die externe Platte schreiben (aus dem SQL-Server, braucht keine zusätzliche Software). Insbesondere, wenn das andere auch kein Echtzeitmirror ist, sondern Snapshots zieht, ist das sogar viel besser, weil man dann keine schwierig wiederherzustellenden Snapshots einer evtl gerade geöffneten DB-Datei hat, sondern ein echtes, garantiert konsistentes Backup.

Gruß

Filipp
Member: northern
northern Feb 08, 2009 at 21:54:18 (UTC)
Goto Top
Mirrorfolder spiegelt in Echtzeit (zumindest nach meiner Beobachtung). Die Performance des Tools ist verschwindend gering. Das Tool liefert auch Logs die ich über die Oberfläche des Programms einsehen kann.
Ich habe mich bisher auch schon gewundert warum das Programm so wenig bekannt ist.

Ich habe vorher mit NT-Backup die Sicherung durchgeführt, allerdings ging den Benutzern das Fenster das aufpoppt auf die Nerven. Mirrorfolder macht das eigentlich ganz gut. Das Tool sichert auch geöffnete Dateien wie die Outlook-pst.

Ich habe auch eine Batch-Datei die ein ordentliches Backup (bak-Datei) von der Datenbank (und allen anderen Dateien in dem Ordner) macht. Diese Batch läuft einmal Abends nach Feierabend. Ein Datenverlust von ein paar Stunden ist nicht so schlimm. Die Anwender müssten dann nur Ihre Datenablage entsprechend organisieren um die bei einem Defekt verlorenen Eingaben wieder zu rekonstruieren.
Wenn ich eine Sicherung in Echtzeit machen kann, dann ist das doch von Vorteil.

Wäre es ein Problem wenn ich zusätzlich noch ein Tool laufen lasse, welches z.B. ein mal stündlich die Änderungen auf ein entferntes Netzlaufwerk spiegelt? (Frage mich jetzt bitte nich ob ich paranoid bin).
Das wären dann ja etwas sehr viele Zugriffe von externen Programmen.
Kann die Datenbank dabei beschädigt werden?

Diese letztere Option ziehe ich in Erwägung, da in der Firma keine Alarmanlage installiert ist und in der Umgebung in letzter Zeit öfters eingebrochen wurde.
Member: filippg
filippg Feb 08, 2009 at 22:47:29 (UTC)
Goto Top
Zitat von @northern:
Mirrorfolder spiegelt in Echtzeit (zumindest nach meiner Beobachtung).
Bei Computern kann eine Sekunde, die man braucht um nachzuschauen, ob das synchronisiert wurde schon sehr viel sein. Ich würde das lieber prüfen.
Die Performance des Tools ist verschwindend gering.
Das ist das was ich sagte - aber du meinst wohl das Gegenteil
Das Tool liefert
auch Logs die ich über die Oberfläche des Programms einsehen
kann.
Gut. Hast du auch schonmal geschaut, wie man SQL nach einem crash mit Hilfe der DB-Dateien und der Logs wiederherstellt?

Ich habe mich bisher auch schon gewundert warum das Programm so wenig
bekannt ist.
Mir kommt es eher obskur vor.

Ich habe auch eine Batch-Datei die ein ordentliches Backup
(bak-Datei) von der Datenbank (und allen anderen Dateien in dem
Ordner) macht. Diese Batch läuft einmal Abends nach Feierabend.
Na, ist doch bestens, dann drehe das auf stündlich (oder auch 3-stündig) hoch.

Ein Datenverlust von ein paar Stunden ist nicht so schlimm. Die
Anwender müssten dann nur Ihre Datenablage entsprechend
organisieren um die bei einem Defekt verlorenen Eingaben wieder zu
rekonstruieren.
Wenn ich eine Sicherung in Echtzeit machen kann, dann ist das doch
von Vorteil.

Wäre es ein Problem wenn ich zusätzlich noch ein Tool
laufen lasse, welches z.B. ein mal stündlich die Änderungen
auf ein entferntes Netzlaufwerk spiegelt? (Frage mich jetzt bitte nich
ob ich paranoid bin).
Das wären dann ja etwas sehr viele Zugriffe von externen
Programmen.
Na, dann setzt doch einfach einen Job im SQL Server-Agent auf. Das sind dann keine externen Programme.
Kann die Datenbank dabei beschädigt werden?
Eigentlich nicht, mit Gewalt lässt sich aber alles erreichen. Viel höher ist die Gefahr, dass du ein Backup erstellst, was kein Backup ist, weil es sich nicht wiederherstellen lässt (weiß ja nicht, was du machst).

Gruß

Filipp
Member: northern
northern Feb 08, 2009 at 22:56:52 (UTC)
Goto Top
Danke für die Antworten und die Denkanstösse. Das werde ich jetzt mal abarbeiten und mich dann melden.
Einen schönen Abend noch und viele Grüsse!

northern
Mitglied: 32067
32067 Feb 09, 2009 at 09:18:14 (UTC)
Goto Top
Der Begriff "obskur" schwirrte mir auch im Kopf rum als ich den Artikel gelesen hab, deshalb hab ich mir aus Neugier mal die Webseite angesehen, um zu gucken, wie die das machen:

http://www.techsoftpl.com/backup/faq_view.php?id=17

Real-time mirroring is implemented in a file system filter driver that performs RAID-1 type of mirroring in software on per file basis. Like a software-only RAID-1 system, it duplicates individual file I/O requests in memory and sent them to both source and mirror devices.

Schonmal eine interessante Idee, allerdings hängen die sich dann genau an dieselbe Stelle ins System, wo auch ein Virenscanner hängt und mein Erfahrung (mit andere Software, nicht mit dieser) ist, daß man da aufpassen sollte, daß sich das verträgt, sonst kann es hier richtig schön scheppern.

Außerdem würde ich erwarten, daß bei einigen Kombinationen (z.B. viele Schreibzugriffe und Mirror liegt im Netzwerk oder auf USB) die Performance doch in den Keller geht, weil konsistent bleibt das ganze Konstrukt nur, wenn der bei jedem Zugriff auf den Abschluß BEIDER Schreibzugriffe gewartet wird. Das kann je nach Anwendung die Antwortzeit erhöhen.