PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cyrus imap - verschiedene Partitionen



tschloss
22.02.10, 20:47
Hi,

ich habe meinen Cyrus erfolgreich partitioniert nach dem Prinzip (imapd.conf)

partition-default: /var/spool/cyrus
partition-1: /var/spool/cyrus1
partition-2: /var/spool/cyrus2
defaultpartition: default

Wenn ich jetzt die Default-Partition (also die Partition, auf der neue Mailboxen standardmäßig angelegt werden, oder!?) auf die z.B. zweite legen möchte, muss ich dann die letzte Zeile so umschreiben:

defaultpartition: 1
also ist der Name hier quasi der Teil im String hinter "partition-" aus dem Definitionsteil?
Irgendwie ungewöhnlich :/

Und noch eins (ist aber völlig unwichtig, just aus Interesse)
Kann man bestimmten User unterschiedliche defaultpartitions zuweisen?

Danke und Grüße
Thomas

leiner
23.02.10, 10:37
Hi,

ich habe meinen Cyrus erfolgreich partitioniert nach dem Prinzip (imapd.conf)

partition-default: /var/spool/cyrus
partition-1: /var/spool/cyrus1
partition-2: /var/spool/cyrus2
defaultpartition: default

Wenn ich jetzt die Default-Partition (also die Partition, auf der neue Mailboxen standardmäßig angelegt werden, oder!?) auf die z.B. zweite legen möchte, muss ich dann die letzte Zeile so umschreiben:

defaultpartition: 1
also ist der Name hier quasi der Teil im String hinter "partition-" aus dem Definitionsteil?
Irgendwie ungewöhnlich :/

japp



Und noch eins (ist aber völlig unwichtig, just aus Interesse)
Kann man bestimmten User unterschiedliche defaultpartitions zuweisen?


Default sagt ja nur wo das nächste neue Postfach angelegt wird.
Aber Du kannst bereits angelegte Postfächer verschieben.
Mit dem Rename-Commando unter "cyradm".
Anmelden mit cyradm -> rename user.maiboxname user.mailboxname neue_partition

Mache ich so um eine gewisse Lastverteilung von grossen und kleine Postfächern zu erreichen.

Hoffe geholfen zu haben
Leiner

tschloss
23.02.10, 11:05
Danke leiner, ja das war schon hilfreich!!

Aber ich möchte die Gelegenheit nutzen, um noch etwas zu bohren ;)

Hast Du eine Möglichkeit gefunden, ganze User mit Foldern umzuziehen?
Also ein rename rename user.johndoe.* user.johndoe neue_partition oÄ.

Das rename Kommando zieht meines Wissens genau eine Mailbox (eigentlich Folder) um.
Zum Glück arbeitet es dabei nach meiner bescheidenen Erfahrung recht robust und selbst wenn man eine Mailbox mitten aus einem Baum heraus umzieht, bleibt die Struktur intakt (Cyrus lässt dann ein leeres Verzeichnis zurück).
Ich habe mir dafür ein Perl-Skript geschrieben, welches erst mal die Expandierung des Wildcards vornimmt und die einzelnen Boxen moved. Auf die Reihenfolge achtet das Skript nicht.
Aber so toll finde ich das nicht.

VG Thomas

PS: Dass es nur eine globale Defaultpartition gibt führt zu einer Verstreuung der User über alle Partitionen. Denn wenn ich eine neue Partition hinzufüge, dann landen alle neu angelegten Folder dort. Ist die Platte voll, kommt die nächste und jeder aktive User hat seine Daten dann über alle Partitionen verstreut. Aber egal.

leiner
23.02.10, 11:45
Danke leiner, ja das war schon hilfreich!!

Aber ich möchte die Gelegenheit nutzen, um noch etwas zu bohren ;)

Hast Du eine Möglichkeit gefunden, ganze User mit Foldern umzuziehen?
Also ein rename rename user.johndoe.* user.johndoe neue_partition oÄ.

Das rename Kommando zieht meines Wissens genau eine Mailbox (eigentlich Folder) um.
Zum Glück arbeitet es dabei nach meiner bescheidenen Erfahrung recht robust und selbst wenn man eine Mailbox mitten aus einem Baum heraus umzieht, bleibt die Struktur intakt (Cyrus lässt dann ein leeres Verzeichnis zurück).
Ich habe mir dafür ein Perl-Skript geschrieben, welches erst mal die Expandierung des Wildcards vornimmt und die einzelnen Boxen moved. Auf die Reihenfolge achtet das Skript nicht.
Aber so toll finde ich das nicht.

VG Thomas

PS: Dass es nur eine globale Defaultpartition gibt führt zu einer Verstreuung der User über alle Partitionen. Denn wenn ich eine neue Partition hinzufüge, dann landen alle neu angelegten Folder dort. Ist die Platte voll, kommt die nächste und jeder aktive User hat seine Daten dann über alle Partitionen verstreut. Aber egal.

Hallo Thomas

Also mein Cyrus legt unterordner eines User immer unterhalb des user.johndoe an.
Nur eine neues Postfach user.neuuser würde auf der aktuellen default-Partition angelegt. johndoe bleibt immer mit allen seinen Foldern auf der Partition auf der er gerade ist (es sei den ich verschiebe ihn mit rename user.johndoe user.johndoe neue_partition). "neue-partition muss nicht die aktuelle default sein. Und das verschiebt die gesammte Mailbox mit "unterfoldern" - komplett.


Wenn ich dich richtig verstehe zerreißest Du den Folderbaum einer mailbox ?? Würde mich sehr verwundern wenn das lage gut geht.
Du solltest nach Möglichkeit nicht direkt mit den Dateien/Ordener hantieren, damit die Cyrus-Datenbanken nicht durch einander kommt.

probier den Rename mal mit einem kleinen dummy-user mit unterverzeichniss aus. Denke dann wird das klarer.

Gruss Leiner

tschloss
23.02.10, 12:01
Danke. Bei meiner etwas angegrauten Cyrus Version (ok, die machen da ja auch nicht mehr viel dran) zieht der rename nicht den ganzen Unterbaum mit um.
Und daher bin ich froh, dass Cyrus auch dann weiter funktioniert, wenn ich ein Element mitten drin mal umziehe. Ist es kein Blatt-Knoten, dann bleibt auf der bisherigen Partition ein leeres Verzeichnis zurück. [EDIT: leer bis auf die tieferliegenden Unterverzeichnisse]
(Und der Cyrus kennt ja nur "Mailboxen" und unterscheidet dabei nicht zw. Usern (oder dem, was ich unter Mailbox verstehe) und dem, was im Client als Ordner sichtbar sichtbar ist - also alle Verzeichnisse sind für den Cyrus hierarchische Mailboxen)

Direkt im Verzeichnissystem arbeiten, würde ich bei Cyrus nie! Das muss schiefgehen. Der reconstruct arbeitet ja auch nur so "naja".

Und dass die User über die Partitionen zerissen werden, ist ja normal, wenn man die Default-Partition einmal geändert hat (und die User Ordner anlegen). Damit kann Cyrus offenbar problemlos umgehen (obwohl ich es so praktisch nicht finde).

Wie "defaultpartition" nun wirkt, muss ich in der Tat noch testen. Ich dachte, dass nicht nur neue User, sondern sämtliche neue Folder auch für alte User auf der neuen Partition entstehen.

Aber danke anyway.
VG Thomas