Samba einem drbd device zu vorhandenem System hinzufügen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Namco2k14
Beiträge: 5
Registriert: 13.01.2014 11:32:51

Samba einem drbd device zu vorhandenem System hinzufügen

Beitrag von Namco2k14 » 22.04.2014 10:04:48

Guten Tag zusammen,

ich soll zu einem bestehenden System ein Verzeichnis für einen Samba Share hinzufügen.

Das System besteht aus zwei Servern. Jeder dieser Server besitzt 4 Datenfestplatten, die zu einem Software RAID 1 (md0 array) zusammen geschaltet wurden. Zwischen den beiden Servern wurde wiederum eine DRBD Resource eingerichtet, die das komplette RAID array md0 als disk angegeben hat. Auf der DRBD Resource wurde ein xfs Dateisystem eingerichtet. Außerdem kommt zur Überwachung heartbeat zum Einsatz, um einen Takeover zwischen den beiden Systemen zu gewährleisten. Synchronisiert werden zur Zeit die Daten einer Postgresql Datenbank (Verzeichnis /data/pgsql).

Nun soll im Nachhinein ein Samba Share für Backups einer auf einem Windows System im Netzwerk laufenden Software eingerichtet werden, wobei das Verzeichnis sowohl per RAID als auch per DRBD synchronisiert werden soll. Ich habe mir nun ein solches zwei Server System zu Testzwecken aufgesetzt. Habe jedoch, damit das Synchronisieren nicht zu lange dauert, die Partitionsgröße der Festplatten stark verkleinert. Auf den Produktivsystemen ist die gesamte Festplattengröße im RAID Verbund.

Das einfachste ist wahrscheinlich, einfach dasselbe Verzeichnis für Samba zu nutzen. Fände ich allerdings von der Datenstrukturierung sehr unschön. Wenn ich heartbeat mitteile, einen weiteren mount point /dev/drbd0 hinzuzufügen (z.B. /data/backup), habe ich dasselbe in grün, da es effektiv immernoch dasselbe Verzeichnis ist.

Dann hatte ich überlegt, eine weitere DRBD Resource anzulegen. Wenn drbd0 allerdings schon das komplette md0 array synchronisiert, müsste ich dann die vorhandenen Partitionen im Nachhinein ändern?

Für neu aufzusetzende Systeme erscheint es mir am sinnvollsten, dem Samba share eine eigene Partition auf den Platten zu spendieren und dann ein eigenes RAID und ein eigenes DRBD device einzurichten. Aber wie ich das Ganze in ein vorhandenes System sinnvoll integrieren kann, ist mir noch vollkommen unklar. Achso, auch wenn es sich um Produktivsysteme handelt, besteht die Möglichkeit die Dienste (heartbeat, postgresql, ...) für ein gewisse Zeitdauer zu stoppen, um die nötigen Änderungen vorzunehmen.

Wenn jemand Ideen, Anregungen oder Lösungen parat hätte, wäre ich sehr dankbar. Wenn ich wichtige Informationen vergessen habe, bitte Bescheid sagen.

Beste Grüße
Namco

Das RAID array:

Code: Alles auswählen

root@Storage1:~# mdadm --detail /dev/md0 
/dev/md0:
        Version : 1.2
  Creation Time : Thu Apr 17 09:10:55 2014
     Raid Level : raid10
     Array Size : 16765952 (15.99 GiB 17.17 GB)
  Used Dev Size : 8382976 (7.99 GiB 8.58 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Tue Apr 22 09:37:14 2014
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : Storage1:0  (local to host Storage1)
           UUID : 2d360ea6:df2b3448:a3f46b5d:325c5fe7
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
       2       8       33        2      active sync   /dev/sdc1
       3       8       49        3      active sync   /dev/sdd1

Die DRBD Konfiguration:

Code: Alles auswählen

root@Storage1:~# cat /etc/drbd.conf 
 
#include "drbd.d/global_common.conf";
 
#include "drbd.d/*.res";
 
global {
}
 
resource storage {
 
protocol C;
 
startup {
	wfc-timeout 60;
}
 
disk {
	on-io-error detach;
}
 
net {
	after-sb-0pri discard-least-changes;
	after-sb-1pri discard-secondary;
	after-sb-2pri disconnect;
}
 
syncer {
	rate 100M;
}
 
on Storage1 {
	device /dev/drbd0;
	disk /dev/md0;
	address 192.168.220.1:7788;
	meta-disk internal;
}
 
on Storage2 {
	device /dev/drbd0;
	disk /dev/md0;
	address 192.168.220.2:7788;
	meta-disk internal;
}
 
}

Die heartbeat Konfiguration:

Code: Alles auswählen

Storage1 IPaddr::192.168.250.234/24/bond1 drbddisk::storage Filesystem::/dev/drbd0::/data/pgsql::xfs postgresql MailTo::abc@xyz.com::StorageTest

gbotti
Beiträge: 846
Registriert: 16.07.2010 14:24:43
Wohnort: München

Re: Samba einem drbd device zu vorhandenem System hinzufügen

Beitrag von gbotti » 22.04.2014 15:01:07

Huhu.

Also. Du musst das System vermutlich zwangsläufig herunterfahren, wenn du die Festplatten in die Systeme integrierst und initialisieren möchtest. Schade ist natürlich, dass du hier ein SoftRaid verwendest. In Produktivsystemen scheidet das bei mir komplett aus. Mein bevorzugter Weg ist:

- System mit einem Rescue-System hochfahren und komplette Datensicherung anfertigen
- System abschalten und Festplatten einsetzen
- Installieres Linux hochfahren lassen
- Neues MD-Raid (md1) initialisieren
- DRBD (drbd1) auf dem neuen RAID (md1) initialisieren
- Dateisystem auf neuem DRBD (drbd1) anlegen
- Heartbeat-Config erweitern
- Mountpoint anlegen und fstab anpassen
- SAMBA-Konfiguration anpassen

Die schnellere Variante wäre natürlich (sofern dein Controller das unterstützt) die Festplatten mittels HotPlug einfach im laufenden Betrieb an das System anzuschließen und dann mit dem RAID initialisieren fortfahren...

Ich würde allerdings noch Unterordner in den Mountpoint anlegen. Falls du ein neues Share brauchst kann das dann ohne große Probleme hinzugefügt werden.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft

Namco2k14
Beiträge: 5
Registriert: 13.01.2014 11:32:51

Re: Samba einem drbd device zu vorhandenem System hinzufügen

Beitrag von Namco2k14 » 06.05.2014 14:42:57

Danke für die Antwort und Sorry für die späte Rückmeldung.

Ich hatte es kurz darauf doch geschafft, den Mount Point der heartbeat Konfiguration zu ändern. Mein Fehler war schlichtweg, dass ich den heartbeat Dienst nur auf dem Gerät gestoppt habe, auf dem ich gearbeitet habe. Aber genau dann trat natürlich das eigentlich gewollte Verhalten ein, dass der andere Server die Dienste übernahm und auch die drbd Aufgaben übernahm. Und schon habe ich nicht mehr auf der geteilten Resource das Verzeichnis erstellt, sondern lokal. Damit ging alles den Back runter.

Alle Verzeichnisse liegen jetzt auf demselben RAID und derselben DRBD Resource, aber in eigenen Verzeichnissen. Ist jetzt auch noch ein Log Verzeichnis für verschiedene Anwendungen hinzugekommen.

Antworten