Исправление truenas mnt mnt - Двойной путь монтирования в TrueNAS | AdminWiki

truenas mnt mnt: Как исправить двойной путь монтирования в TrueNAS

30 января 2026 6 мин. чтения #devops #freebsd #mnt #nas #nfs #smb #truenas #zfs #монтирование

Представь, что ты настраиваешь сетевую папку в TrueNAS, а клиенты видят странный путь вроде /mnt/mnt/pool/dataset. Это классическая проблема с двойным mnt в пути монтирования. Давай разберем, почему это происходит и как это исправить раз и навсегда.

Что означает truenas mnt mnt?

В TrueNAS (ранее FreeNAS) все пулы ZFS по умолчанию монтируются в директорию /mnt. Когда ты создаешь dataset (набор данных) внутри пула, его полный путь становится /mnt/pool_name/dataset_name.

Проблема возникает, когда в настройках общего ресурса (NFS или SMB) указывается некорректный путь, или клиенты неправильно интерпретируют точку монтирования, что приводит к дублированию mnt в пути.

Причины двойного пути mnt

  • Некорректная настройка NFS экспорта - указание относительного вместо абсолютного пути
  • Ошибки в SMB конфигурации - неправильные параметры path в конфиге
  • Автоматическое монтирование на клиенте - клиент добавляет свой /mnt
  • Наследование старых настроек FreeNAS - миграция с legacy систем

Пример проблемы в NFS

На сервере TrueNAS dataset имеет путь /mnt/data/media. При экспорте через NFS клиент видит /mnt/mnt/data/media.

config
# НЕПРАВИЛЬНО в /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:

  1. Перейди в SharesUNIX (NFS) Shares или SMB Shares
  2. Найди проблемный общий ресурс
  3. Проверь поле Path - должно быть абсолютный путь без дублирования
Важно: В TrueNAS путь всегда должен начинаться с /mnt/. Если ты видишь /mnt/mnt/... в настройках - это ошибка конфигурации.

Шаг 2: Исправление NFS экспорта

Для NFS нужно проверить и исправить конфигурационный файл:

bash
# Подключись к 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:

config
# Просмотр конфигурации 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):

bash
# Правильное монтирование 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

Продвинутое решение: Создание симлинков

Если ты не можешь изменить пути в приложениях, создай символьные ссылки:

bash
# На TrueNAS через Shell:
ln -s /mnt/data/media /mnt/media

# Теперь можно экспортировать /mnt/media вместо /mnt/data/media
# В NFS экспорте:
/mnt/media -alldirs -network 192.168.1.0/24
Внимание: Симлинки работают, но это костыль. Лучше исправить корневую проблему в настройках общего доступа.

Автоматизация через скрипты

Для массового исправления создай скрипт:

bash
#!/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/, и не допускать дублирования этого каталога в настройках.

Помни: правильный путь = правильный доступ. Если ты следуешь этим инструкциям, твои сетевые шары будут работать корректно, а клиенты получат доступ к данным без лишних сложностей.

Поделиться:
Сохранить гайд? В закладки браузера