Пытаюсь смонтировать mhddfs/osxfuse через fstab

Я пытаюсь создать пул виртуальных дисков, используя osxFuse и mhddfs.

Я на OS X 10.9.5. Я пробовал osxFuse v2.7.3, установленный через установщик пакетов. Я также пробовал метод установки бочонка доморощенного. У меня был тот же опыт, независимо от метода установки.

  1. Эта команда работает для меня:

    $ sudo mhddfs /Volumes/D01,/Volumes/D12,/Volumes/D103,/Volumes/D110 /mnt/DrivePoolA -o allow_other,volname=DrivePoolA
    
  2. Тем не менее, я считаю, что у меня также должна быть возможность сделать то же самое с помощью команды «mount», но мне не повезло. Я пробовал множество вещей, похожих на строку ниже. Какие-либо предложения? Что мне не хватает.

    sudo mount -t mhddfs -o allow_other,volname=DrivePoolA /Volumes/D01,/Volumes/D12,/Volumes/D103,/Volumes/D110
    
  3. Наконец, и самое главное, я пытаюсь смонтировать пул дисков с помощью fstab. Мой fstab выглядит так:

    # <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
    

    Однако, когда я запускаю sudo mount -aэтот fstab, я получаю сообщение об ошибке, в котором говорится:

    Эта программа не предназначена для прямого вызова. Библиотека OSXFUSE вызывает его. Доступные варианты монтирования: [следующий за списком вариантов монтирования]`

Теперь я предполагаю, что эта ошибка исходит от osxfuse_mounter, потому что я нашел txt ошибки в исходном коде проекта «поддержка» на github. Я предполагаю, что ошибка передается обратно в программу «монтирования», которая выплевывает ее обратно в командную строку.

Я также пробовал следующий fstab, опуская параметры, дамп и проход:

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

После запуска sudo mount -aс этой конфигурацией я не получаю ошибок, но, похоже, ничего не происходит.

Какие-либо предложения?

пожалуйста, добавьте вашу текущую ОС. Вы используете автономный OSXFuse или brew?
Спасибо за ваши правки и ваш интерес @klanomath. Я на OS X 10.9.5. Я пробовал установщик пакетов с osxfuse.github.io (версия 2.7.3). Я также удалил это и попробовал установить доморощенную бочку, которая кажется идентичной. Я обновил вопрос, чтобы отразить эту информацию.
Как вы установили mhddfs? Я не могу найти его с пивом ...
Я установил mhddfs с macports, который кажется единственным доступным жизнеспособным портом. Это единственный пакет, который я установил через macports. Если есть другой способ получить его, я бы хотел узнать об этом. Мне не нравится смешивать macports в моей системе, основанной на варке.

Ответы (1)

Вот способ монтирования osxfuse/mhddfs через LaunchDaemon

Предпосылки:
– существующий /mnt/DrivePoolA
– несколько томов (в приведенном ниже примере Test01-Test03 смонтирован в /Volumes)
OSXFuse 2.7.3
mhddfs через macports

  1. Создайте файл com.oxsfuse.mhddfs.plist в /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. Введите в Терминале:

     sudo chown root:wheel /Library/LaunchDaemons/com.oxsfuse.mhddfs.plist 
     sudo chmod 644 /Library/LaunchDaemons/com.oxsfuse.mhddfs.plist 
    
  3. Создайте файл mhddfs-start.sh в /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. Введите в Терминале:

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

Вы можете сохранить сценарий оболочки в другом месте, но обязательно адаптируйте его <string>/usr/local/mhddfs-start.sh</string>в файле com.oxsfuse.mhddfs.plist.

После некоторого расширенного тестирования на виртуальной машине Parallels (Mavericks с OSXFuse 2.7.3 и mhddfs от macport) я надежно смонтировал ее. И да, предполагается выполнение mhddfs два раза!

Вы можете опустить loglevel=0,logfile=/tmp/mhddfs1/2.log,-part в сценарии оболочки - это было сделано только для целей тестирования.

Пожалуйста, выполните несколько тестов с томами, прежде чем использовать их в продуктивной среде.

@johntrandall это не работает надежно, но я все еще работаю над этим - на самом деле только сейчас ;-)
@johntrandall теперь он должен работать надежно. он выдержал 15 перезапусков...
Еще раз спасибо за это. Можете ли вы объяснить мне, что вы думаете о второй казни?