Как правильно установить Nfsd для Openedx в Ubuntu 16

Я пытаюсь установить Открытый edx devstack на моей человечности 16.04. Для этого nfsd клиент должен работать на моей человечности. Я установил его команда использования:

sudo apt-get update
sudo apt-get install nfs-common

но когда я использую ниже команд,

sudo nfsd status or sudo nfsd start

Это дает ошибку:

sudo: nfsd: command not found.

Скажите мне, как установить клиент nfs на моей человечности, так, чтобы открытый edx devstack был установлен?

0
задан 16 April 2018 в 04:58

2 ответа

Пожалуйста, проверьте ответ ниже, скопированный из SO ответа Винаяк Бхат :

nfsd status работает в macOS.

В Ubuntu используйте /etc/init.d/nfs-kernel-server status

Этот шаг, упомянутый в установке open edx devstack, заключается в том, чтобы убедиться, что службы nfs работают, чтобы хранилище кода на локальном компьютере можно было использовать совместно с виртуальным машина через точку монтирования NFS.

0
ответ дан 30 October 2019 в 02:13

Я думаю, что эта ссылка полезна для Вас.

Как настроить NFS, монтируются на Ubuntu 16.04

В этом руководстве мы покроем, как настроить NFS, монтируется.

Предпосылки

Мы будем использовать два сервера в этом учебном руководстве: каждый совместно использует часть его файловой системы с другим. Для следования вперед Вам будет нужно:

1. Два сервера Ubuntu 16.04, каждый с некорневым пользователем с sudo полномочия и частные сети, если это доступно Вам.

Для помощи, настраивающей пользователя с этими полномочиями, следуйте за нашей Начальной Установкой Сервера с руководством Ubuntu 16.04.

Для справки, настраивающей частные сети, посмотрите, Как Настроить И Использовать DigitalOcean Частные Сети.

Всюду по учебному руководству мы обращаемся к серверу, который совместно использует его каталоги как хост и сервер, который монтирует эти каталоги как клиент. Для хранения их прямо, мы будем использовать следующие IP-адреса в качестве заместителей для клиентских значений и хоста:

Хост: 203.0.113.0 Клиент: 203.0.113.256

Необходимо заменить эти значения собственным хостом и клиентскими IP-адресами.

Шаг 1 — загрузка и установка компонентов

Мы начнем путем установки необходимых компонентов на каждом сервере.

На хосте

На хост-сервере мы установим пакет сервера ядра nfs, который позволит нам совместно использовать наши каталоги. Так как это - первая операция, которую мы выполняем с Кв. на этой сессии, мы обновим наш локальный индекс пакета перед установкой:

sudo apt-get update
sudo apt-get install nfs-kernel-server

После того как эти пакеты установлены, переключаются на клиент-сервер.

На клиенте

На клиент-сервере мы должны установить пакет, названный общим для nfs, который обеспечивает функциональность NFS без включения ненужных серверных компонентов. Снова, мы обновим локальный индекс пакета до установки, чтобы гарантировать, чтобы у нас была актуальная информация:

sudo apt-get update
sudo apt-get install nfs-common

Теперь, когда оба сервера имеют необходимые пакеты, мы можем начать настраивать их.

Шаг 2 — создание каталогов доли на хосте

Мы собираемся совместно использовать два отдельных каталога, с различными параметрами конфигурации, для иллюстрирования двух ключевых способов, которыми монтирование NFS может быть настроено относительно доступа суперпользователя.

Суперпользователи могут сделать что-либо где угодно в их системе. Однако смонтированные NFS каталоги не являются частью системы, в которой они смонтированы, так по умолчанию, сервер NFS отказывается выполнять операции, которые требуют полномочий суперпользователя. Это ограничение по умолчанию означает, что суперпользователи на клиенте не могут записать файлы как корень, повторно присвоить владение или выполнить, любые другие задачи суперпользователя на NFS монтируются.

Иногда, однако, существуют доверяемые пользователи в клиентской системе, которые должны смочь сделать эти вещи в смонтированной файловой системе, но у кого нет потребности в доступе суперпользователя на хосте. Сервер NFS может быть настроен для разрешения этого, хотя он представляет элемент риска, как такового, пользователь мог получить корневой доступ ко всей хост-системе.

Пример 1: экспорт монтирования общего назначения

В первом примере мы создадим NFS общего назначения, монтируют, что значение по умолчанию использования поведение NFS к мешает пользователю с полномочиями пользователя root на клиентской машине взаимодействовать с хостом с помощью тех клиентских полномочий суперпользователя. Вы могли бы использовать что-то вроде этого, чтобы хранить загруженное использование файлов системы управления контентом или создать пространство для пользователей, чтобы легко совместно использовать файлы проекта.

Во-первых, сделайте каталог доли названным nfs:

host$ sudo mkdir /var/nfs/general -p

Так как мы создаем его с sudo, каталог принадлежит корню здесь на хосте.

host$ ls -la /var/nfs/general

Вывод

4 корня drwxr-xr-x 2 базируются 4096 25 июля 15:26

NFS переведет любые корневые операции на клиенте к nobody:nogroup учетным данным как меры безопасности. Поэтому мы должны изменить владение каталога для соответствия тем учетным данным.

host$ sudo chown nobody:nogroup /var/nfs/general

Этот каталог теперь готов к экспорту.

Пример 2: экспорт корневого каталога

В нашем втором примере цель состоит в том, чтобы сделать пользовательские корневые каталоги сохраненными на хосте доступный на клиент-серверах, в то время как разрешение доверяло администраторам тех клиент-серверов доступ, они должны удобно управлять пользователями.

Чтобы сделать это, мы экспортируем /home каталог. Так как это уже существует, мы не должны создавать его. Мы не изменим полномочия, также. Если бы мы сделали, то это вызвало бы все виды проблем для любого с корневым каталогом на хост-машине.

Шаг 3 — конфигурирование экспорта NFS на хост-сервере

Затем, мы погрузимся в конфигурационный файл NFS для установки совместного использования этих ресурсов.

Откройтесь /etc/exports файл в Вашем текстовом редакторе с полномочиями пользователя root:

host$ sudo nano /etc/exports

Файл имеет комментарии, показывающие общую структуру каждой строки конфигурации. Синтаксис в основном:

/etc/exports
directory_to_share    client(share_option1,...,share_optionN)

Мы должны будем создать строку для каждого из каталогов, которые мы планируем совместно использовать. Так как у нашего клиента в качестве примера есть IP 203.0.113.256, наши строки будут похожи на следующее. Обязательно измените дюйм/с для соответствия клиенту:

/etc/exports
/var/nfs/general    203.0.113.256(rw,sync,no_subtree_check)
/home       203.0.113.256(rw,sync,no_root_squash,no_subtree_check)

Мы используем те же параметры конфигурации для обоих каталогов за исключением no_root_squash. Давайте смотреть на какой каждое средство.

rw: Эта опция дает клиентскому компьютеру и доступ для чтения и доступ для записи к объему.

синхронизация: Эта опция вынуждает NFS записать изменения в диске перед ответом. Это приводит к более стабильной и последовательной среде, так как ответ отражает реальное положение удаленного объема. Однако это также уменьшает скорость операций файла.

no_subtree_check: Эта опция предотвращает проверку поддерева, которая является процессом, где хост должен проверить, доступен ли файл на самом деле все еще в экспортируемом дереве для каждого запроса. Это может вызвать много проблем, когда файл переименован, в то время как клиенту открыли его. Почти во всех случаях лучше отключить проверку поддерева.

no_root_squash: По умолчанию NFS переводит запросы от пользователя root удаленно в непривилегированного пользователя на сервере. Это было предназначено как средство защиты для предотвращения корневой учетной записи на клиенте от использования файловой системы хоста как корень. no_root_squash отключает это поведение для определенных долей. Когда Вы закончены, внеся Ваши изменения, сохраняете и закрываете файл. Затем для предоставления доступа к долям доступными для клиентов, которые Вы настроили перезапустите сервер NFS со следующей командой:

host$ sudo systemctl restart nfs-kernel-server

Прежде чем можно будет на самом деле использовать новые доли, однако, необходимо будет быть уверены, что трафик к долям разрешен правилами брандмауэра

Шаг 4 — корректировка брандмауэра на хосте

Во-первых, давайте проверим состояние брандмауэра, чтобы видеть, включено ли оно и если так, для наблюдения то, что в настоящее время разрешается:

sudo ufw status

Вывод

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

В нашей системе только позволяется трафик SSH, таким образом, мы должны будем добавить правило для трафика NFS.

Со многими приложениями можно использовать sudo ufw список приложений и включить им по имени, но nfs не является одним из тех. Поскольку ufw также проверяет/etc/services на порт и протокол сервиса, мы можем все еще добавить NFS по имени. Лучшая практика рекомендует включить самое строгое правило, которое все еще позволит трафик, который Вы хотите разрешить, так вместо того, чтобы включить трафик из просто где угодно, мы будем конкретны.

Используйте следующую команду для открытого порта 2049 на хосте, будучи убеждающимися заменить IP-адресом Вашего клиента:

host$ sudo ufw allow from 203.0.113.256 to any port nfs

Можно проверить изменение путем ввода:

host$ sudo ufw status

Необходимо видеть трафик, позволенный от порта 2049 в выводе:

Вывод

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                 
2049                       ALLOW       203.0.113.256        
OpenSSH (v6)               ALLOW       Anywhere (v6)

Это подтверждает, что UFW только позволит трафик NFS на порте 2049 от нашей клиентской машины.

Шаг 5 — создание точек монтирования на клиенте

Теперь, когда хост-сервер настроен и обслуживание его долей, мы подготовим наш клиент.

Для предоставления доступа к удаленным долям доступными на клиенте, мы должны смонтировать каталог хоста на пустом клиентском каталоге.

Примечание: Если будут файлы и каталоги в Вашей точке монтирования, как только Вы монтируете долю NFS, они будут скрыты. Убедитесь, монтируетесь ли Вы в каталоге, который уже существует, что каталог пуст.

Мы создадим два каталога для нашего монтирования:

client$ sudo mkdir -p /nfs/general
client$ sudo mkdir -p /nfs/home

Шаг 6 — монтирование каталогов на клиенте

Теперь, когда у нас есть некоторое место для помещения удаленных долей, и мы открыли брандмауэр, мы можем смонтировать доли путем обращения к нашему хост-серверу, который в этом руководстве является 203.0.113.0, как это:

client$ sudo mount 203.0.113.0:/var/nfs/general /nfs/general
client$ sudo mount 203.0.113.0:/home /nfs/home

Эти команды должны смонтировать доли от главного компьютера на клиентскую машину. Можно перепроверить это, они смонтировались успешно несколькими способами. Можно проверить это с плоскостью mount или findmnt команда, но df -h даст Вам, более человекочитаемый вывод иллюстрирует, как использование диска отображено по-другому для долей nfs:

client$ df -h

Вывод

Filesystem                Size  Used Avail Use% Mounted on
udev                      238M     0  238M   0% /dev
tmpfs                      49M  628K   49M   2% /run
/dev/vda1                  20G  1.2G   18G   7% /
tmpfs                     245M     0  245M   0% /dev/shm
tmpfs                     5.0M     0  5.0M   0% /run/lock
tmpfs                     245M     0  245M   0% /sys/fs/cgroup
tmpfs                      49M     0   49M   0% /run/user/0
203.0.113.0:/home      20G  1.2G   18G   7% /nfs/home
203.0.113.0:/var/nfs/general   20G  1.2G   18G   7% /nfs/general

Обе из долей, которые мы смонтировали, появляются внизу. Поскольку они были смонтированы от той же файловой системы, они показывают то же использование диска. Для наблюдения, сколько пространства на самом деле используется под каждой точкой монтирования используйте команду использования диска du и путь монтирования. -s флаг предоставит сводку использования вместо того, чтобы отобразить использование для каждого файла. -h распечатает человекочитаемый вывод.

Например:

du -sh /nfs/home

Вывод

36K /nfs/home

Это показывает нам, что содержание всего корневого каталога использует только 20K свободного места.

Шаг 7 — тестирование доступа NFS

Затем, позвольте нам доступ для тестирования к долям путем записи чего-то каждому из них.

Пример 1: доля общего назначения

Во-первых, запишите тестовый файл в /var/nfs/general поделиться.

client$ sudo touch /nfs/general/general.test

Затем проверьте его владение:

client$ ls -l /nfs/general/general.test

Вывод

-rw-r--r-- 1 nobody nogroup 0 Aug  1 13:31 /nfs/general/general.test

Поскольку мы смонтировали этот объем, не изменяя поведение NFS по умолчанию и создали файл как клиентский пользователь root машины через sudo команда, владение значений по умолчанию файла к nobody:nogroup. Клиентские суперпользователи не смогут выполнить типичные административные действия, как изменение владельца файла или создания нового каталога для группы пользователей, на этой смонтированной NFS доле.

Пример 2: доля корневого каталога

Для сравнения полномочий доли Общего назначения с долей Корневого каталога создайте Корневой каталог файла тот же путь:

client$ sudo touch /nfs/home/home.test

Затем посмотрите на владение файла:

client$ ls -l /nfs/home/home.test

Вывод

-rw-r--r-- 1 root root 0 Aug  1 13:32 /nfs/home/home.test

Мы создали home.test как базируются через sudo команда, точно тот же путь мы создали general.test файл. Однако в этом случае это принадлежит корню, потому что мы переопределили поведение по умолчанию, когда мы указали no_root_squash опция на этом монтировании. Это позволяет нашим пользователям root на клиентской машине действовать как корень и делает администрирование учетных записей пользователей намного более удобным. В то же время это означает, что мы не должны предоставлять этот пользовательский корневой доступ на хосте.

Шаг 8 — монтирование удаленных каталогов NFS при начальной загрузке

Мы можем смонтировать удаленные доли NFS автоматически при начальной загрузке путем добавления их к /etc/fstab файл на клиенте.

Откройте этот файл с полномочиями пользователя root в Вашем текстовом редакторе:

client$ sudo nano /etc/fstab

У основания файла мы собираемся добавить строку для каждой из наших долей. Они будут похожи на это:

/etc/fstab
. . .
203.0.113.0:/var/nfs/general    /nfs/general   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
203.0.113.0:/home       /nfs/home      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Примечание: Больше информации об опциях, которые мы указываем здесь, может быть найдено в странице справочника, которая описывает NFS, монтирующийся в fstab с человеком nfs команда.

Клиент-сервер автоматически смонтирует удаленные разделы при начальной загрузке, хотя это может занять некоторое время для соединения, которое будет сделано и доли, чтобы быть доступным.

Шаг 9 — размонтирование NFS удаленная доля

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

client$ cd ~
client$ sudo umount /nfs/home
client$ sudo umount /nfs/general

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

client$ df -h

Вывод

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda         59G  1.3G   55G   3% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            2.0G   12K  2.0G   1% /dev
tmpfs           396M  320K  396M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            100M     0  100M   0% /run/user

Если Вы также хотите препятствовать тому, чтобы они были повторно смонтированы на следующей перезагрузке, редактировании /etc/fstab и или удалите строку или прокомментируйте ее путем размещения # символа в начале строки. Можно также предотвратить автомонтирование путем удаления auto опция, которая позволит Вам монтировать его вручную.

1
ответ дан 30 October 2019 в 02:13

Другие вопросы по тегам:

Похожие вопросы: