FreeBSD Installation auf USB Stick

carbuncle

Rainbow Six
Hi,

Es ist mal wieder soweit. Ich brauche ein neues NAS und FreeBSD 13 ist draussen. Ideale Bedingungen :).

Meine Frage jetzt: Kann ich FreeBSD auf einem USB Stick installieren? Oder wird dann in kürzester Zeit der USB Stick kaputt geschrieben? Ich habe leider nur 2 SATA Ports und da hängen die Platten für das ZFS mirtor dran. Gibt es da ein paar Optionen die ich setzen kann. Server hat 6GB Ram.

Vielen Dank schonmal!
 
Kauf nicht den billigsten USB Stick, dann sollte das eigentlich passen. Alternativ geht auch ein USB zu SDCard Adapter, die SD Karten sind meist etwas besser genormt was Qualität betrifft. Gibt ja gerade auch im Appliance Bereich recht viel was von einer SDCard bootet.

Optionen meinst du für den USB Stick? Ich würd UFS mit SU aber ohne Journaling wählen.
 
mache ich für meinen NAS seit Jahren, etwa zehn oder zwölf.
Allerdings boote ich nur vom Stick.
Alle möglichen Schreibaktionen habe ich dann vom Stick fern gehalten udn wo es doch nötig ist, habe ich einen Link zu den Platten gelegt. Das heißt, ich binde auf dem Stick auch meinen Pool ein und habe dort Verzeichnisse angelegt und verlinke die dann in meinen Stick.

Zudem halte ich einen Klon des Sticks bereit.
Geplant ist eine Wartung und Wechsel des Sticks etwa alle 180 Tage, aber die Realität sieht doch anders aus. Es läuft eher unregelmäßig, mal 40 tage, mal 360 Tage und den Stick wechsele ich wirklich selten, eigentlich nur bei Bedarf und das kam vielleicht zwei mal vor.
 
Ok, das ist ein Sandisk 64GB Usb3 Stick. Von der Qualität her keine Ahnung. Die Sachen unter /var/log machen mir Bauchweh. Kann ich das irgendwie in eine Ramdisk auslagern? Oder gibts da ein overlay Fs oder so?
 
Die Sachen unter /var/log machen mir Bauchweh. Kann ich das irgendwie in eine Ramdisk auslagern?
klar. Siehe tmpfs(5), wenn du genug RAM hast oder oft neu startest. Ich lege viel in den RAM und das geht gut, ist aber vielleicht nicht "best practice" oder generell ratsam.
Gerade /var/log kann man auch eindämmen und eben weniger loggen und ich habe es, wie oben schon angedeutet, auf meinen Pool gelegt.
Also mein Stick ist in UFS formatiert und die Daten liegen in einem zpool und dort liegen dann die Links zu den Dateien, die ich nicht in tmpfs haben wollte.
 
Stimmt ich kann das ja einfach in den Pool legen indem ich ein directory link in mein dataset zeigen lasse. Tmpfs schau ich mir mal an.

Vielen Dank!
 
Wenn dir das wichtig ist, könntest du auch statt dem Stick einfach ne USB SSD / HDD o.ä. verwenden - sooo teuer ist der krempel ja nicht mehr.
 
Für das Archiv: Man kann sich durch 3 Einträge Einträge in der rc.conf /tmp und /var auf RAM-Disks legen lassen. Ist allerdings für /var etwas gefährlich, da die pkg-Datenbank sich dann beim nächsten Reboot in Rauch auflöst.

Code:
tmpmfs="YES"
varmfs="YES"
populate_var="YES"

Das verlangt, dass /usr früh verfügbar ist, also nicht auf einem eigenen Dateisystem liegt.
 
Soviel Logdaten schreibst du ja nicht, und die Sticks haben alle ne brauchbares wearleveling. Wenn du also nen 64GB Stick drin hast und 5mb logs am tag schreibst sollte das nicht das Problem sein.

Ansonsten wie schon erwähnt, ramdisk, log deaktivieren, externer logserver..
 
System einfach auf den pool installieren? Ich mein, die paar gb (wenn überhaupt) fallen auch nicht wirklich auf...
Hab mich für meine Kiste für zwei ssds im zraid entschieden, es laufen Win ist Jesus drauf und naja, war jetzt auch nicht die Welt.
 
Die heutigen USB-Sticks sind nicht vergleichbar mit denen von vor 10-15 Jahren. Und was soll schon passieren, wenn der Stick flöten geht? Man hat ja ein Backup aller angepassten Dateien (tar.gz, SVN/GIT Repo etc.). Weiter kannst du immer noch einen zweiten USB-Stick verwenden und darauf per ZFS einen Mirror erstellen. "tmpfs" war vor 15 Jahren mal ein Lösung aber die braucht es heute eigentlich nicht mehr.
 
Für das Archiv: Man kann sich durch 3 Einträge Einträge in der rc.conf /tmp und /var auf RAM-Disks legen lassen. Ist allerdings für /var etwas gefährlich, da die pkg-Datenbank sich dann beim nächsten Reboot in Rauch auflöst.

Code:
tmpmfs="YES"
varmfs="YES"
populate_var="YES"

Das verlangt, dass /usr früh verfügbar ist, also nicht auf einem eigenen Dateisystem liegt.
Und ich Dödel mache das seit Langem von Hand. Allerdings nur für /tmp und /var/run.
 
Weiter kannst du immer noch einen zweiten USB-Stick verwenden und darauf per ZFS einen Mirror erstellen.
Eben.
Man kann das auch fürs Gewissen mit einem USB-Hub machen und vier (oder mehr) Sticks als mirror einrichten. IOPS werden addiert, fallen aber fürs Booten und Log schreiben nicht ins Gewicht.
Wenn das Mainboard nach innen einen USB-Port bereitstellt, kann man das Gebastel sogar hübsch im Gehäuse unterbringen. :)
 
Ok, also es ist jetzt doch die Installation auf dem zfs mirror geworden. FreeBSD mochte meine USB Devices nicht. Die Initialisierung hat extrem lange gedauert (Kernel Message: Root mount waiting for: CAM).

Der Installer ist aber ziemlich geil und hat das für mich alles eingerichtet. Ein bisschen Bauchweh macht mir nur wie ich z.B. eine defekte Platte identifizieren soll. Hoffen wir mal dass ada0 wirklich immer die Platte an SATA Port 1 ist :).
 
Bash:
zpool status poolname
sollte dir zeigen, welche Platte (z.B. ada0) defekt ist. Ein
Bash:
dmesg | grep ada0
wiederum sollte dir die Seriennummer der Festplatte ausgeben, die an ada0 angeschlossen ist.

HTH! :)
 
Zurück
Oben