Homeserver - Partitionierung

dominik-w

Well-Known Member
Ich habe einen Homeserver mit einer 3tb festplatte, auf der sowohl das OS (FreeBSD) als auch die zu teilenden Daten liegen sollen.

Der Server soll Musik, Filme, Bürokram etc. über samba und nfs zur Verfügung im Netzwerk stellen.

Ich weiß jedoch garnicht wie ich die Platte partitionieren soll und welches Dateisystem ich für die Daten wählen sollte.

Meine Idee war jetzt einfach eine große Partition für die Daten in UFS zu machen und bsd auf einer kleinen Partition von ~20GB zu installieren.

meint ihr, das ist halbwegs sinnvoll?
 

lockdoc

Well-Known Member
Ich bin mir jetzt nicht hundert prozentig sicher, ob man unterdessen schon von ZFS ohne externe Medien booten kann, aber falls ja wuerde ich dir ZFS ans Herz legen.

Den ganz grossen Vorteil dabei sehe ich, dass du bestimmte Samba-Shares (beispielsweise deine Dokumente) auf einem seperatem Datenset hast und diese dann mit zfs snapshots backuppen[1] kannst.
Samba 36 (aus den Ports) unterstuetzt dabei in Verbindung mit ZFS Snapshots die previous versions, so koenntest du dann (wenn du die Snapshots immer anlegst) ganz bequem vom Windows Explorer aus aeltere Versionen deiner Dateien wiederherstellen.


Fuer die FreeBSD partition an sich wuerde ich schon mind. 40G einplanen (wenn ich grad so auf meinen Speicherverbrauch vom System kucke).

[1] Ja lokale Snapshots sind keine Backups xD
 

Wasp

Insektenspray-Gegner
Also mein Desktop(!) kommt mit /, /var und /usr auf einen Verbrauch von ca. 17 GB und das ist ein Desktop und jeweils immer auf volle Gigabyte aufgerundet. Wenn ich da also X, OpenOffice, Java und was da vielleicht noch alles für dicke Brocken drin hängen die man auf einem Server nicht benötigt abziehe, würde ich den effektiven Verbrauch auf 10 GB schätzen -- vorsichtig geschätzt.

Allerdings läuft hier alles mit UFS2, ich weiß nicht, was ZFS noch so alles frist, das soll ja in jeder hinsicht recht "hungrig" sein, aber nach Deinem Ausgangs-Beitrag möchtest Du ja auch UFS nutzen...
 

ath0

Well-Known Member
Also ZFS schön und gut, jedoch ist es kein Allheilmittel. Ja booten kann man von ZFS, habe das selber im Einsatz und kann mich wirklich nicht beklagen. Zu Beachten gilt, dass ZFS Ein wenig RAM hungrig ist, das macht sich bei großen und vielen Zugriffen bemerkbar oder eben wenn gewisse Features genutzt werden, welche aber auch abgeschaltet werden können bzw. default aus sind. Wenn du da ne schwache Kiste hast also ne Sempron Schüssel mit 2,X Ghz nimm UFS, auch wenn der RAM sagen wir mal unter 4 GB(empfehlen würde ich aber MEHR ;) ) ist würde ich definitiv auf UFS setzen.

Bei der Partitionierung würde ich nach meinen Erfahrungen (verbessert mich bitte) ca so vorgehen.
Code:
/  ~60GB
Swap ~8GB (mehr macht in meinen Augen im Normalfall keinen Sinn)
Daten Rest

Jetzt kann man das noch bis zur Erschöpfung betreiben und var, tmp usw auch in eigene Partitionen auslagern, aber das habe ich bis jetzt einmal gemacht und ... keinen Vorteil bemerkt.
Raten würde ich dir aber zu einer separaten (kleinen?) Systemplatte, dann sind Backups leichter zu machen und deine Daten in einem Raid abzulegen, sonst hast du bei einem Plattencrash keine Daten mehr.
 

Frank

Anfänger
Den ganz grossen Vorteil dabei sehe ich, dass du bestimmte Samba-Shares (beispielsweise deine Dokumente) auf einem seperatem Datenset hast und diese dann mit zfs snapshots backuppen[1] kannst.
Samba 36 (aus den Ports) unterstuetzt dabei in Verbindung mit ZFS Snapshots die previous versions, so koenntest du dann (wenn du die Snapshots immer anlegst) ganz bequem vom Windows Explorer aus aeltere Versionen deiner Dateien wiederherstellen.

Das wußte ich gar nicht, das sowas geht.
Kann man bei der Wiederherstellung auch einen Snapüberspringen.
Snapshot 1
Snapshot 2
Snapshot 3
Snapshot 4
Huch, jetzt möchte ich zurück zu snapshot 2. Geht das?
Oder muss ich zu 3 und dann zu 2.
Und wie stelle ich mir das vor, was ich im Windows Manager machen muss?
 

lockdoc

Well-Known Member
Das wußte ich gar nicht, das sowas geht.
Kann man bei der Wiederherstellung auch einen Snapüberspringen.
Snapshot 1
Snapshot 2
Snapshot 3
Snapshot 4
Huch, jetzt möchte ich zurück zu snapshot 2. Geht das?
Oder muss ich zu 3 und dann zu 2.
Und wie stelle ich mir das vor, was ich im Windows Manager machen muss?

Hierzu mal die smb.conf fuer die, die es noch nicht kennen.
Code:
[MyShare]
 path             = /var/data/files/documents
 vfs objects      = shadow_copy2
 shadow:snapdir   = .zfs/snapshot
 shadow:sort      = desc
 shadow:format    = %Y-%m-%d

vfs objects: hier wuerd der handler "shadow_copy2" einfach eingebunden

snapdir: zeigt dahin wo das eigentliche backup liegt (relativ zum share
directory). Hier muss nicht unbeding ZFS genutzt werden, sondern man
kann auch ne einfache Kopie der daten dahin kopieren. Allerdings nimmt
das ja vieeeeeeeeeeeeeeel mehr Platz ein

format: Ist der Bezeichner wie der Eigentliche Backup Ordner in snapdir
heisst. Wenn man mein Beispiel nimmt, dann waere das beispielsweise:
/var/data/files/documents/.zfs/snapshot/2012-10-31

sort: gibt einfach nur an, wie es nachher bei windows im prev_version
tab geordnet dargestellt werden soll. "desc" macht wohl mehr sinn auch


Das mit der Reihenfolge sollte dir ja als Anwender voellig egal sein, da du ja nur das wiederherstellen kannst was es auch gibt. Du kannst zu jedem einzelnen snapshot, welcher dann im snapdir liegt zurueckspringen.
Im WindowManager wird es ganz einfach angezeigt und du doppelklickst darauf und es oeffnet sich ein weiterer explorer mit den alten versionen. Danach kannst du via drag/drop oder copy/paste einfach restoren. Siehe folder_view.png
attachment.php
 

Anhänge

  • prev.png
    prev.png
    28,4 KB · Aufrufe: 476
  • folder_view.png
    folder_view.png
    92,5 KB · Aufrufe: 192

pit234a

Well-Known Member
und natürlich würde ich in fast allem mal wieder meinen Vorrednern widersprechen wollen, wobei du bedenken solltest, dass ich wirklich nicht einer der Wissenden bin.

ZFS macht für mich nur dann Sinn, wenn mehrere Festplatten zu einem Verbund zusammengeschaltet werden sollen. Alle anderen Vorteile sind meist theoretischer Natur und dafür gibt es jedoch etliche praktische Nachteile.

Den Speicherbedarf für das System kann ich auch nicht verstehen und deinen Wunsch, System und Daten auf dem gleichen Medium zu haben, schon gar nicht. Das ist doch ein echtes Handicap. So was halte ich nicht für gut, aber wie gesagt, manchmal bin ich etwas anders.

Code:
[pit@files] ~/> df -h
Filesystem        Size    Used   Avail Capacity  Mounted on
/dev/ufs/FILES    3.8G    2.8G    705M    80%    /
devfs             1.0K    1.0K      0B   100%    /dev
tmpfs             2.1G     57M    2.1G     3%    /tmp
tmpfs             2.1G     76K    2.1G     0%    /var/run
procfs            4.0K    4.0K      0B   100%    /proc
raid1             3.6T    3.1T    483G    87%    /raid1
Dies ist die Ausgabe meines aktuellen Fileservers, der aber inzwischen schon recht alt ist.
Das System liegt auf einer Partition auf einem USB-Stick. Da werden 2.8G verbraucht und das ist schon ziemlich viel, weil ich einige zusätzliche SW installiert habe. tmpfs nutze ich redlich, wie du sehen kannst und ich denke, da gibt es auch noch mehr Potenzial. Ziel ist, den Stick quasi nur zum Booten zu benutzen und dann nicht mehr darauf zuzugreifen. Protokolle, Syslogs, die ich mitnehmen will, habe ich auf meine Festplatten im raid-Verband ausgelagert. Bei mir sind das noch fünf oder sechs Platten, weiß ich nun nicht so genau und die haben ZFS.
Ziemlich alt.
Wenn so in vielleicht ein oder zwei Jahren ein Neuer ansteht, dann würde ich das genauso wieder machen, wenn nicht technische Änderungen mich für etwas anderes begeistern könnten. Damit will ich nicht sagen, dass ich irgendwie genial bin, aber, dass es sich in meinem Haushalt sehr bewährt hat.

Wozu ich in jedem Fall rate, ist RAM. Wenn du eine 64B CPU hast, dann gute 4G.
Wovon ich abrate, ist SWAP. SWAP ist quatsch. (Ich wiederhole aber, dass ich da meist alleine bin mit meiner Meinung). Wenn aber SWAP, dann keinesfalls auf ein USB-Medium! Nun kann ich mir gut vorstellen, dass dich das verunsichert, wenn hier aus berufenem Munde gesagt wird, 8G SWAP und dann kommt ein erklärt Unwissender und sagt, alles quatsch. Was ich niemals empfehlen würde (weil ich eben kein Experte bin), ist, ein System ohne SWAP einzurichten. Leg einen an, wenn alles läuft, wie es soll, dann probier es mal ohne. Weshalb diese Rolle rückwärts? Weil unverschämt viel Arbeit macht, nachträglich einen SWAP anzulegen, bzw den Platz dafür frei zu räumen. Ich kann aber auch sagen, dass auf allen meinen Rechnern der SWAP inzwischen vollkommen ausgeschaltet ist (außer, wo er zur Hibernation genutzte wird) und dass ich damit keinerlei negative Erfahrungen mache. Gerade nicht auf dem Fileserver, der ja nichts komplexes zu rechnen hat.
 

Frank

Anfänger
@lockdoc

Vielen Dank für Deine ausführliche und bebilderte Antwort!!!
Das werde ich nächstes WE mal in Ruhe aufsetzen und testen.
Das ist ja cool.

Gruß
Frank
 

ath0

Well-Known Member
Zur erklärung, ich lege immer Swap an, da ich auf allen Boxen selber Compile. Legt man keinen Swap an kann es Vorkommen, dass der Build bricht. Der Bruch ist aber nicht abhängig von dem Füllgrad des RAMs, zumindest habe ich es daran nie festmachen können.
Meine Empfehlung ist nur dem geschuldet, dass ich es selber so handhabe. Ich habe keine Kiste unter 4 GB und mein Desktop hat 16GB RAM. Die 4GB Kisten nutzen ihre 8 GB ab und an, beim bau eben, und die 16 GB Möhre läuft in Swap wenn ich mal wieder mit mehreren VirtuelBox VMs umher spinne.

Experte bin ich echt nich, eher langjähriger UNIX Nutzer mit jeder menge Dusel(glück) :D
 

Yamagi

Possessed With Psi Powers
Teammitglied
Die Swap ist ein elementarer Bestandteil der virtuellen Speicherverwaltung. Ohne Swap bricht man grundlegende Annahmen und das wird sich rächen. Spätestens, wenn nach einigen hundert Stundenlaufzeit und damit einhergehender Fragmentierung des physischen Speichers wirklich Druck auftritt, können dank Overcommitting gemachte Zusagen nicht mehr erfüllt und werden und die Folge sind dann sterbende Prozesse bis hin zu Kernelpanik. Wenn schon keine Swap, dann bitte wenigstens den Kernel ohne Swap-Unterstützung neubauen, sofern das überhaupt noch geht.
 

pit234a

Well-Known Member
Die Swap ist ein elementarer Bestandteil der virtuellen Speicherverwaltung. Ohne Swap bricht man grundlegende Annahmen und das wird sich rächen. Spätestens, wenn nach einigen hundert Stundenlaufzeit und damit einhergehender Fragmentierung des physischen Speichers wirklich Druck auftritt, können dank Overcommitting gemachte Zusagen nicht mehr erfüllt und werden und die Folge sind dann sterbende Prozesse bis hin zu Kernelpanik. Wenn schon keine Swap, dann bitte wenigstens den Kernel ohne Swap-Unterstützung neubauen, sofern das überhaupt noch geht.

Nimm dir das unbedingt zu Herzen, da redet einer, der sich auskennt!!!

Da kann und da will ich keinerlei Widerspruch einlegen und nur kurz zeigen, wie das bei meinem fileserver aktuell aussieht:
Code:
SYSTEM MEMORY INFORMATION:
mem_wire:        1151184896 (   1097MB) [ 27%] Wired: disabled for paging out
mem_active:  +    133869568 (    127MB) [  3%] Active: recently referenced
mem_inactive:+   2516836352 (   2400MB) [ 60%] Inactive: recently not referenced
mem_cache:   +        73728 (      0MB) [  0%] Cached: almost avail. for allocation
mem_free:    +    335593472 (    320MB) [  8%] Free: fully available for allocation
mem_gap_vm:  +       552960 (      0MB) [  0%] Memory gap: UNKNOWN
-------------- ------------ ----------- ------
mem_all:     =   4138110976 (   3946MB) [100%] Total real memory managed
mem_gap_sys: +    142114816 (    135MB)        Memory gap: Kernel?!
-------------- ------------ -----------
mem_phys:    =   4280225792 (   4081MB)        Total real memory available
mem_gap_hw:  +     14741504 (     14MB)        Memory gap: Segment Mappings?!
-------------- ------------ -----------
mem_hw:      =   4294967296 (   4096MB)        Total real memory installed

SYSTEM MEMORY SUMMARY:
mem_used:        1442463744 (   1375MB) [ 33%] Logically used memory
mem_avail:   +   2852503552 (   2720MB) [ 66%] Logically available memory
-------------- ------------ ----------- ------
mem_total:   =   4294967296 (   4096MB) [100%] Logically total memory
Code:
uptime
12:00pm  up 95 days, 19:28, 1 user, load averages: 0,00 0,00 0,00
wie man sieht, geht das ziemlich lange gut bei mir und wie man auch sieht, ist die Load niedrig. Was normal ist, weil mein Fileserver hauptsächlich zum Aufnehmen und Abspielen von Filmen und Musik dient und nur gelegentliche Datensicherungen entgegen nimmt.
So etwa alle halbes Jahr einmal schalte ich ab und sauge Staub aus dem Gerät und checke die Festplattenbefestigung und die Lüfter und so. Zwischen diesen Intervallen läuft das Ding 24x7 vollkommen problemlos, falls nicht gelegentliche Stromausfälle stattfinden.
 

dominik-w

Well-Known Member
vielen dank für die vielen sehr hilfreichen Antworten :)

Also die Kiste wird mit einem Intel Atom D2700 Prozessor mit 2*2.13 GHz und 4GB RAM laufen.

Das ich für das System mehr als 20 GB einplanen sollte ist ja kein großes problem.

Den Speicherbedarf für das System kann ich auch nicht verstehen und deinen Wunsch, System und Daten auf dem gleichen Medium zu haben, schon gar nicht. Das ist doch ein echtes Handicap. So was halte ich nicht für gut, aber wie gesagt, manchmal bin ich etwas anders.

Hmm also bisher habe ich das auch noch nie so gemacht. (Und so ganz wohl ist mir bei der Sache auch nicht) Aber das Ding soll so einfach und stromsparend wie möglich sein... außerdem habe ich auch die doppelte chance mich mal wieder um eine abgerauchte Festplatte zu kümmern wenn ich das System sepparat aufspiele. :D

Backups werde ich wohl per hand auf extrernen Festplatten erstellen. (wie genau sollte ich mir wohl auch noch mal genau überlegen...)

Bleibt noch die frage ZFS oder UFS?

Alle anderen Vorteile sind meist theoretischer Natur und dafür gibt es jedoch etliche praktische Nachteile.

wie äußern sich denn diese Nachteile im Alltag?
 

pit234a

Well-Known Member
dominik-w :
...wie äußern sich denn diese Nachteile im Alltag?

Dazu http://www.bsdforen.de/showthread.php?t=28458 und zwar nur, weil es gerade aktuell hier behandelt wird. Bemühst du die Suche, findest du reichlich mehr dazu.

ZFS braucht viel mehr CPU und RAM, um das mal Platt zu sagen.
Es ist vielleicht das modernste Dateisystem überhaupt und bietet sehr viele Möglichkeiten, doch diese Komplexität kostet unter Umständen Leistung oder eben umfangreiche Vorsorge, um doch gute Performance zu gewinnen. Es ist so komplex, dass es mitunter schon schwierig zu verstehen ist, was aber hauptsächlich bei Zusammenschlüssen vieler Platten gilt.
Es finden sich immer wieder Beiträge, über schlechte Performance verschiedener Netzwerk-Dienste mit ZFS. Das angeführte Beispiel ist eines unter vielen.
Mit ZFS kann es durchaus vorkommen, dass dir dein System mit 4GB RAM voll ausgelastet ist. Stell dir das mal vor. Und die derzeit gelisteten Anforderungen gehen weit über diese 4GB hinaus, um gute Performance zu garantieren.

Dazu möchte ich den Vergleich zu meinem alten Fileserver anstellen. Das ist ein gekauftes Gerät, Thecus, mit einer Atom oder Geode CPU (32Bit) und 500MB RAM. Fünf Festplatten bilden einen Raid5 und das System ist embedded, ein busybox/Linux. Embedded bedeutet, es bootet von einem ROM in eine RAM-Disk auf diesen 500MB und läuft nahezu ausschließlich von dort und es ist deshalb nahezu gar nicht permanent zu ändern, bzw zu erweitern. Das ist eine interessante und sichere Technologie, aber auch eine, die einen leicht zur Verzweiflung bringen kann, wenn man da etwas ändern möchte. Aus diesem Grund gab ich es auf. Hinsichtlich seiner eingebauten Möglichkeiten und der gemessenen Netzwerk-Performance steht es in nichts dem sehr viel potenteren 64Bit neuen Fileserver mit seinen 4GB RAM und ZFS nach. Bei lokalen Tests, also Schreibgeschwindigkeiten direkt auf dem jeweiligen Gerät, ist der neue fileserver deutlich vorne. Doch im Netz macht sich dieser Vorteil bei mir nicht bemerkbar.
Weder der Thecus, noch mein Eigenbau werden professionellen Ansprüchen gerecht, doch das gilt für deinen Versuch doch auch.

Was den Platzbedarf für das System anbelangt, habe ich eine Zahl von 250MB bei AMD64 im Kopf, für das Grundsystem. Was soll denn da alles drauf? Natürlich, 20GB sind nicht viel auf einer großen Platte, aber wozu? Wenn alles, was du installieren willst auf 3Gb Platz findet, bietet sich doch ein USB Stick geradezu an. Allerdings gibt es große Unterschiede und ich habe einige durchprobiert, bis ich mich für einen Chip-Typ entschied (ich müsste nachsehen, welcher das war und dich glaube, das bringt nichts, weil es die heute sicher nicht mehr gibt). Aber das lasse ich nun lieber, du hast ja schon eine Entscheidung getroffen und die kann ich natürlich auch verstehen.
 
Oben