Представь, что ты настраиваешь сетевую папку в TrueNAS, а клиенты видят странный путь вроде /mnt/mnt/pool/dataset. Это классическая проблема с двойным mnt в пути монтирования. Давай разберем, почему это происходит и как это исправить раз и навсегда.
Что означает truenas mnt mnt?
В TrueNAS (ранее FreeNAS) все пулы ZFS по умолчанию монтируются в директорию /mnt. Когда ты создаешь dataset (набор данных) внутри пула, его полный путь становится /mnt/pool_name/dataset_name.
Причины двойного пути mnt
- Некорректная настройка NFS экспорта - указание относительного вместо абсолютного пути
- Ошибки в SMB конфигурации - неправильные параметры
pathв конфиге - Автоматическое монтирование на клиенте - клиент добавляет свой
/mnt - Наследование старых настроек FreeNAS - миграция с legacy систем
Пример проблемы в NFS
На сервере TrueNAS dataset имеет путь /mnt/data/media. При экспорте через NFS клиент видит /mnt/mnt/data/media.
# НЕПРАВИЛЬНО в /etc/exports (пример):
/mnt/data/media -alldirs -network 192.168.1.0/24
# Клиент монтирует так:
mount -t nfs truenas.local:/mnt/data/media /mnt/media
# Но видит путь: /mnt/mnt/data/media
Пошаговое решение проблемы
Шаг 1: Проверка текущих настроек в TrueNAS WebUI
Зайди в интерфейс TrueNAS:
- Перейди в Shares → UNIX (NFS) Shares или SMB Shares
- Найди проблемный общий ресурс
- Проверь поле Path - должно быть абсолютный путь без дублирования
/mnt/. Если ты видишь /mnt/mnt/... в настройках - это ошибка конфигурации.
Шаг 2: Исправление NFS экспорта
Для NFS нужно проверить и исправить конфигурационный файл:
# Подключись к TrueNAS по SSH
ssh root@truenas.local
# Проверь текущие экспорты
showmount -e localhost
cat /etc/exports
# Пример правильного экспорта:
# /mnt/pool/dataset -alldirs -maproot=root -network 192.168.1.0/24
# После изменений перезагрузи NFS службу
service nfsd restart
# Или в TrueNAS Scale:
systemctl restart nfs-server
Шаг 3: Настройка SMB (Samba)
Для SMB проверь конфиг samba:
# Просмотр конфигурации SMB
testparm -s
# Ищи секцию с неправильным путем:
[Media]
path = /mnt/mnt/data/media # НЕПРАВИЛЬНО!
path = /mnt/data/media # ПРАВИЛЬНО!
В WebUI исправь путь в настройках SMB-шары:
- Shares → SMB → Edit выбранной шары
- В поле Path укажи:
/mnt/your_pool/your_dataset - Сохрани и перезапусти SMB службу
Шаг 4: Проверка на стороне клиента
На клиентской машине (Linux):
# Правильное монтирование NFS:
sudo mount -t nfs truenas.local:/mnt/data/media /media/nas_media
# Проверь смонтированную точку:
df -hT | grep nfs
mount | grep truenas
# Если видишь двойной mnt, размонтируй и попробуй без указания полного пути:
sudo umount /media/nas_media
sudo mount -t nfs truenas.local:/data/media /media/nas_media
# Некоторые конфигурации позволяют относительные пути
Сравнение правильной и неправильной конфигурации
| Компонент | Неправильно | Правильно |
|---|---|---|
| Путь в TrueNAS | /mnt/mnt/pool/dataset | /mnt/pool/dataset |
| NFS экспорт | /mnt/mnt/data /24 | /mnt/data -network 192.168.1.0/24 |
| SMB path | path = /mnt/mnt/share | path = /mnt/share |
| Клиентское монтирование | mount nas:/mnt/mnt/... /mnt/nas | mount nas:/mnt/... /mnt/nas |
Продвинутое решение: Создание симлинков
Если ты не можешь изменить пути в приложениях, создай символьные ссылки:
# На TrueNAS через Shell:
ln -s /mnt/data/media /mnt/media
# Теперь можно экспортировать /mnt/media вместо /mnt/data/media
# В NFS экспорте:
/mnt/media -alldirs -network 192.168.1.0/24
Автоматизация через скрипты
Для массового исправления создай скрипт:
#!/bin/bash
# fix_double_mnt.sh - исправление двойных путей в NFS экспортах
CONFIG_FILE="/etc/exports"
BACKUP_FILE="${CONFIG_FILE}.backup.$(date +%Y%m%d)"
# Создаем бэкап
cp "$CONFIG_FILE" "$BACKUP_FILE"
# Исправляем /mnt/mnt на /mnt
sed -i 's|/mnt/mnt/|/mnt/|g' "$CONFIG_FILE"
# Перезагружаем NFS
service nfsd restart
echo "Конфигурация исправлена. Бэкап: $BACKUP_FILE"
Частые вопросы (FAQ)
Почему проблема возникает после обновления TrueNAS?
При миграции с FreeNAS или обновлении TrueNAS могут сохраниться старые конфиги, где пути указывались относительно корня ZFS пула, а не абсолютно от /mnt.
Как проверить, что проблема решена?
На клиенте выполни: mount | grep truenas и убедись, что в пути нет двойного mnt. Также проверь доступ к файлам через исправленный путь.
Может ли это повредить данные?
Нет, это проблема только путей монтирования. Твои данные в ZFS пуле остаются в безопасности. Однако всегда делай бэкап конфигов перед изменениями.
Работает ли решение для TrueNAS Scale и Core?
Да, принцип одинаков для обеих версий. Разница только в командах перезагрузки служб (systemctl vs service).
Профилактика проблемы
- Всегда используй абсолютные пути в настройках общего доступа
- При создании новых dataset проверяй их полный путь в Shell:
zfs list -o mountpoint - Тестируй монтирование с клиента сразу после настройки шары
- Документируй свои конфигурации NFS/SMB экспортов
Заключение
Проблема truenas mnt mnt - это классическая ошибка конфигурации, которая решается за несколько минут. Главное - понимать, что в TrueNAS все пути начинаются с /mnt/, и не допускать дублирования этого каталога в настройках.
Помни: правильный путь = правильный доступ. Если ты следуешь этим инструкциям, твои сетевые шары будут работать корректно, а клиенты получат доступ к данным без лишних сложностей.