Frage zu Partitionen und Dateisystemen

S

spaghetticode

Guest
Hallo Forum!

Ich bin seit über 10 Jahren Linux-Nutzer und interessiere mich im Moment sehr für FreeBSD. Mir gefällt das Konzept eines freien Betriebssystems "aus einem Guss", sowie die liberalere BSD-Lizenz. Kurzum, ich möchte mich gern mit FreeBSD beschäftigen.

Einsatz wäre auf einem Laptop als Desktop-System; bei einem ersten Test mit einer PC-BSD-CD schien es auch so, als ob alle wichtigen Komponenten des Laptops erkannt würden.

Ich habe auch schon ein wenig im Handbuch gestöbert, allerdings bin ich bezüglich der Partitionierung noch ein wenig unsicher, bzw., habe das Handbuch an dieser Stelle nicht so ganz richtig verstanden.

Mein Laptop hat eine SSD (100 GB) und eine normale Festplatte (1 TB). Unter Linux handhabe ich das bisher so, dass ich die SSD für das System verwende und die normale HD für das /home-Verzeichnis und die SWAP-Partition. So würde ich das gern auch unter BSD halten.

Wenn ich das richtig verstanden habe, ist es unter BSD nicht unüblich, das /home-Verzeichnis unterhalb von /usr anzulegen, und dass zusätzlich auch Programme sauber unter /usr abgelegt werden. Wäre es dann im Sinne möglichst weniger Datenzugriffe auf die SSD sinnvoll, /usr komplett auf die normale HD zu legen, und /home eben unter /usr zu halten?

Auch bin ich mir unsicher, was das Dateisystem angeht. Ich habe nicht besonders viel Ahnung von Dateisystemen und nutze irgendwelche tollen Snapshot-Features bislang auch nicht. Unter Linux setze ich EXT4 ein, aber nicht aus technischen Gründen, sondern einfach, weil es dort der Quasi-Standard ist. Welches Dateisystem empfiehlt sich unter BSD? Ist ZFS dort sowas wie der Standard?

Für ein paar ergänzende Infos und Tipps zu diesem Themenkomplex wär' ich dankbar!
 
Hallo und willkommen!

Also zunächst würde ich die SSD nicht unnötig schonen wollen (wenn es sich um ein halbwegs aktuelles Gerät handelt das bissl was taugt). Festplatten im Allgemeinen und SSDs im Speziellen sind Verschleisteile.

Klassisch liegen die Home-Verzeichnisse unter /usr/home wobei ein symbolischer Link von /home auf /usr/home verweist (da viele Programme hier etwas erwarten). Wenn du /usr komplett auf deine HDD legen willst profitierst du eigentlich kaum noch von der SSD, da hier ja auch alle Programme drin liegen. Das ganze hängt nunmal stark von der Verteilung deiner Daten ab. Wieso nicht alles auf die SSD und /usr/home auf die normale HDD? Das wäre wohl das effizienteste.

Welches Dateisystem du verwendest musst du selbst entscheiden. ZFS ist definitiv das modernere und flexiblere Dateisystem, benütigt aber auch deutlich mehr Ressourcen und KnowHow im Betrieb. UFS ist abgehangen, robust und hat den "einrichten und vergessen" Charakter.

Wenn du die Benefits von ZFS nutzen und dich mit ZFS auseinandersetzen willst und zusätzlich noch ein potentes Gerät hast (ich meine das Notebook) dann nimm ZFS.
Wenn du dich mit dem Dateisystem nicht rumschlagen willst, es konservativ nutzt (nicht spontan Datasets anlegen, umlegen, Snapshots ziehen etc.) dann nimm UFS.

Das wären meine Tipps
 
Hallo spagetticode,

ich nutze FreeBSD hier auf meinem ThinkPad R61 seit Jahren... Aber zu Deiner Frage: ZFS als Dateisystem ist sicherlich eine SEHR gute Wahl - und ein "de fakto" Standard :-) Und das ssd und externe Platte angeht - das kannst Du halten wie Du möchtest, macht auch Sinn, wie Du es vorhast. Ich persönlich habe z.B. /home nicht unter /usr/home liegen (also als link) - hier am Institut werden die User direkt vom Server auf /home gemounted. Lokale Neutzer (auf einem laptop z.B.) liegen dann unter /local/home - naja, so mache ich das...

Es ist übrigens nicht unbedngt notwendig mit PC BSD anzufangen - eine minimale Installation von FreeBSD und ein zufügen von benötigter Software und einige Konfigurationsmodifikationen ist ein sehr gutes Lernumfeld um das System auch tiefer kennenzulernen... Lass mal wissen, welche Erfahrugnen Du machst und was noch Fragen verursacht. Am besten eifach mal anfangen. Vielleicht das Augenmerk dabei auf Einfachheit legen... ;-) Natürlich ist PC-BSD gut... Es gibt auch noch GhostBSD.

Grüße, Norbert
 
Hallo Rakor und danke für die ausführliche Antwort.

Was das Dateisystem angeht, klingt das für mich nach UFS. Jedenfalls erstmal - ich gehe ja davon aus, dass ich bei FreeBSD mehr mit dem System-Innenleben zu tun habe und dann vielleicht über kurz oder lang auch Interesse an Dateisystemen entsteht. ;-) Aber vorerst tendiere ich eher zu "einrichten und vergessen".

Was die Partitionierung angeht - da muss ich mich dann offenbar noch ein bisschen einlesen. Wenn ich dich richtig verstehe, würde ich also eine einzelne Partition auf der SSD anlegen, Mountpoint wäre dann das Wurzelverzeichnis. Und auf der normalen HD dann eine Datenpartition, Mountpoint /usr/home. "Weiß" das System aber dann, dass /usr selbst auf der SSD liegt? Also, geht das einfach so, ein Unterverzeichnis auf einer eigenen Partition, obwohl das Elternverzeichnis auf einer anderen liegt?

Und wird das Einrichten eines "symbolischen Links von /home auf /usr/home" im Handbuch beschrieben, oder passiert das während der Installation gar automatisch?

bsd4me - danke auch dir für deine Antwort. Ich hatte auch nicht vor, mit PC-BSD anzufangen; was ich so gelesen habe, bin ich damit ja ziemlich an deren PBI-Konzept gebunden. Warum irgend ein Derivat von irgendwas nutzen, wenn ich gleich das Original nehmen kann? Ich hatte nur mit der CD schauen wollen, ob BSD auf meinem Laptop überhaupt läuft; ist zwar kein brandneues Gerät, aber auch kein *allzu* altes, da wollte ich wegen der Hardware auf Nummer Sicher gehen.
 
Was die Partitionierung angeht - da muss ich mich dann offenbar noch ein bisschen einlesen. Wenn ich dich richtig verstehe, würde ich also eine einzelne Partition auf der SSD anlegen, Mountpoint wäre dann das Wurzelverzeichnis. Und auf der normalen HD dann eine Datenpartition, Mountpoint /usr/home. "Weiß" das System aber dann, dass /usr selbst auf der SSD liegt? Also, geht das einfach so, ein Unterverzeichnis auf einer eigenen Partition, obwohl das Elternverzeichnis auf einer anderen liegt?

Naja jede Partition die du mountest liegt doch in irgendeinem Elternverzeichnis. Ob das nun / oder /usr heisst ist da relativ wurst.... Du kannst so verschachtelt mounten wie du willst, musst nur sicherstellen, dass der Mountpfad dann auch da ist. Theoretisch könntest du auch / auf die SSD legen /usr auf die HDD /usr/home wieder auf die SSD und /usr/home/daten auf die HDD. Macht sicherlich wenig Sinn... ist aber machbar.
/usr ist einfach ein Verzeichnis. Entweder liegen Daten in dem Verzeichnis (dann logischerweise auf der Festplatte die /usr enthält) oder da ist eine andere Partition eingemounted. Dann liegen die Daten halt dort. Im unglücklichsten Fall mountest du über bestehende Daten drüber... Das bringt nur in den meisten Fällen nix.

Und wird das Einrichten eines "symbolischen Links von /home auf /usr/home" im Handbuch beschrieben, oder passiert das während der Installation gar automatisch?
Das macht der bei der Installation automatisch. Kannst du aber natürlich im Nachgang noch alles ändern wenn du das willst.
 
ZFS ist eher einrichten und vergessen als UFS. Bei UFS musst du dir bei einer Partitionierung vorher Gedanken machen, wie groß du die Partitionen machst. Bei ZFS kannst du später noch ZFS Partitionen (Datasets) anlegen und deren Größen nach Belieben verändern.
 
Also ich würde (wie auch bei sehr vielen aktuelle Linux-Distributionen) einfach nur das Root-Verzeichnis (/ als einziger Mountpoint) anlegen und mich nicht mit einer Aufteilung rumplagen. Vor allem, wenn es sich hier um einen Desktop handelt. Letztlich hat man ja keine Vorteile, wenn man das noch alles aufteilt...

Ein Backup zieht man dann einfach von der gesamten Platte. In diesem Fall würde ich die SSD für FreeBSD komplett nehmen und auch die home-Verzeichnisse drauf lassen, es soll ja schließlich mit einer SSD schneller werden! Selbst die Swap-Partition kannst du wegfallen lassen, wenn du genügend RAM hast.

PS: Ich setze auch immer noch auf UFS, das funktioniert einfach so...
 
Also ich würde (wie auch bei sehr vielen aktuelle Linux-Distributionen) einfach nur das Root-Verzeichnis (/ als einziger Mountpoint) anlegen und mich nicht mit einer Aufteilung rumplagen. (...) In diesem Fall würde ich die SSD für FreeBSD komplett nehmen und auch die home-Verzeichnisse drauf lassen, es soll ja schließlich mit einer SSD schneller werden!

Naja, dann wäre ja erstens die zweite HD ungenutzt und zweitens hätte ich dann für System UND Daten nur 100 GB. Da ich meinen gesamten Papierkram letztes Jahr komplett digitalisiert habe und außerdem gerade meine Musiksammlung digitalisiere, ist das ein bisschen dünn. Also, zumindest das /home-Verzeichnis möchte ich schon auf der TB-Festplatte haben. Vom Geschwindigkeitsvorteil profitiere ich ja dann sowohl beim Systemstart, als auch beim Starten der Programme trotzdem. Bin auch kein so großer Geschwindigkeitsjunkie, die SSD war halt ab Werk verbaut - ein Kaufkriterium war das nicht und wäre es auch bei einem Neukauf nicht.
 
Ich würde einen system-zpool, eine swap und ein ZIL auf die SSD machen (im verhaeltnis 8/1/1 des verfügbaren platzes) und ein homepool auf die HDD. Danach brauchst du dir über die Dateisysteme keine Gedanken mehr machen :)
 
Da kann man mal sehen, wie unterschiedlich das gesehen wird.
Ob dir am Ende all diese Tips dann was nutzen? Gute Argumente hat jeder für seine eigene Entscheidung, die er ja irgendwann mal getroffen hat.

ZFS ist für mich zu viel des Guten. Also, ich nutze es auch auf meinem Fileserver als System für den Raid-Verband und bin damit sehr glücklich. Für einen "normalen" Desktop bietet es mir zu viel an, was für mich als einfacher Nutzer nur Ballast bedeutet. Es geht zwar sehr bequem damit Snapshots zu machen, doch ob man das auch macht und braucht, muss jeder selbst wissen. Bei einem Laptop, der vielleicht gar nicht mal so lange angeschaltet bleibt, tendiere ich eher nicht zu solchen Lösungen. Da ist tatsächlich ext4 eine sehr gute Wahl, was es bei FreeBSD nicht gibt. UFS macht einen aber unbedingt auch glücklich. Es ist immer noch meine Wahl für jeden einfachen Desktop und erst recht für einen Laptop.

Partitionen machen einen Sinn, vor allem dann, wenn du diesen Sinn stiften kannst. Wenn du etwas darüber weißt, wie Partitionen funktionieren und welche unterschiedlichen Eigenschaften man einer Partition geben kann, dann solltest du das vielleicht umsetzen. Für die reine Funktion eines Systems braucht man nur eine einzige Partition und meist ist das die sinnvollste Entscheidung. Legst du Partitionen an, dann kann es unter Umständen passieren, dass diese mal voll werden und dann blockiert dein System. Das ist gar kein so seltener Fehler. Natürlich passiert das unter Umständen auch mit einer einzigen Partition, aber erst Welten später. Bei heutigen Festplatten vielleicht nie.

Über SWAP wird gerne gestritten. Ich selbst trotze allen guten Ratschlägen und nutze nirgendwo überhaupt SWAP. Die Argumente will ich nicht anführen, aber es funktioniert vollkommen problemlos. Allgemein gilt aber, dass FreeBSD wohl einen SWAP erwartet und vielleicht mal hängt, wenn keiner da ist. Wie gesagt, erleben tue ich das nicht, auf keinem PC. Es kann schwierig sein, nachträglich SWAP anzulegen. Wenn deine Platte mal mit einer einzigen Partition belegt ist, ist das nicht mehr ganz trivial. Es ist aber umwerfend einfach, eine angelegte SWAP-Partition nicht als solche zu nutzen. Deshalb kann man nur empfehlen, eine ausreichend große SWAP-Partition bei der Installation anlegen zu lassen, unabhängig davon, ob diese später genutzt wird oder nicht. Wenn sie genutzt werden soll, dann sollte sie in deinem Fall vermutlich auf der SSD liegen, denn dann, wenn in den SWAP ausgelagert wird, ist das ja immer eh schon langsam. Also die Platte, die am schnellsten ist, sollte den SWAP bekommen (SSDs sind manchmal im Schreiben gar nicht so schnell!).

Die zweite Platte muss nicht ungenutzt bleiben, wenn du das System zunächst komplett auf die erste Platte installierst.
Du kannst jederzeit diese in Partitionen einteilen und jede Partition manuell oder auch automatisch mounten und nutzen. Als Mountpoint kannst du neue Verzeichnisse benutzen (etwa so etwas wie /usr/home/movies oder /usr/home/meinepost) oder du kannst sehr einfach den Inhalt eines bestehenden Verzeichnisses dorthin legen und dann zum Beispiel auch später noch die komplette Platte als Ziel für /usr/home/Nutzer oder was auch immer festlegen.

Für die Verwendung von SSD empfiehlt es sich zuvor noch einige Gedanken zu denken, wie das Dateisystem aussehen soll. Da würde ich etwa versuchen, keine "unnötigen" Schreibzugriffe zu fahren. Solche Sachen wie Journals oder atime beim mounten würde ich da vermeiden. Das gilt auch für ext4, was bei mir also eine Art ext2 auf einer SSD würde. Außerdem wird immer noch trim als eine gute Option angesehen und das Ausrichten an 4K Blöcken wird mittlerweile wohl auch automatisch berücksichtigt, aber nachlesen und hinsehen schadet da nichts. SSD ist immer noch eine Besonderheit, bei der sich lohnt, zuvor die Details nachzusehen.
 
Das kann ich nicht behaupten ;) Die aktuellen SSDs sind schon sehr gut und man muss eigentlich nichts mehr berücksichtigen.
OK. Das akzeptiere ich natürlich. Da habe ich einmal versäumt hinzuzufügen, dass ich keine aktuellen Erfahrungen habe....
Mein letztes System auf einer SSD läuft auf einem ASUS Netbook, ein EEE 1000 irgendwas und das ist inzwischen ein 9.3RELEASE geworden, startete aber mal als 9er FreeBSD, oder sogar als 8er. Es scheint so aus 2010 oder 2011 zu stammen.
 
Wenn die dortige SSD so lange schon überlebt hat, dann ist das wohl ein gutes Zeichen ;-) Mir persönlich sind auch keine Ausfälle von SSDs bekannt, also zumindest unter Freunden und auch nicht bei der Arbeit. Dass jede Platte irgendwann den Geist aufgibt, ist ja normal.
 
Wenn du keine Snapshots brauchst, dann nimm UFS. Bei einem Laptop entfällt das Hinzufügen von weiteren Festplatten zu einem pool ohnehin. Bei einer 100GB SSD und einer 1TB Festplatte macht auch ein RAID, MIRROR oder STRIPE keinen Sinn. Und es gibt da noch so Schauergeschichten wenn man keinen ECC RAM verbaut hat...

Bei mir sieht das so aus: (GPT Schema)
Code:
Größe        Typ                Mountpoint
512kB        freebsd-boot 
108GB        freebsd-ufs        /
4GB          freebsd-swap       none
 
HDD
1TB          freebsd-ufs        /usr/home

Die freebsd-boot Partition braucht man beim GPT Partitionsschema und soll 512kB groß sein.
Der Link von /home auf /usr/home wird automatisch vom Installer erstellt.
Bei der Root Partition habe ich unter den Optionen noch das TRIM-Flag aktiviert.
 
@sterum - na das ist ja super! Daran kann ich mich ja direkt orientieren! :-)

Ich danke euch allen für die super Tipps, Hinweise und Erläuterungen. Dann werde ich die Installation am Wochenende mal in Angriff nehmen und, wenn alles glatt läuft, mit dem Abenteuer "FreeBSD" starten. Ich hoffe, wir lesen uns in Zukunft öfter. :-)
 
Moin,
Meiner Erfahrung nach würde ich /home auf eine eigene Partition legen. Wenn mal ein Betriebssystem-Update ansteht, bei dem man / formatieren sollte, so bleiben wenigstens die eigenen Daten und Einstellungen zu den Applikationen erhalten. Außerdem eignet sich die Partition auch ganz gut, Einstellungen des OS kurzzeitig zu sichern. Welches Dateisystem Du dafür auswählst, ist egal.
Grüßle
 
Hallo allerseits!

pit234a: vielen Dank für Deinen ausführlichen Beitrag.

Ich möchte demnächst ebenfalls FreeBSD auf einem älteren Laptop installieren und fand vieles in diesen thread sehr aufschlußreich.

Über SWAP wird gerne gestritten. Ich selbst trotze allen guten Ratschlägen und nutze nirgendwo überhaupt SWAP. Die Argumente will ich nicht anführen, aber es funktioniert vollkommen problemlos. Allgemein gilt aber, dass FreeBSD wohl einen SWAP erwartet und vielleicht mal hängt, wenn keiner da ist. Wie gesagt, erleben tue ich das nicht, auf keinem PC. Es kann schwierig sein, nachträglich SWAP anzulegen. Wenn deine Platte mal mit einer einzigen Partition belegt ist, ist das nicht mehr ganz trivial. Es ist aber umwerfend einfach, eine angelegte SWAP-Partition nicht als solche zu nutzen. Deshalb kann man nur empfehlen, eine ausreichend große SWAP-Partition bei der Installation anlegen zu lassen, unabhängig davon, ob diese später genutzt wird oder nicht. Wenn sie genutzt werden soll, dann sollte sie in deinem Fall vermutlich auf der SSD liegen, denn dann, wenn in den SWAP ausgelagert wird, ist das ja immer eh schon langsam. Also die Platte, die am schnellsten ist, sollte den SWAP bekommen (SSDs sind manchmal im Schreiben gar nicht so schnell!).

Hier schließt sich für mich eine Frage an: SWAP Partition oder SWAP Datei? Auf der Seite

http://www.wonkity.com/~wblock/docs/html/ssd.html


wird eine SWAP Datei empfohlen. Habt Ihr hier andere Meinungen? Was spräche gegen eine Datei (die sich ja bei Bedarf später sehr einfach verkleinern/vergrößern ließe)?

Situation: Es gibt nur eine SSD (~120 GByte), ich würde sonst auch keine einzelnen Partitionen anlegen, UFS wäre meine Wahl. Nutzung des Laptop einfacher Desktop (Surfen, E-Mail, TeX) - nichts resourcen-hungriges.

VG,
Uwe
 
Das einzige, was für Swap-Dateien spricht ist, dass man TRIM-Unterstützung bekommt. Allerdings kommen bessere SSDs auch gut damit klar, wenn einige Gigabyte dauerhaft belegt sind. Dagegen spricht, dass man einen weiteren Layer bekommt, was das Ausswappen von Pages noch langsamer macht. Außerdem funktionieren Dumps in Swap-Dateien nur so lala.
 
Mit ZFS würde ich auf jeden Fall zu einer SWAP raten, da meiner Erfahrung nach der immernoch manchmal zu langsam ist darin Speicher freizugeben und dann unnötigerweise anfängt Dinge abzuschießen. Bei UFS hab ich auf Desktops nie SWAP gebraucht.
 
Sooo... der erste Installationsversuch am Wochenende ist gescheitert. :-/ Die Installation an sich war unkompliziert; ich habe nichtmal das Handbuch gebraucht, die Installationsroutine ist ja pretty straightforward. Ging sogar schneller als jede Linux-Installation der vergangenen Jahre. :-)

Aber den X-Server habe ich nicht zum Laufen bekommen. Da der grafische Installer von PC-BSD ja problemlos lief, kann es wohl zumindest kein Treiberproblem sein. Leider kenne ich mich auch mit der Xorg-Konfiguration bislang überhaupt nicht aus. Meine Idee war jetzt, die xorg.conf aus einer funktionierenden Linuxinstallation auszudrucken und als Vorlage zu nehmen - vielleicht komme ich damit weiter.

Blöd ist, dass ich keinen Zweitrechner habe, damit ich parallel zur Installation hier im Forum eingeloggt sein könnte, um's zusammen mit eurer Hilfe zu versuchen.
 
Nvidia GeForce GT 650M - auf Optimus lege ich aber keinen Wert (auch hier gilt: die war halt zufällig verbaut, keine bewusste Kaufentscheidung), der Standard nv-Treiber tut alles, was ich brauche. Der wurde offenbar auch automatisch in die xorg.conf eingetragen. Ich habe mir die genaue Fehlermeldung jetzt nicht notiert, aber es ging in Richtung "no screens found". Dazu würde passen, dass noch bis vor zwei Jahren auch viele Linux-Distributionen Probleme mit dem Ansteuern der Hintergrundbeleuchtung hatten. Da musste ich mit verschiedenen Boot-Optionen jonglieren, das Problem wurde aber irgendwann gefixt.
 
Der offizielle nVidia-Treiber (nicht der opensource-nv-kram) funktioniert eigentlich astrein und ist in den Ports verfügbar. Wenn ich mich recht erinnere richtet der sich auch selbst in der xorg.conf ein.
 
Dann hier einmal meine xorg.conf:
Code:
# Layouts
# -------
Section "ServerLayout"
   Identifier  "dualscreen"
   Screen  "Screen0"
   InputDevice  "Keyboard0" "CoreKeyboard"
   InputDevice  "Mouse0"  "CorePointer"
EndSection

# ============

# Servererweiterungen
# -------------------
Section "Extensions"
EndSection

# ============

# Dateien, die X nutzen soll
# --------------------------
Section "Files"
EndSection

# ============

# Serverkonfiguration
# -------------------
Section "ServerFlags"
   Option "AutoAddDevices" "false"
   Option "OffTime"  "10"
  Option "DontZap" "off"
EndSection

# ============

# Module und Erweiterungen des Servers
# ------------------------------------
Section "Module"
EndSection

# ============

# Die Maus
# --------
Section "InputDevice"
   Identifier  "Mouse0"
   Driver  "mouse"
   Option    "Protocol" "SysMouse"
   Option    "Device" "/dev/sysmouse"
  Option  "ZAxisMapping" "4 5"
EndSection

# ============

# Die Tastatur
# ------------
Section "InputDevice"
   Identifier  "Keyboard0"
   Driver  "kbd"
   Option    "XkbModel" "pc105"
   Option    "XkbLayout" "de"
  Option  "XkbVariant" "nodeadkeys"
  Option  "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

# ============

# Monitore
# --------

# Links
Section "Monitor"
   Identifier  "Monitor0"
   Option  "DPMS"
EndSection

Section "Monitor"
  Identifier  "Monitor1"
  Option  "DPMS"
EndSection

# ============

# Grafikkarten
# ------------

# Extern
Section "Device"
   Identifier  "Card0"
   Driver  "nvidia"
   Option  "NoLogo" "true"
EndSection

# ============

# Screens
# -------
Section "Screen"
   Identifier "Screen0"
   Device  "Card0"
   Monitor  "Monitor0"
   DefaultDepth  24
   SubSection "Display"
     Viewport  0 0
     Depth  24
   EndSubSection
EndSection
 
Zurück
Oben