Frage

Dies ist ein wenig auf meine vorherige Frage im Zusammenhang Solaris: außer dieser Frage ein Dateisystem auf einer Anwendung Handler Montage ist für einen anderen Zweck und ist einfacher, da es keine open / close / sperren es nur ein Block fester Länge von Bytes mit Lese- / Schreiboperationen ist.

Gibt es trotzdem kann ich eine virtuelle Scheibe erstellen, ein bisschen wie ein RAM-Disk oder eine SVM Scheibe .. aber ich möchte das liest und schreibt über meine App gehen.

Ich plane ZFS verwenden mehrere dieser virtuellen Scheiben / Platten zu nehmen und sie in eine größere für verteilte Backup-Speicher mit Schnappschüssen zu machen. Ich mag die Kompression und Stapel dass ZFS Angebote. Bei Bedarf kann ich garantieren, dass es nur eine Instanz von ZFS ist es, diese virtuellen Laufwerke zu einem Zeitpunkt Zugriff (verhindern Cache Konflikte und so weiter). Wenn die eine Instanz ausfällt, können wir sicherstellen, wird es nicht wieder nach oben beginnen und dann können wir eine andere Instanz, dass ZFS starten.

Ich plane, diese Scheiben in Stücken von etwa 4 GB haben oder so ,, dann kann ich jeden Brocken bewegen und entscheiden, wo sie speichern (mehrfach natürlich gespiegelt) und dann habe ZFS die Stücke zugreifen und setze sie zusammen um größere Brocken für den tatsächlichen Einsatz. Auch würde ZFS ermöglichen diese kleinen Stücke hinzufügen, wenn notwendig, die Größe des größeren Brocken zu erhöhen.

Ich bin bewusst, dass es zusätzlicher Latenz / Netzwerkverkehr wäre, wenn wir meine eigene Anwendung in Java verwendet, aber das ist nur für Backup-Speicher. Die Produktion Lagerung ist ganz andere Konfiguration, die bezieht sich nicht.

Edit: Wir haben ein System, das nutzt alle verfügbaren Raum und im Grunde, wenn nicht genügend Platz vorhanden ist, wird es alte Schnappschüsse zu entfernen und um die Lücken zwischen den alten Schnappschüssen zu erhöhen. Der Zweck meines Vorschlags ist der ungenutzte Raum von Produktionsanlagen zu ermöglichen, ohne zusätzliche Kosten nutzen zu setzen. Zu verschiedenen Zeiten verschiedene Einheiten unserer Produktionsanlagen wird freier Speicherplatz verfügbar sein. Auch das System ich beschreibe, sollte jede einzelne Fehlerquelle beseitigen, wenn auf Daten zuzugreifen versucht. Ich hoffe, nicht zwei große Einheiten zu kaufen haben und halten sie synchronisiert. Ich würde es vorziehen, nur zwei Access Points zu haben, und dann können wir große / kleine Einheiten in irgendeiner Weise wir um nahtlos wollen und Verschieben von Daten mischen.

Dies ist eine Quer Post, weil diese mehr Software als Sysadmin Zusammenhang ist die ursprüngliche Frage bezogen ist hier: https: // serverfault. com / Fragen / 212.072 . kann es eine gute Idee für die ursprüngliche

geschlossen werden
War es hilfreich?

Lösung 2

Es scheint, dass jede feste Länge Datei auf einem beliebiges Dateisystem für ein Block-Gerät für die Verwendung mit ZFS tun. Nicht sicher, wie Neustarts Arbeit, aber ich bin sicher, können wir einige Boot-Up-Befehle zu arbeiten, die raus schreiben.

Edit:. Die feste Länge Datei auf einem Netzwerk-Dateisystem wie NFS sein würde

Andere Tipps

Eine Möglichkeit wäre, eine Solaris-Gerätetreiber zu schreiben, gerade ein Block-Gerät eine echte Festplatte emuliert, aber das wird stattdessen auf Ihre Anwendung kommunizieren zurück.

Starten Sie mit dem Lesen der Device Driver Tutorial , dann einen Blick auf Opensolaris-Quellcode für echte Treiber-Code.

Alternativ könnten Sie Solaris iSCSI-Ziel investigate Modifizieren der Schnittstelle mit der Anwendung sein. Wieder unter Open COMSTAR wird ein guter Anfang sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top