Anfängerfragen

Midian

Well-Known Member
Ich habe mir vor ein paar Tagen zum ersten mal seit langem ein FreeBSD System aufgesetzt (8.2-RELEASE). Ausgangspunkt waren Probleme mit FreeNAS (http://www.bsdforen.de/showthread.php?t=26726), vielen Dank nochmal an alle die geholfen haben ;)

Nun habe ich mein System so weit laufen, dass es das bietet, was ich brauche. Time Machine Server für meine Apple Kisten, iTunes-Server per firefly, und AFP Shares per netatalk/afpd.

Zwar komm ich mit der Bedienung einigermaßen zurecht, dennoch habe ich ein paar Fragen die ich hier im Thread sammeln wollte (und selbigen daher unter Allgemein statt Netzwerk/Applikationen/.. untergebracht habe).

1) powerd
Hier (http://www.chruetertee.ch/blog/archive/2005/11/02/cpu-throttling-mit-freebsd-6-0.html) habe ich ein kleines Howto gefunden, wie ich meine CPU dazu bringe, bei wenig Leistung automatisch runterzutakten. Ich habe den powerd in der rc.conf entsprechend aktiviert, und dann auch manuell gestartet. Die Restlichen Anweisungen hatte ich nicht befolgt, dennoch zeigt mit sysctl:

Code:
[root@epoch /mnt/data]# sysctl dev.cpu.0.freq
dev.cpu.0.freq: 224

Kann ich daher davon ausgehen, dass das Modul cpufreq bereits geladen wurde, und ich selbiges nicht manuell eintragen musste?

Code:
[root@epoch /mnt/data]# kldstat -v| grep freq
		328 cpu/cpufreq
(Bin mit dem Thema Kernelmodule noch nicht so vertraut)

powerd läuft mit den Standardeinstellungen. Ist das ausreichend, oder wäre es ratsam die Flags wie auf o.g. Seite angegeben manuell einzustellen?

2) Festplatten

Ich nutze 2 2TB Festplatten mit gmirror:
Code:
[root@epoch /mnt/data]# gmirror status
      Name    Status  Components
mirror/gm0  COMPLETE  ad4
                      ad6

Momentan schalte ich die Box von Hand aus, und lass sie per BIOS um 19:00 abends starten. Ich würde sie gerne dauerhaft laufen lassen, hätte dafür aber gerne, dass sich meine Festplatten abschalten, sofern keine Aktivität für 30-60 Minuten war.

Wie muss ich das bei einem gmirror device einrichten? atacontrol o.ä. für beide Einzelplatten, oder für das Mirror-Device? Hat jemand ein gutes (aktuelles) Howto zum Thema HDD spindown parat, mit dem ein Anfänger wie ich weiterkommt? :)

Ist es überhaupt ratsam, das System 24/7 laufen/schlafen zu lassen, oder sollte ich es um 7 abends einschalten, und per cronjob o.ä. nachts um 3 abschalten, da ichs dazwischen in der Regel eh nicht brauche ... ?

3) Standby o.ä.?

Kann ich weiterhin das gesamte System irgendwie in Standby schicken, und per LAN-Zugriff aufwecken? Wenn ja, geht das auch ohne WOL-Packet, oder brauch ich auf dem Client dann ein entsprechendes Programm um die Box aufzuwecken? (Im System steckt eine Intel PRO/1000PCI) Bringt das überhaupt was? (bei meiner letzten Messung noch unter FreeNAS 0.7 hat die Box 38W im Idle gebraucht, allerdings mit beiden HDDs an)

4) netatalk Version

Wie hier beschrieben (http://www.aisecure.net/2011/08/02/freebsd-and-os-x-lion-time-machine/) habe ich meine Time Machine eingerichtet. Dabei ist im verlinkten Beitrag die Rede von netatalk 2.2, sofern ich das aber beurteilen kann habe ich 2.1 installiert

Code:
[root@epoch /mnt/data]# pkg_version -v | grep netatalk
netatalk-2.1.5,1                    =   up-to-date with port

Wie komm ich auf Version 2.2? Wäre mir insbesondere wegen Lion wichtig, ich vermute das Lion Update ist in 2.2 enthalten .. ?

5) packages ... ?

Sollte man generell via packages oder lieber über ports installieren? Ich finde packages bequemer, schlicht weil dann nicht so ewig auf meiner eh schwachen Kiste kompiliert werden musste. Ich wollte von netatalk die zu installierende Version rausfinden, habe aber keinen Befehl gefunden, mit dem ich die Version des remote zur Verfügung stehenden Packages abfragen konnte. Bei mysql bspw. hab ichs dann so gemacht, dass ich im Browser auf (ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.2-release/Latest/) gegangen bin, und nach 5 Minuten laden nach "mysql" gesucht habe, bis ich den Namen des Pakets hatte. Leider steht hier aber nicht unbedingt immer eine Versionsnummer (bei netatalk bspw.). Gibts eine Möglichkeit, die remote verfügbaren Packages zu durchsuchen (wenn man z. B. den Namen nicht kennt), oder auch die verfügbare Version anzuzeigen?
 
Mal zu 2)
Das passt schon so. Ich würde aber noch ACPI Throttling abschalten, denn das bringt keinerlei messbaren Gewinn, macht das System aber unnötig träge.

Folgende Einträge gehen dazu in die /boot/loader.conf:
Code:
hint.p4tcc.0.disabled=1
hint.acpi_throttle.0.disabled=1

Zu 5) kann ich auch noch etwas sagen, wenn es niemand anderes macht.
 
Vorausgesetzt der Porttree ist aktuell, dann entweder manuell, oder eins der zahlreichen Tools zur Hilfe nehmen.

Manuell:
cd /usr/ports/net/netatalk
make clean
make
make deinstall (altes deinstallieren)
make reinstall (neues installieren)

Oder mit Tools wie "portupgrade" oder "portmaster" (Ich hatte jahrelang "portupgrade" in Verwendung, bin aber jetzt seit kurzem mit "portmaster" glücklicher)

Musst du aber auch erst aus dem Porttree nachinstallieren. Das erste mal also zwangsweise manuell, dann später alle weiteren Ports einfach mit "portupgrade -N netatalk" oder alternativ "portmaster net/netatalk"

Weiteres hier:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports.html
 
Vorausgesetzt der Porttree ist aktuell, dann entweder manuell, oder eins der zahlreichen Tools zur Hilfe nehmen.

Manuell:
cd /usr/ports/net/netatalk
make clean
make
make deinstall (altes deinstallieren)
make reinstall (neues installieren)

Oder mit Tools wie "portupgrade" oder "portmaster" (Ich hatte jahrelang "portupgrade" in Verwendung, bin aber jetzt seit kurzem mit "portmaster" glücklicher)

Musst du aber auch erst aus dem Porttree nachinstallieren. Das erste mal also zwangsweise manuell, dann später alle weiteren Ports einfach mit "portupgrade -N netatalk" oder alternativ "portmaster net/netatalk"

Weiteres hier:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports.html

Danke, hat super geklappt.

Mal zu 2)
Das passt schon so.

Was meinst du? HDDs nicht in standby schicken? Ist neben der Stromfrage auch ne Sache der Lautstärke, daher hätte ich das schon gerne.

Zu 5) kann ich auch noch etwas sagen, wenn es niemand anderes macht.

Immer raus damit ... :)
 
zu 1. Das beispiel ist für ein Notebook gedacht. Option -a steht für AC Power -b für Battery. Ich lasse auf meiner Desktop Kiste powerd mit folgenden Option laufen und bin damit voll zu frieden.

/etc/rc.conf
Code:
powerd_enable="YES"
powerd_flags="-a adp"

wenn du dir mal anschauen willst was powerd macht:

powerd -a adp -v

Da kann man schön sehen wie er hin und her schaltet.


Festplatten auschalten ist so eine sache unter FreeBSD (man möge mich korrigieren). System Platten hab ich nie geschaft länger als ca 5 Minuten ausgeschaltet zu lassen. Ein anfang wäre es /var/log /var/tmp /var/spool/mqueue (ich hab bestimmt ein Verzeichnis vergessen) auf ein tmpfs zu legen. Allerdings sind die Log Dateien dann nach einem Reboot weg, es sei den man baut sich dafür noch ein script. Swap darf auch nicht auf den Platten liegen.

Standby, braucht man glück das man eine Saubere ACPI implementierung hat. Du solltest dir auf jeden fall vorher das FreeBSD Handbuch anschauen, bevor du damit Anfängt.

http://www.freebsd.org/doc/handbook/acpi-debug.html

und

man acpiconf
 
zu 1. Das beispiel ist für ein Notebook gedacht. Option -a steht für AC Power -b für Battery. Ich lasse auf meiner Desktop Kiste powerd mit folgenden Option laufen und bin damit voll zu frieden.

/etc/rc.conf
Code:
powerd_enable="YES"
powerd_flags="-a adp"

wenn du dir mal anschauen willst was powerd macht:

powerd -a adp -v

Da kann man schön sehen wie er hin und her schaltet.


Festplatten auschalten ist so eine sache unter FreeBSD (man möge mich korrigieren). System Platten hab ich nie geschaft länger als ca 5 Minuten ausgeschaltet zu lassen. Ein anfang wäre es /var/log /var/tmp /var/spool/mqueue (ich hab bestimmt ein Verzeichnis vergessen) auf ein tmpfs zu legen. Allerdings sind die Log Dateien dann nach einem Reboot weg, es sei den man baut sich dafür noch ein script. Swap darf auch nicht auf den Platten liegen.

Standby, braucht man glück das man eine Saubere ACPI implementierung hat. Du solltest dir auf jeden fall vorher das FreeBSD Handbuch anschauen, bevor du damit Anfängt.

http://www.freebsd.org/doc/handbook/acpi-debug.html

und

man acpiconf

Die Systemplatte ist eine 16GB SSD, ich will nur die 2 HDDs schlafen legen. Die Systemplatte kann also an bleiben.
 
als ich das probierte, hatte ich einen Raid mit fünf Platten aufgebaut.
Das System ist noch immer ein FreeBSD7.2 und in der rc.conf hatte ich damals dieses:
Code:
#added because of new ataidle
#        Note: ataidle options and rc startup settings
#        have changed in version 2.
#
#        Add the following lines to /etc/rc.conf to enable ataidle:
#
#        ataidle_enable (bool): set to NO by default.
#                Set to YES to enable ataidle.
#        ataidle_devices: list of devices on which to run ataidle
#        ataidle_adX: parameters to pass to ataidle(8)

#ataidle_enable="YES"
#ataidle_devices="ad6 ad8 ad10 ad12 ad14"
#ataidle_ad6="-I 60 -S 120"
#ataidle_ad8="-I 60 -S 120"
#ataidle_ad10="-I 60 -S 120"
#ataidle_ad12="-I 60 -S 120"
#ataidle_ad14="-I 60 -S 120"
Ich meine, du weißt schon, was davon auskommentiert war.
Das benutzte Tool war also ataidle und es wirkte auf die fünf SATA Platten.
Jedes mal wenn es wirkte, war anschließend mein Raid korrupt.

Mit diversen Platten habe ich inzwischen unterschiedliches Verhalten erfahren. Gerne lasse ich die SSD in meinem kleinen Asus EEE schlafen und stelle fest, das eine dies erfolgreich kann und eine andere nicht. Gleiches System, gleicher Aufruf, unterschiedliches Verhalten: ich vermute, dass dies direkt an der verwendeten Platte liegt.
Ohne Zweifel hängt der Erfolg auch grundsätzlich damit zusammen, ob Dateisystemoptionen genutzt werden, die ein ständiges, zyklisches Schreiben (oder auch nur Lesen) von der Platte erfordern. Sogenannte Journals oder Softupdates oder Zeitstempel oder gar Filesystemchecks im Hintergrund verbieten sich da natürlich von selbst.
Um das zu vermeiden kannst du, wie schon beschrieben, tempfs nutzen. Besonders interessant fand ich aber immer, wie das bei FreeNAS auch gemacht wird, dass md-devices kreiert werden und im RAM gemountet werden. Unter Linux wurde do oft ein cramfs benutzt. Mit FreeBSD hatte ich nie die Muße, mir das mal genauer anzusehen.

Der Raid5 mit gmirror verkraftete es womöglich nicht, wenn plötzlich und für ihn unerwartet eine Platte nicht mehr erreichbar war. Weil mir das Konzept eh nicht gefiel, wechselte ich zu ZFS und Zraid, unterließ es aber, die Platten schlafen zu schicken. Weil meine Sat-Receiver auf den Fileserver aufnehmen, landen dort auch mitten in der Nacht Daten, es gibt keinen dezidierten Ruhebereich.
 
Das Stichwort ist camcontrol, damit solltest du weiter kommen.

Also hier steht was von:

Novice users should stay away from this utility

daher halte ich das für keine gute Idee, damit rumzufummeln...

als ich das probierte, hatte ich einen Raid mit fünf Platten aufgebaut.
Das benutzte Tool war also ataidle und es wirkte auf die fünf SATA Platten.
Jedes mal wenn es wirkte, war anschließend mein Raid korrupt.

Also lass ich auch lieber mal die Finger davon ....


Zum Thema afp hab ich jetzt leider noch eine Frage. Ich hab beobachtet, dass der afpd Prozess öfter auf 100% CPU geht, und davon auch nicht wieder wegzubekommen ist. Nach etwas rumprobieren hat sich rausgestellt, dass es am mDNSResponder liegt. Schalte ich den ab, bekomme ich das 100% Problem nicht. Allerdings habe ich natürlich auch keine Anzeige des Servers im Finder, iTunes etc.
Ich hatte gehofft, dass der kürzliche Patch 320.5.1 Abhilfe schafft, das war leider nicht der Fall.
Weiß da jemand Rat? Ich wurde den mDNSResponder doch schon gerne wieder aktivieren.
 
Zum Thema afp hab ich jetzt leider noch eine Frage. Ich hab beobachtet, dass der afpd Prozess öfter auf 100% CPU geht, und davon auch nicht wieder wegzubekommen ist. Nach etwas rumprobieren hat sich rausgestellt, dass es am mDNSResponder liegt. Schalte ich den ab, bekomme ich das 100% Problem nicht. Allerdings habe ich natürlich auch keine Anzeige des Servers im Finder, iTunes etc.
Ich hatte gehofft, dass der kürzliche Patch 320.5.1 Abhilfe schafft, das war leider nicht der Fall.
Weiß da jemand Rat? Ich wurde den mDNSResponder doch schon gerne wieder aktivieren.

Nicht direkt. Meine Version ist ja schon deutlich älter und als ich gerade nachsehe, entdecke ich einige andere Merkwürdigkeiten auf meinem Fileserver, die mich nun mehr beschäftigen und weshalb ich das nicht genau nachsehen möchte. Aber: auch mit meiner Version gab es immer Probleme und meist verabschiedet sich der Dienst nach einiger Zeit, so dass ich mir angewöhnt habe, ihn gar nicht zu nutzen.
Das "Sehen" des Servers, als die Anzeige durch ein entsprechendes Symbol auf dem Mac passiert irgendwie davon unabhängig und auch recht unzuverlässig trotzdem. Auf manchen Macs wirds angezeigt, auf anderen nicht.
Das Problem interessierte mich nicht weiter und das Mounten über "mit Server verbinden" halte ich insgesamt eh für besser und direkter.

Also wäre mein Tip: im Zweifel ohne mDNSResponder und gar nicht lange rum machen.
 
Nicht direkt. Meine Version ist ja schon deutlich älter und als ich gerade nachsehe, entdecke ich einige andere Merkwürdigkeiten auf meinem Fileserver, die mich nun mehr beschäftigen und weshalb ich das nicht genau nachsehen möchte. Aber: auch mit meiner Version gab es immer Probleme und meist verabschiedet sich der Dienst nach einiger Zeit, so dass ich mir angewöhnt habe, ihn gar nicht zu nutzen.
Das "Sehen" des Servers, als die Anzeige durch ein entsprechendes Symbol auf dem Mac passiert irgendwie davon unabhängig und auch recht unzuverlässig trotzdem. Auf manchen Macs wirds angezeigt, auf anderen nicht.
Das Problem interessierte mich nicht weiter und das Mounten über "mit Server verbinden" halte ich insgesamt eh für besser und direkter.

Also wäre mein Tip: im Zweifel ohne mDNSResponder und gar nicht lange rum machen.

Nunja, klar kann ichs einfach nicht benutzen. Aber ich wills halt benutzen ;)
 
http://blog.lostpackets.de/2008/10/06/freebsd-im-apple-netz/

hast du das gemacht?
Die Syntax in dem afp.service scheint mir aber etwas verrutscht zu sein.
Ich glaube, es sollte eher etwa so aussehen, kenne mich damit aber nicht wirklich aus:
Code:
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 <name replace-wildcards="yes">%h</name>
  <service>
  <type>_afpovertcp._tcp</type>
  <port>548</port>
  </service>
 <service>
  <type>_device-info._tcp</type>
  <txt -record>model=bsd</txt>
  <port>0</port>
 </service>
</service-group>
die wichtigere Info scheint mir dabei aber, dass nicht der mDNSResponder (net/mDNSResponder) benutzt wird, sondern ein Dienst Namens nss_mdns (dns/nss_mdns).
Im Nachhinein kann ich mich auch an sowas erinnern, dass der mDNSResponder nicht mehr genommen wird. Das ist mal wieder so eine blödsinnige Aussage, wie sie häufiger bei mir vorkommen! Vielleicht findest du was Genaueres dazu.

Aber, wie schon erwähnt, bei meiner älteren Version jedenfalls, funktioniert das trotzdem nicht gescheit, ob ich will, oder nicht. ;)
 
Hm also diese xml-Konfiguration gehört mE zum avahi demon. Der net/mDNSResponder ist der "offizielle" von Apple (http://de.wikipedia.org/wiki/Zeroconf), daher hatte ich den eigentlich vorgezogen.

Hat jemand pros/cons bzw. Erfahrungswerte mit beiden, und kann mir zu einem der beiden raten? Hätte nichts gegen avahi, aber wenn sichs nichts gibt würde ich lieber den "offiziellen" Weg gehen, wobei hierfür auch interessant wäre, inwiefern der besser gepflegt wird als der avahi Dienst.
 
Also ich habe netatalk komplett ohne den ganzen ZeroConf-Kram installiert (macht das System auch >deutlich< schlanker). Es fehlt dann halt nur, dass er den Server automatisch im Netzwerk findet.

Hat man aber, z.B. für TimeMachine, ein mal den Server eingerichtet (Laufwerk manuell mounten per Apfel+K und dann afp://<ip>/<freigabe>), versucht TimeMachine diesen auch immer dort zu finden, mountet die Freigabe, sichert die Daten und unmountet.
 
Zurück
Oben