Ich richte gerade einen Dateiserver ein und bin an dem Punkt angelangt, an dem die Datenlaufwerke tatsächlich eingerichtet werden. Das System verfügt über 4 Laufwerke (eine Betriebssystemfestplatte, 3 Datenfestplatten). Die Betriebssystemfestplatte ist als ext4 formatiert und wird nicht zum ZFS-Pool hinzugefügt (wenn ich ZFS ausführen möchte). Mein Hauptanliegen ist die Datenintegrität und das minimale Risiko eines Datenverlusts (das Zwischenspeichern von Laufwerken ist im BIOS deaktiviert). Dafür scheint ZFS der perfekte Kandidat zu sein, da es eine stabile Version für Linux hat (richtig?) Und Datenvervielfältigung, Pooling und RAIDZ unterstützt, bei denen die Festplatten nicht die gleiche Größe haben müssen.
Aber hier ist mein Problem. Der Server verfügt nur über 2 GB RAM und kann in naher Zukunft nicht aktualisiert werden. Realistisch gesehen sind nur 1,5 für ZFS verfügbar, nachdem ich alle anderen Dienste installiert habe. Maximal 10 Clients verwenden es gleichzeitig (durchschnittlich eher 4). Ist das zu niedrig, um als sicher angesehen zu werden?
Soweit ich weiß, kann ZFS in Situationen mit wenig RAM abstürzen und den Pool mitnehmen. Ich habe widersprüchliche Meinungen darüber gehört, ob Swap zur Linderung dieses Problems beiträgt (ich habe ein 20-GB-Swap-Laufwerk). Hat jemand Datenverlust mit ZFS mit wenig RAM erlebt und welche Optimierungen haben Sie vorgenommen, um dies zu verhindern?
In Anbetracht der obigen Ausführungen wäre es möglich, ZFS weiterhin auszuführen, obwohl die Ack-Größe reduziert und etwas reduziert wird, oder ist dies zu riskant?
Systemspezifikationen: 2 GB RAM 20 GB Swap-Laufwerk-Betriebssystem, Debian 7, minimale Installation, mit FTP und XBMC, DNLA (um eine Vorstellung von der RAM-Anforderung zu geben). Wird für das Streamen von Speicherservern und Musikmedien auf andere Geräte verwendet.
Antworten:
Sie geben die Datenintegrität und das minimale Risiko eines Datenverlusts als Hauptanliegen an. Das Ausführen von ZFS mit nur 2 GB Arbeitsspeicher ist riskant und nicht ratsam. Zu wenig RAM beeinträchtigt die Leistung und war in der Vergangenheit die Ursache für zahlreiche nicht montierbare Pools. Das FreeNAS-Projekt gibt mindestens 8 GB RAM an.
Da Ihr Problem der Datenverlust ist, sollten Sie außerdem ECC-RAM verwenden. Da Ihre Box nur 2 GB RAM unterstützen kann, gehe ich davon aus, dass es sich um eine wirklich alte Box handelt, die für ZFS keine gute Wahl wäre.
So beantworten Sie Ihre Fragen:
Vergessen Sie in der Praxis die Deduplizierung, wenn Sie nicht mindestens 32 GB haben, nur als Faustregel. Abhängig von der Poolgröße benötigen Sie möglicherweise erheblich mehr RAM. Zweitens, rechnen Sie nach, wenn Deduplizierung + RAM-Kosten billiger sind als eine Handvoll zusätzlicher Festplatten. Meistens sind mehr Festplatten die billigere Alternative.
Ja, es ist viel zu niedrig.
Das stimmt und viele Leute haben ihre Pools aufgrund des geringen Arbeitsspeichers verloren.
Vergessen Sie den Tausch, Ihre ZFS-Box sollte niemals den Tausch verwenden.
BEARBEITEN: Wenn Sie sich abenteuerlustig fühlen und das Risiko gelegentlicher Panik oder Datenverlust nicht stören, lesen Sie die ZFS-Tuning-Anleitung und passen Sie die genannten Einstellungen an. Hier die Beispieleinstellungen für ein System mit 768MiB Speicher.
Andernfalls investieren Sie hundert Dollar in einen Speicherstreifen und genießen ein stabiles und leistungsfähiges System.
quelle
Bei Systemen mit hohem Speicherdruck (Linux) ist es wirklich notwendig, den Speicher zu aktualisieren. Es gibt immer noch einen Fehler ( Link ), bei dem das Austauschen die E / A (Kernel-Hang-Task) blockiert und sie unbrauchbar macht, sofern sie nicht neu gestartet wird. Ich glaube, dass vm.swappiness = X keinen Einfluss auf zfs hat, daher könnte es ein wenig hilfreich sein, den Bogen auf eine bestimmte Anzahl zu beschränken.
quelle