freenas: cifs share vs. afp share (workaround)

[ geschrieben am 22.11.2011 in blog: der maschinist | tags: #, #, #, #, #, # ]

laut der freenas-dokumentation (hier) gibt es probleme, wenn man einen afp-share mit aktiver option „cache cnid“ anlegt, sobald der selbe share auch per cifs (samba) angeboten werden soll. mit inaktiver option gelang es mir jedoch nicht, mit einem mac os x lion client auf den afp share zuzugreifen.

was tun, wenn man von beiden plattformen zugreifen will?

mein workaround sieht wie folgt aus:

  1. die daten liegen in /mnt/data/dataset/files . dies ist auch der für den cifs-share konfigurierte pfad.
     
  2. es wird ein afp-share-folder erstellt:
    # mkdir /mnt/data/dataset/files/_afp
  3. der afp-share wird über die webgui eingerichtet
     

    Name: afp
    Freigabe beschreiben: AFP Share
    Pfad: /mnt/data/dataset/files/_afp
    Freigabepasswort: [leer]
    Zeichensatz der Freigabe: UTF8
    Zugriff gewähren: benutzeraccount
    Zugriff verweigern: [leer]
    Nur-Lese Zugriff: [leer]
    Lese-Schreib Zugriff: benutzeraccount
    Festplattenerkennung: [checked]
    Disk Discovery Modus: Standard
    Datenbankpfad: /mnt/data/dataset/files/_afp/
    Cache CNID: [checked]
    CR/LF-Konvertierung: [leer]
    Windows-Dateinamen: [leer]
    Kein .AppleDouble: [leer]
    Keine Laufwerksnummern: [leer]
    Datei-ID deaktivieren: [leer]
    :hex Namen deaktivieren: [leer]
    ProDOS: [leer]
    NoStat: [leer]
    AFP3 Unix Rechte: [leer]

  4. die per afp bereitzustellenden unterordner von files werden in den afp-share-ordner gemountet:
    # mkdir /mnt/data/dataset/files/_afp/Sysinstall_Images/

    # mount_nullfs -o rw /mnt/data/dataset/files/Sysinstall_Images/ /mnt/data/dataset/files/_afp/Sysinstall_Images/
  5. nun sollte der unterordner auch per afp sichtbar sein. um den mount fest zu konfigurieren, sollte ein mountscript eingebunden werden:
    # mount -uw /

    # cat /conf/base/etc/rc.d/mymountscript
    #!/bin/sh
    . /etc/rc.subr
    name="mymountscript"
    start_cmd="${name}_start"
    stop_cmd="mymountscript_stop"
    mymountscript_start()
    {
     mount_nullfs -o rw /mnt/data/dataset/files/Sysinstall_Images/ /mnt/data/dataset/files/_afp/Sysinstall_Images/
    }
    mymountscript_stop()
    {
     umount /mnt/data/dataset/files/_afp/Sysinstall_Images/
    }
    load_rc_config $name
    run_rc_command "$1"

    # chmod +x /conf/base/etc/rc.d/mymountscript

    # mount -ur /

man kann das script (/umounten) nun per /conf/base/etc/rc.d/mymountscript start (/stop 😉 ) testen bzw. -wenn man faul ist- einfach rebooten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.