- Использование клиента NFS в Windows 10 редакции Professional
- RootUsers
- Guides, tutorials, reviews and news for System Administrators.
- How To Mount An NFS Share In Windows Server 2016
- Install NFS Client
- Mount NFS Temporarily
- Mount NFS Persistently
- Map Network Drive
- Add A Network Location
- Summary
- Монтирование NFS
Использование клиента NFS в Windows 10 редакции Professional
Администрируя серверы на базе ОС Linux в среде, где в качестве основной клиентской ОС используется Windows, время от времени приходится сталкиваться с необходимостью что-либо скопировать с клиентской Windows на Linux-систему или наоборот, с Linux-системы на Windows. Чаще всего для этого используются возможности протоколов SSH/SCP с помощью таких инструментов, как например, утилита pscp.exe. Но когда приходится сталкиваться с файловыми Linux-серверами, позволяющими использовать возможности протокола NFS, мы можем задаться вопросами типа «может ли клиентская ОС Windows выступать в качестве NFS-клиента?», «есть ли в клиентской ОС Windows какая-то встроенная реализация клиента NFS?». Именно такие вопросы у меня возникли в период времени, который совпал с периодом, когда мы перебирались с Windows 8.1 на первый релиз Windows 10. Информация, которую в тот момент удалось найти по этому вопросу, заключалась в том, что функциональность NFS-клиента имеют только «старшие» редакции клиентских ОС Windows, такие как Windows 7 Ultimate/Enterprise, Windows 8/8.1 Enterprise и Windows 10 Enterprise. Однако в нашем случае использовалась ОС Windows 10 редакции Professional, поэтому пришлось отбросить эти мысли.
Недавно, читая обсуждения на форумах TechNet, я столкнулся с информацией о том, что с какого-то момента времени в ОС Windows 10 редакции Professional появилась возможность использовать функционал NFS-клиента. По информации из некоторых источников такая возможность появилась в Windows 10 версии 1607 (10.0.14393 / Anniversary Update).
Решив проверить эту информацию на имеющейся у меня под руками Windows 10 1803 (10.0.17134 / April 2018 Update) редакции Professional, я обнаружил, что теперь у нас действительно имеется возможность использования этого функционала.
Чтобы включить NFS-клиента, можем воспользоваться оснасткой управления программами и компонентами appwiz.cpl. Здесь в перечне «компонентов Windows» можно найти доступные к включению «Службы для NFS«.
После завершения установки компонент в Панели управления в разделе «Администрирование» появится оснастка «Службы для NFS» (nfsmgmt.msc), в которой мы сможем управлять некоторым параметрами работы NFS-клиента.
Предполагаем, что на стороне NFS сервера уже настроены разрешения для доступа с клиентской системы, например, явно разрешён доступ по IP адресу клиента. Простейший пример установки и настройки NFS-сервера на стороне CentOS Linux можно найти в статье Вики «Установка и настройка сервера и клиента NFS в CentOS Linux 7.2».
После настройки прав доступа на стороне NFS-сервера переходим на Windows 10 и выполняем подключение сетевого каталога с помощью утилиты «mount«. Простейший пример анонимного подключения к сетевому каталогу выглядит так:
- «-o anon» — подключаться с правами анонимного пользователя;
- «KOM-FS01» — имя NFS-сервера;
- «mnt\vdo-vd1\ovirt-iso-domain» — локальный путь к каталогу на NFS-сервере;
- «I» — буква диска Windows
Другие доступные параметры и ключи утилиты, можно посмотреть командой «mount /?«. Например, при подключении мы явно можем указать имя пользователь и пароль на NFS-сервере.
При открытии свойств каталогов и файлов в подключённом NFS-каталоге мы увидим специальную вкладку «Атрибуты NFS» с соответствующими атрибутами, в том числе и информацию о текущих разрешениях на каталог/файл, которыми, в случае достаточных прав, мы можем управлять.
При повторном выполнении команды mount без указания параметров, мы получим сведения о текущий подключениях NFS-клиента и свойствах этих подключений:
Здесь мы сможем увидеть то, с какими UID и GUID, выполнено подключение. Для анонимных подключений это по умолчанию -2/-2. Если по какой-то причине у нас возникнет необходимость изменить эти идентификаторы для всех анонимных клиентских подключений, то мы можем добавить пару отсутствующих по умолчанию параметров реестра типа DWORD (32-бита):
В значениях созданных параметров можно записать нужные UID и GUID, которые будут использоваться при всех анонимных подключениях. На скриншоте ниже используется пример со значениями 1000:1000 (десятичное).
Если мы хотим, чтобы все анонимные подключения использовали root-овые идентификаторы, то в соответствующих параметрах реестра нужно указать AnonymousUid = 0 и AnonymousGid = 0. Указание root-овых идентификаторов может быть полезно в случае, если, например, нам требуется не только чтение, но запись в подключенном NFS-каталоге, а удалённый NFS-сервер разрешает запись только root-пользователю и/или членам группы root.
Для вступления изменений в силу потребуется выполнить остановку и повторный запуск службы клиента NFS из ранее упомянутой оснастки «Службы для NFS» (nfsmgmt.msc).
Либо, если перезапуск компьютера не составляет проблемы, то для вступления изменений в силу можно выполнить и перезагрузку клиентского компьютера.
Здесь хочу сделать маленькое отступление относительно перезапуска службы клиента NFS и поделиться своими наблюдениями.
Мои попытки перезапускать системную службу «Клиент для NFS» (NfsClnt) через стандартные механизмы, такие как оснастку управления службами services.msc или утилиту «net«, показали, что это по какой-то причине приводит к невозможности запуска службы после её остановки. Поэтому для перезапуска NFS-клиента лучше использовать именно «родную» оснастку. Хотя, опять же, замечено, что многократные остановки/запуски службы в оснастке «Службы для NFS» также могут привести к неадекватной работе NFS-клиента. В результате чего, например, утилита «mount» может перестать подключать NFS-каталоги, выдавая ошибку сети:
В таких случаях помогает только перезагрузка клиентского компьютера, после которой всё снова начинает работать.
После того, как нужные нам изменения внесены в реестр и служба клиента NFS успешно перезапущена, снова попытаемся подключить NFS-каталог и посмотрим командой «mount» сведения о подключениях.
Как видим, теперь в качестве идентификаторов безопасности выступают именно те, что были ранее нами указаны в реестре.
Отключение подключенных по протоколу NFS сетевых ресурсов выполняется также просто, как и подключение, только с помощью другой утилиты – «umount«
В общем это хорошо, что теперь у пользователей ОС Windows 10 редакции Professional есть штатная возможность работать с сетевыми файловыми ресурсами по протоколу NFS. Будем использовать это в работе.
RootUsers
Guides, tutorials, reviews and news for System Administrators.
How To Mount An NFS Share In Windows Server 2016
Here we’re going to show you how to mount an NFS file share in Windows Server 2016 both temporarily and persistently so that it will automatically mount after a reboot.
There are a couple of different ways this can be done, including mapping a network drive or adding a network location, which we’ll discuss here.
Our NFS Server: In this example we already have an NFS server setup on a CentOS 7 Linux system which is available at 192.168.1.14 and we have exported the /root/nfs directory with NFS. See our guide on creating an NFS server in Linux here if you need information on how to do this.
Install NFS Client
Before we can mount any NFS shares on our Windows server, we must first install the NFS client feature. This can be done through the graphical user interface (GUI) using server manager, however that takes a lot longer so we’ll use some PowerShell.
First we’ll use the Get-WindowsFeature cmdlet to search for available features that contain the string ‘NFS*’ in the Name field.
As we can see NFS-Client is available for install but not currently installed.
Next we use the Install-WindowsFeature cmdlet to install the NFS-Client feature, as shown below.
Once complete we should see that the installation has completed successfully, no reboot is required for this feature, we can begin using it straight away.
Mount NFS Temporarily
We can use the mount command in command prompt to quickly mount our NFS share and confirm that it’s working. Note that the mount command used here is in command prompt rather than PowerShell, using it in PowerShell will fail as it is a different command.
At this point we can browse to “This PC” and we should see the NFS share mounted under Network Locations.
There is an issue with this however, this mount is not persistent meaning that if we perform a restart of the Windows server it will not be there afterwards. Luckily there are a few ways we can permanently map to the NFS file share.
Mount NFS Persistently
Most of the time we will want our NFS mount to survive a system reboot and mount automatically after boot so that we don’t have to manually mount it every time.
There are a couple of different ways that we can achieve this task:
Map Network Drive
I personally prefer this method, as we can see the space remaining much more easily.
- First open up “This PC” and select Computer from the menu at the top. From here click on Map network drive, as shown below.
The Map Network Drive window will open, select the drive letter that you want to assign to the NFS share, followed by the IP address or hostname of the NFS server as well as the path to the exported NFS directory. Click the Finish button when complete.
You may see a pop up window showing that the connection is being attempted. Once complete the shared NFS folder will open up.
When you view “This PC” you will see the mapped network drive under Network location. This method is better than adding the network location as we’ll discuss next as it clearly shows how much disk space on the NFS share is in use and how much is still available.
Add A Network Location
This will basically create a shortcut to the mounted NFS directory for you to access at any time, it will also be available after restart just like the map network drive method above.
- First open up “This PC” and right click in the white space area and select “Add a network location”.
On the welcome screen click Next to proceed.
Select that you want to choose a custom network location, followed by the Next button.
Enter in two back slashes, followed by the IP address or hostname of your NFS server, followed by the path that is being exported by the NFS server. Click Next once you’ve filled this in.
You can now select a custom name for the network location, click Next once you’ve set one.
To complete the process, simply click the Finish button on the completion screen.
We can optionally open the NFS mount now, or we can browse to “This PC” and see the folder shortcut listed under the “Network locations” setting as shown below.
As mentioned note that this does not show the disk space in use like the network drive mapping option.
Summary
We have shown you how to install the NFS client feature in Windows Server 2016, and then mount an NFS share from a Linux server both temporarily through command prompt with the mount command, and persistently so that the NFS share is mounted automatically after the server has been restarted.
By doing this we can easily access files from a Unix or Linux based operating system over NFS from Windows.
Монтирование NFS
Network File System (NFS) – протокол доступа к файловым системам по сети. NFS позволяет удаленно подключаться к общим папкам. Подключая общую папку мы работаем с ней как с локальной директорией. Давайте разберемся как происходит монтирование NFS на популярных дистрибутивах Linux.
В качестве NFS сервера у меня будет выступать FreeNAS – бесплатная сборка NAS на FreeBSD. Вероятно на вашей системе уже установлен клиент NFS, если нет установим его. Я буду монтировать NFS на Centos 8. Настройки для Ubuntu подобных также привожу.
Установка клиента NFS
Перед началом работы советую установить все текущие обновления.
Установка клиента NFS на Centos (и прочие на yum)
Установка клиента NFS на Ubuntu (и прочие на apt)
Монтирование NFS
Создадим в нашей системе папку куда будем монтировать NFS
Расположение и название папки может быть любым.
Монтирование NFS директории в папку /opt/nas
Разберем указанные параметры:
- -t – указывает тип файловой системы
- 192.168.20.2 – ip адрес моего NAS сервера
- :/mnt/GENERAL – путь к монтируемой папке на NAS сервере
- /opt/nas – папка на клиенте куда монтируем
Путь к монтируемой папке необходимо точно указывать. На разных серверах путь разный. В моём случае:
Если монтирование прошло удачно никаких сообщений не будет. Когда возникает ошибка, на экране это обязательно отобразится. У меня все прошло без ошибок.
У команды mount множество возможных ключей. Например можно подключить папку и сделать ее только для чтения, используя ключ -r. Полный список возможностей можно узнать прочитав man.
Либо посмотреть список ключей касательно монтирования NFS
Увидеть подключенные файловые системы с указанием точки монтирования можно так
Данная команда удобна тем, что показывает куда смонтирована файловая система. Также видна статистика по общему количеству места, занятому и свободному.
Ручной тип подключения файловых систем, а именно монтирование, работает до перезагрузки. Перезагрузив компьютер потребуется снова монтировать папку. Чтобы автоматизировать данный процесс переходим к следующему пункту.
Автоматическое монтирование NFS
Автоматическое монтирование NFS происходит путем редактирования файла /etc/fstab. Указанный файл содержит список файловых систем с параметрами, которые автоматически монтируются при старте системы. Добавим в /etc/fstab монтирование NFS.
Добавляем в конец файла новую строку
- 192.168.20.2 – адрес моего сервера NAS
- :/mnt/GENERAL – папка на сервере
- /opt/nas – папка на клиенте куда монтируем
- nfs – тип файловой системы
- defaults – использовать параметры монтирования по умолчанию
- 0 – не использовать дамп
- 0 – не проверять файловую систему при старте программой fsck
Сохраняем файл и перезагружаемся. Если все заполнили верно, после перезагрузки появится подключенная папка с файловой системой NFS.
Размонтирование NFS
При автоматическом монтировании размонтировать NFS папку можно удалив строку в файле /etc/fstab. После перезагрузки папка NFS не будет подключена. Отключить файловую систему без перезагрузки можно командой umount
Если размонтировать не получилось, по причине того что накопитель используется, поможет ключ -l
Ключ -l позволяет размонтировать файловую систему когда она больше не используется. Есть еще ключ -f позволяющий отключить файловую систему если она более не доступна. Однако использовать его нужно с осторожность, т.к. данные могут быть потеряны.