Versuch, mhddfs / osxfuse über fstab zu mounten

Ich versuche, einen virtuellen Laufwerkspool mit osxFuse und mhddfs zu erstellen.

Ich bin auf OSX 10.9.5. Ich habe versucht, osxFuse v2.7.3 über das Paketinstallationsprogramm zu installieren. Ich habe auch die Homebrew-Cask-Installationsmethode ausprobiert. Ich habe die gleichen Erfahrungen gemacht, unabhängig von der Installationsmethode.

  1. Dieser Befehl funktioniert bei mir:

    $ sudo mhddfs /Volumes/D01,/Volumes/D12,/Volumes/D103,/Volumes/D110 /mnt/DrivePoolA -o allow_other,volname=DrivePoolA
    
  2. Ich glaube jedoch, dass ich dasselbe auch mit dem Befehl „mount“ erreichen könnte, aber ich hatte kein Glück. Ich habe eine Vielzahl von Dingen ausprobiert, die der folgenden Zeile ähneln. Irgendwelche Vorschläge? Was vermisse ich.

    sudo mount -t mhddfs -o allow_other,volname=DrivePoolA /Volumes/D01,/Volumes/D12,/Volumes/D103,/Volumes/D110
    
  3. Schließlich und vor allem versuche ich, den DrivePool mit fstab zu mounten. Meine fstab sieht so aus:

    # <file system>  <mount point> <type>  <options>       <dump>  <pass>
    mhddfs#/Volumes/D01,/Volumes/D12/,/Volumes/D103/,/Volumes/D110        /mnt/DrivePoolA    osxfusefs    allow_other,volname=DrivePoolA 0 0
    

    Wenn ich jedoch sudo mount -adiese fstab ausführe, erhalte ich eine Fehlermeldung, die besagt:

    Dieses Programm ist nicht dazu gedacht, direkt aufgerufen zu werden. Die OSXFUSE-Bibliothek ruft es auf. Verfügbare Mount-Optionen: [gefolgt von der Liste der Mount-Optionen]`

Jetzt gehe ich davon aus, dass dieser Fehler von osxfuse_mounter kommt, weil ich die txt des Fehlers im Quellcode des ‚support‘-Projekts auf github gefunden habe. Ich nehme an, dass der Fehler zurück an das 'mount'-Programm weitergegeben wird, das ihn wieder in die Befehlszeile ausspuckt.

Ich habe auch die folgende fstab ausprobiert, wobei ich die Optionen weggelassen habe, dump und pass:

# <file system>  <mount point> <type>  <options>       <dump>  <pass>
mhddfs#/Volumes/D01,/Volumes/D12/,/Volumes/D103/,/Volumes/D110    /mnt/DrivePoolA    osxfusefs

Nach dem Ausführen sudo mount -amit dieser Konfiguration erhalte ich keine Fehler, aber es scheint nichts zu passieren.

Irgendwelche Vorschläge?

Bitte fügen Sie Ihr aktuelles Betriebssystem hinzu. Verwenden Sie das eigenständige OSXFuse oder Brew?
Vielen Dank für Ihre Änderungen und Ihr Interesse @klanomath. Ich bin auf OSX 10.9.5. Ich habe das Paketinstallationsprogramm von osxfuse.github.io (Version 2.7.3) ausprobiert. Ich habe das auch deinstalliert und die Homebrew-Cask-Installation ausprobiert, die identisch zu sein scheint. Ich habe die Frage aktualisiert, um diese Informationen widerzuspiegeln.
Wie hast du mhddfs installiert? Ich kann es mit brew nicht finden ...
Ich habe mhddfs mit macports installiert, was der einzige verfügbare Port zu sein scheint. Dies ist das einzige Paket, das ich über Macports installiert habe. Wenn es einen anderen Weg gibt, es zu bekommen, würde ich begierig sein, davon zu erfahren. Ich mag es nicht, Macports auf meinem braubasierten System zu mischen.

Antworten (1)

Hier ist eine Möglichkeit, osxfuse / mhddfs über LaunchDaemon zu mounten

Voraussetzungen:
– vorhandenes /mnt/DrivePoolA
– einige Volumes (im Beispiel unten Test01-Test03 gemountet unter /Volumes)
OSXFuse 2.7.3
mhddfs über macports

  1. Erstellen Sie eine Datei com.oxsfuse.mhddfs.plist in /Library/LaunchDaemons/

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.oxsfuse.mhddfs</string>
        <key>ProgramArguments</key>
        <array>
            <string>sh</string>
            <string>/usr/local/mhddfs-start.sh</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
    </plist>
    
  2. Geben Sie im Terminal ein:

     sudo chown root:wheel /Library/LaunchDaemons/com.oxsfuse.mhddfs.plist 
     sudo chmod 644 /Library/LaunchDaemons/com.oxsfuse.mhddfs.plist 
    
  3. Erstellen Sie eine Datei mhddfs-start.sh in /usr/local/

    #!/bin/bash
    
    kextload /Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext
    sysctl -w osxfuse.tunables.allow_other=1
    /opt/local/bin/mhddfs /Volumes/Test01,/Volumes/Test02,/Volumes/Test03 /mnt/DrivePoolA -o allow_other,loglevel=0,logfile=/tmp/mhddfs1.log,volname=DrivePoolA
    sleep 5
    /opt/local/bin/mhddfs /Volumes/Test01,/Volumes/Test02,/Volumes/Test03 /mnt/DrivePoolA -o allow_other,loglevel=0,logfile=/tmp/mhddfs2.log,volname=DrivePoolA
    
  4. Geben Sie im Terminal ein:

     sudo chown root:wheel /usr/local/mhddfs-start.sh  
    

Sie können das Shell-Skript woanders speichern, aber stellen Sie sicher, dass Sie es <string>/usr/local/mhddfs-start.sh</string>in der Datei com.oxsfuse.mhddfs.plist anpassen.

Nach einigen ausführlichen Tests in einer Parallels-VM (Mavericks mit OSXFuse 2.7.3 und mhddfs von macport) habe ich es zuverlässig gemountet. Und ja, das zweimalige Ausführen von mhddfs ist beabsichtigt!

Sie können den -Teil im Shell-Skript weglassen loglevel=0,logfile=/tmp/mhddfs1/2.log,- es war nur zu Testzwecken.

Bitte führen Sie einige Tests mit den Volumes durch, bevor Sie sie in einer Produktivumgebung verwenden.

@johntrandall es funktioniert nicht zuverlässig, aber ich arbeite noch daran - eigentlich gerade jetzt ;-)
@johntrandall jetzt sollte es zuverlässig funktionieren. Es hat 15 Neustarts überstanden ...
Nochmals vielen Dank dafür. Können Sie mir Ihre Überlegungen zur zweiten Hinrichtung erläutern?