Linux: Полное руководство
Шрифт:
Какой способ использовать — решать вам. Однако настоятельно не рекомендуется применение первых двух способов. Их использование допустимо лишь в исключительных случаях и в особых условиях.
Бесплатный SSH-клиент для Windows можно скачать у автора, Роберта Каллагана, сайт
Глава 12
Разделение ресурсов: NFS и SAMBA
12.1. NFS — сетевая файловая система
Сетевая файловая система (Network File Sharing) — это протокол, позволяющий монтировать файловые системы на удаленных компьютерах. При этом создается
Служба NFS основана на RPC (Remote Procedure Call): клиент вызывает функции в программе сервера. Клиентскому компьютеру не требуется дополнительного программного обеспечения, чтобы воспользоваться NFS: ядро Linux само определяет, что запрошенный файл находится на NFS-сервере, и автоматически генерирует RPC-вызов, чтобы получить доступ к файлу.
Версия 2 протокола NFS появилась в ядре 1.2. Начиная с версии ядра 2.2.18, поддерживается версия 3, в которой улучшена производительность благодаря безопасной асинхронной записи файлов, добавлены поддержка файлов размером больше 2 Гб и средства блокировки файлов. В ядра 2.4 и выше встроена полнофункциональная NFSv3, работающая поверх протокола TCP (в дополнение к обычному UDP), и большинство популярных дистрибутивов ее поддерживают. Четвертая версия NFS с повышенной безопасностью появилась в Red Hat Enterprise Linux 4.
FAQ и HOWTO-документы можно найти на домашней странице проекта
12.1.1. Клиент NFS: монтирование сетевого каталога
Монтирование осуществляется с помощью команды mount:
Прежде всего, нужно указать тип файловой системы:
Для монтирования сетевых файловых систем предназначены ключи команды mount, перечисленные в таблице 12.1.
Ключи команды mount для сетевых файловых систем Таблица 12.1
Ключ | Назначение |
---|---|
bg | Если первая попытка монтирования файловой системы NFS окажется неудачной. то попытки будут автоматически повторяться в фоновом режиме |
fg | Если первая попытка монтирования файловой системы NFS окажется неудачной. то попытки будут автоматически повторяться в приоритетном режиме. Это значение установлено по умолчанию |
soft | Задержка при выполнении операции, связанной с файлом, расположенным в сетевой файловой системе NFS (возникающая при сбое сервера или отключении сети), будет приводить к отправке приложению сообщения об ошибке ввода/вывода. И хотя некоторые приложения могут корректно обрабатывать такую ошибку, но большинство из них все-таки такой возможностью не обладают. Не рекомендуется устанавливать это значение, так как оно может привести к появлению испорченных файлов и потере данных |
hard | Задержка при выполнении операции, связанной с файлом, расположенным в сетевой файловой системе NFS, будет приводить к приостановке, а затем возобновлению
|
tcp | Монтирует сетевую файловую систему с помощью протокола TCP, а не UDP |
rsize=1024 | Задает размер информации, пересылаемый при чтении файлов за один раз. По умолчанию этот размер равен 1024 байта. Однако зачастую имеет смысл увеличить это значение (например, до 4096) |
wsize=1024 | Аналогично rsize, но для операции записи |
noexec | Запрещает выполнение программ или сценариев в монтируемой файловой системе. При этом клиентом будет игнорироваться атрибут «исполнение» |
Чтобы сетевая файловая система монтировалась автоматически при загрузке системы, нужно внести определенные записи в файл
12.1.2. Настройка сервера NFS
Сервер NFS экспортирует файловые системы, то есть делает их доступными для использования с другого компьютера. Обслуживанием экспорта занимаются следующие демоны:
♦ rpc.mountd, обрабатывающий запрос на монтирование;
♦ rpc.nfsd, обеспечивающий доступ к файлам смонтированной файловой системы;
♦ rpc.lockd и rpc.statd, управляющие блокировкой файлов;
♦ rpc.rquotad, контролирующий квоты на экспортируемых файловых системах.
Эти демоны устанавливаются из пакета
Как и другие RPC-службы, NFS зависит от демона portmap (или rpc.portmap), который должен запускаться первым. Загрузочные сценарии большинства современных дистрибутивов включают запуск этого демона. Если в вашем дистрибутиве демоны NFS по умолчанию не запускаются, отредактируйте загрузочные сценарии, организовав запуск в следующем порядке:
♦ rpc.portmap;
♦ rpc.mountd, rpc.nfsd;
♦ rpc.statd, rpc.lockd (с ядром выше 2.2.18 этот демон вызывается из nfsd, и отдельно запускать его не нужно), rpc.rquotad.
Если на вашем компьютере запущен также сервер DNS, проследите за тем, чтобы сервер DNS запускался после демонов NFS. При соблюдении данного условия гарантируется корректная работа NFS.
Конфигурационным файлом сервера NFS служит
Разрешается экспортировать любые каталоги, а не только корневые каталоги физических файловых систем. Единственное ограничение — файловые системы, физически расположенные на разных устройствах (разделах), должны экспортироваться по отдельности.
Листинг 12.1. Примерный файл /etc/exports