Монтирование сетевой папки в Linux
В одной из прошлых статей мы рассматривали как настраивать сетевые папки в Linux с помощью NFS. Если в Windows используется для этих целей Samba, то в Linux принято организовывать общие папки с помощью сетевой файловой системы NFS.
В этой статье мы поговорим о том как монтировать такие папки вручную, а также как настроить их монтирование при обращении с помощью autofs. Так вы будете экономить трафик между серверами и получите неплохую производительность.
Монтирование сетевой папки в Linux
Для того чтобы примонтировать сетевую папку в системе должен быть установлен пакет nfs-commons. В Ubuntu его можно установить такой командой:
sudo apt install nfs-common
Затем можно выполнять монтирование с помощью обычной команды mount, которой надо передать адрес сервера NFS и путь к папке в файловой системе сервера. Например, чтобы смонтировать папку /var/nfs выполните:
sudo mount ip_адрес:/var/nfs /mnt
Никакой авторизации в NFS нет, поддерживается только ограничение доступа по IP адресу, поэтому монтирование должно пройти успешно. Если статическое монтирование работает хорошо, можно переходить к настройке autofs. Не забудьте размонтировать сетевую папку:
Сначала нужно установить этот сервис. Для этого в Ubuntu выполните команду:
Все настройки сетевых папок, которые надо монтировать находятся в файле /etc/auto.master. Каждая строчка представляет из себя отдельную папку и имеет такой синтаксис:
/точка/монтирования /файл/с/карты —timeout=значение
Здесь файл карты, обычно это /etc/auto.misc — файл в котором более подробно описано что и куда надо монтировать. Синтаксис одной записи в файле /etc/auto.misc такой:
/точка/монтирования опции_монтирования ip_адрес:/путь/к/сетевой/папке
Для примера будем монтировать ту же сетевую папку /var/nfs на сервере 185.117.155.209 в локальную папку /mnt. В файл /etc/auto.master надо добавить такую строчку:
/mnt /etc/auto.nfs —timeout=100
Здесь мы сообщаем, что общая папка монтирования для всех ресурсов, описанных в файле /etc/auto.nfs — /mnt и если к ресурсу не обращаются на протяжении 100 секунд, то её следует размонтировать. Далее надо добавить описание монтирования в файл /etc/auto.nfs:
share -fstype=nfs4,rw 185.117.155.209:/var/nfs
Здесь — share это точка монтирования нашей сетевой папки в папке /mnt, затем идут опции монтирования, а потом адрес сервера и путь к папке на удалённой машине. Далее надо перезапустить сервис autofs:
sudo systemctl restart autofs
Затем можно попытаться обратиться к этой папке и она автоматически смонтируется:
Как видите, всё достаточно просто. Так и выполняется автоматическое монтирование сетевых папок в Linux. Но чтобы у вас появилась возможность создавать файлы в этой папке, надо чтобы сервер NFS был правильно настроен. Об этом смотрите предыдущую статью про настройку NFS.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как быстро подмонтировать сетевой диск в Linux
Иногда нужно быстро подмонтировать к Linux сетевую шару Windows. Делается это очень просто одной командой в консоли с помощью mount -t cifs.
Если у вас есть желание научиться профессионально строить и поддерживать высокодоступные виртуальные и кластерные среды, рекомендую познакомиться с онлайн-курсом Администратор Linux. Виртуализация и кластеризация в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.
# mount -t cifs //10.1.5.43/documents /mnt/documents -o user=user1,password=pass123
10.1.5.43 | адрес шары |
/mnt/documents | точка монтирования |
user1 | пользователь с доступом к шаре |
pass123 | пароль пользователя |
Если получаете ошибку примерно такого содержания:
mount: wrong fs type, bad option, bad superblock on //10.1.5.43/documents, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. helper program) In some cases useful info is found in syslog - try dmesg | tail or so.
Установите пакет cifs-utils:
Debian/Ubuntu | # apt-get install -y cifs-utils |
Centos/RHEL | # yum install -y cifs-utils |
После этого должно монтироваться нормально, если нет других ошибок.
Чтобы подмонтировать виндовую шару навечно, надо отредактировать fstab:
//10.1.5.43/documents /mnt/documents cifs user,uid=500,rw,suid,username=user1,password=pass123 0 0
Вот и все, после перезагрузки шара будет автоматически монтироваться.
Если у вас есть желание научиться администрировать системы на базе Linux, но вы с ними никогда не работали и не знакомы, то рекомендую начать с онлайн-курса «Linux для начинающих» в OTUS. Курс для новичков, для тех, кто с Linux не знаком. Цена за курс минимальная (символическая). Информация о курсе и цене.
Помогла статья? Подписывайся на telegram канал автора
Автор Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале — https://t.me/srv_admin/425 или на сайте в контактах.
28 комментариев
Добрый день, спасибо за команду, выполняется без ошибок, НО!
Если директории из команды нет на машине, то ругается, создаю — не ругается, так должно быть? Вроде как смонтировал и путь появился с указанным именем?
Как это вообще работает? Ошибок при монтировании нет, но при манипуляциях с папкой на обеих сторонах — ничего не происходит.
Поясню: моя задача — слить файлы и папки с сервера на debian в папку на домашней машине на windows
Еще раз спасибо.
Не совсем понял, в чём проблема и что конкретно надо. Точка монтирования (директория) должна существовать, иначе ничего не подмонтируется. Так работает эта команда. Она сама не создаёт директории.
Здравствуйте.
Пытаюсь мониторовать этой командой сетевые папки с двух windows машин. На обоих установлен smbv1. С первой (windows 10) монтируется все нормально с первого раза, со второй (windows 2019 server) машины выходит ошибка: VFS: cifs_mount failed w/return code = -13 (mount error(13): Permission denied)
и версию smb указывала и параметр sec с вариантами пробовала. Подскажите, пожалуйста, в чем может быть проблема?
Попробуйте увеличить уровень информирования при монтировании. Для этого надо добавить ключи -vvvv в команду mount. Может там будут какие-то подсказки.
Подскажи пожалуйста,
вручную монтирую:
mount.cifs //192.168.10.249/1c_files$ /mnt/1c_files -o gid=1000,uid=990,user=administrator,password=1234 а как правильно в fstab записать?
В статье есть пример того, как можно измерить скорость диска:
https://serveradmin.ru/kak-izmerit-skorost-zhestkogo-diska/
Для сетевого примонтированного диска способ тоже подойдёт.
Доброго времени.
Ввожу команду sudo mount -t cifs \\192.168.1.32/documents /media/sharefolder -o user=******,password=******** Получаю ошибку mount error(13): Permission denied Куда копать?
Заранее Спасибо
Добрый день, были ли у вас проблемы в монтировании шары в CentOS 8, а именно в моём случае если к шаре в течении получаса не было обращений, то он как бы отключается, и становится не доступна (настроена через fstab), причём если перезагрузиться то всё снова успешно монтируется. Надо признать, что если тоже самое повторить в CentOS 7 — то там не таких проблем, шара живёт вечно :/
Не сталкивался с таким. Правда я и шары очень редко подключаю к linux серверам. А что конкретно происходит, когда шара недоступна? Она в системе остается? Какая ошибка при обращении к ней?
mount -o ro -t cifs //10.1.5.43/documents /mnt/documents -o user=user1,password=pass123
//10.1.5.43/documents /mnt/documents cifs user,uid=500,r,suid,username=user1,password=pass123 0 0
Спасибо тебе большое , добрый человек, за правильную команду mount -t cifs //10.1.5.43/documents /mnt/documents -o user=user1,password=pass123 .
При попытке использовать опции -t и -o получаем отлуп — только рут может использовать данные ключи.
Как обойти это при монтировании смб-шары пользователем с обычными правами?
Внесу, пожалуй, свои 5 копеек: 1) Монтирование шары через fstab — не по феншую, ввиду наличия проблем с загрузкой, в случае недоступности шары. Давно уже придуманы systemd mount-unit’ы — они позволяют монтироваться автоматически, при обращении к шаре или, если это требуется, монтироваться после инициализации сети (aka network-online.target). 2) Замечу так же, что для получения нормальной скорости, при переходе на 4-ю версию самбы, требуется фиксить версии используемых протоколов. В противном случае получим значительный просад по скорости. Конфиги при этом требуется править как на сервере, так и на клиенте указывая минимальную версию протокола — SMB2. Примерно так: server min protocol = SMB2
server max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
min protocol = SMB2
max protocol = SMB3
client ipc min protocol = SMB2 В случае монтирования из консоли, так же лучше указать это в опциях, пример: sudo mount \
-t cifs //10.1.5.43/documents /mnt/documents \
-o uid=$(id -u),gid=$(id -g),rw,vers=3.0,user=user1,password=pass123 где `vers=3.0` — версия протокола
Спасибо за содержательное и полезное дополнение. Сразу ответили на вопрос, который давно у меня зрел в голове, но никак не доходили руки уточнить. Как явно указать использовать определенную версию протокола smb.
Вы уверены что надо так: \\10.1.5.43\documents .
а не так: //10.1.5.43/documents Пробовал у себя как у Вас в примере написано, не заработало, повернул слеши и шара подцепилась.
Правда у меня не CentOS, а Mageia, но fstab думаю и в Африке fstab :))
Спасибо за замечание. Вы правы, слеши должны быть в другую сторону, как и в команде на ручное монтирование. Это была ошибка.
Добрый день! Подскажите пож-та, может сталкивались с такой проблемой и решили её: Есть Ubuntu 18.04 Gui gnome, введена в домен AD, логинятся доменные пользователи. Доступ залогиненных доменных пользователей к обменной папке на win2008r2 производится следующим образом: через nautilus-> другие места-> smb://server/obmen. В Nautilus появляется примонтированный obmen. Нажимаю ПКМ и добавляю в закладки(закладка останется в списке постоянно). Но при интенсивной работе c файлами в обменнике, он периодически отваливается с одной из двух ошибок: 1. Не удалось показать «server-11(smb)». Неизвестный тип файла 2. Ой, что-то пошло не так. Недостаточно прав для получения доступа к запрошенному адресу. Если выполнить smbclient -L server, то папку obmen видно. К папкам на других серверах доступ остаётся. В smb.conf вписал client max protocol = NT1. Есть подозрение, что проблема кроется в libreoffice, который не совсем корректно работает с файлами по сети. Как можно примонтировать сетевую папку скриптом в автозагрузке доменного пользователя, чтобы была сквозная доменная авторизация(пароли доменных пользователей меняются раз два месяца) т.к. нет возможности явно указать пароли в fstab?
Думаю, что тут стоит копать проблему и разбираться, почему сетевой диск отваливается. По автозагрузке ничего не скажу, я такой кейс не эксплуатировал ни разу.
Команда для автоматического монтирования не сработала. Добавил в /etc/fstab. Подскажите в чем может быть проблема. Может какие-то логи можно посмотреть?
В логах должна отразиться ошибка. Если через fstab совсем не получается и не понятно почему, а через консоль монтирует, то можно команду для монтирования через консоль просто добавить в /etc/rc.local Эффект будет тот же самый.
Как подключить сетевой диск в Ubuntu?
Прошли времена поиска удобных ftp-клиентов, утомительного монтирования SAMBA-ресурсов и т.п. Теперь в Ubuntu всё делается очень просто и быстро. И ftp, и ssh, и SAMBA ресурсы подключаются практически идентично и монтируются буквально несколькими кликами.
Для начала нажмите Переход -> Соединиться с сервером:
Выберите тип сервиса (для примера показано подключение к общему ресурсу Windows) и заполните необходимые данные (имя пользователя, домен и т.п.):
Теперь введите пароль пользователя. При необходимости можно его сохранить до конца сеанса или навсегда (следует помнить, что это небезопасно):
Вот и всё! Теперь вы можете просматривать содержимое удаленного сервера в Nautilus, как обычной локальной папки.
А что, если нужно обратиться к подключенному сетевому ресурсу из командной строки? Не проблема! По умолчанию ресурсы монтируются в точку ~/.gvfs/ ( ~ — это ссылка на папку /home/ ). Войдите в эту папку:
и вы увидите все подключенные сетевые ресурсы.
Так же просто, быстро и удобно подключаются ресурсы FTP, SSH и WebDAV. Время ftp клиентов прошло 🙂