PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NFS Mount nicht aktuell



insanus
11.01.05, 08:10
Hallo auch! :)

Habe ein kleines Problem mit einem NFS Mount:

Auf Server A liegen MySQL Bin Files, welche von Server B via NFS gemountet werden. Das Mounten an sich klappt wunderbar, MySQL läuft auch prima.

Änder ich aber nun auf Server A den Inhalt einer Tabelle in MySQL ist die Änderung auf Server B nicht sichtbar. Nach einem check der MySQL Bin Files auf beiden Servern, übernimmt Server B scheinbar doch die Änderungen - die Files haben die gleichen Timestamps als auch Größenangaben. Nach einem md5sum Vergleich der Files auf beiden Servern wird jedoch ein Unterschied sichtbar - scheinbar hat Server B doch nicht die Änderungen übernommen, da er andere md5sums für die Files aufzeigt.

Ein Neustart von MySQL auf Server B hilft leider auch nicht weiter. Erst wenn ich die Datenbank-Verzeichnisse auf Server B neu mounte, erscheinen hier auch die auf Server A gemachten Änderungen.

Natürlich ist das ziemlich störend, da der Sinn von NFS ja ist, die Verzeichnisse gemountet zu haben und Änderungen komplett zu übernehmen.

Hat oder hatte jemand das gleiche Problem und konnte eine Lösung finden?

Danke & Gruß,
insanus

sirmoloch
11.01.05, 08:16
Irgendwie finde ich das auch mehr als seltsam.
Hast du auch ein commit; bei deinem SQL-Query gemacht? Danach werden die Daten erst endgültig und stehen auch anderen Sessions zur Verfügung.

insanus
11.01.05, 08:18
Ich nutze MyISAM Tabelle - dort gibt es keine Transaktionen und COMMITs. Aber selbst wenn dies der Fall wäre, hätte mir die Änderung ja zumindest nach einem Neustart des MySQL Servers auf Server B angezeigt werden müssen, was aber nicht der Fall war - erst nach dem neumounten waren die Änderungen verfügbar. :(

sirmoloch
11.01.05, 08:22
Hast du vielleicht mal versucht die Freigabe mit der Option "sync" in /etc/exports freizugeben und die Datenpartition auch auf dem Daten-Server mit "sync" gemountet?

drcux
11.01.05, 08:23
wie sieht deine exports aus?

insanus
11.01.05, 08:26
Hast du vielleicht mal versucht die Freigabe mit der Option "sync" in /etc/exports freizugeben und die Datenpartition auch auf dem Daten-Server mit "sync" gemountet?
Ja - sync nutze ich bei der Freigabe - wie aber nutzt man das beim Mounten?

wie sieht deine exports aus?
exports auf Server A:


/usr/local/mysql/data/mysql 10.9.1.202/255.255.255.255(ro,no_root_squash,sync)
/usr/local/mysql/data/global 10.9.1.202/255.255.255.255(ro,no_root_squash,sync)
/usr/local/mysql/data/webdb 10.9.1.202/255.255.255.255(ro,no_root_squash,sync)
... (noch ein paar DBs nach dem selben Schema)


Meine fstab auf Server B:


10.9.1.204:/usr/local/mysql/data/mysql /var/lib/mysql/mysql nfs defaults 0 0
10.9.1.204:/usr/local/mysql/data/global /var/lib/mysql/global nfs defaults 0 0
10.9.1.204:/usr/local/mysql/data/webdb /var/lib/mysql/webdb nfs defaults 0 0

sirmoloch
11.01.05, 08:53
/dev/deine_hdd7 /mnt/punkt dein_fs defaults,sync 0 0

insanus
11.01.05, 10:24
Danke für die Antworten - mit snyc beim Mounten klappt das Ganze auch nicht - scheinbar cached der NFS Mount in irgendeiner Form. Eine Möglichkeit wäre wohl noch, die Buffers zu deaktivieren... nur performant ist das Alles dann sicher nicht mehr.

Hab mich jetzt auch schon von dieser Idee verabschiedet.

sirmoloch
11.01.05, 12:29
Soweit ich weiß unterstützt MySQL doch auch Clustering. Wie wäre es damit? Klappen sollte es jedenfalls.

Du bekommst sogar direkt noch nen Link. ;)
http://www.mysql.com/products/cluster/