Поиск по сайту:

Как установить сервер NFS и настроить хранилище NFS в Proxmox VE


На этой странице

  1. Предпосылки
  2. Шаг 1. Установите NFS на CentOS 7
  3. Шаг 2. Создайте общий каталог
  4. Шаг 3. Настройте Proxmox для использования хранилища NFS
  5. Шаг 4. Резервное копирование ВМ на Proxmox в хранилище NFS
  6. Шаг 5. Восстановление ВМ из хранилища NFS
  7. Заключение

NFS (Network File System) — это протокол распределенной файловой системы, разработанный Sun Microsystem. NFS позволяет серверу совместно использовать файлы и каталоги папки на сервере по сети. Когда общий ресурс NFS монтируется в клиентской системе, NFS позволяет пользователю получать доступ к файлам и каталогам в удаленной системе, как если бы они хранились локально.

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

Предпосылки

Нам нужны два сервера.

  1. Сервер Proxmox с IP-адресом: 192.168.1.111
  2. CentOS 7 с IP-адресом: 192.168.1.102

Шаг 1 — Установите NFS на CentOS 7

Подключитесь к серверу CentOS с помощью SSH (и получите привилегии root с помощью команд sudo, если вы не использовали вход root).

ssh 
sudo su

Теперь установите nfs с помощью yum:

yum -y install nfs-utils libnfsidmap rpcbind

nfs-utils – это утилиты для управления сервером NFS. Они должны быть установлены на сервере и клиенте.
rpcbind — это демон, который позволяет клиентам NFS обнаруживать порт, используемый сервером NFS.
libnfsidmap — это библиотека, помогающая сопоставлять идентификаторы для NFSv4.

Если все пакеты установлены успешно, разрешите запуск служб rpcbind и nfs-server при загрузке сервера.

systemctl enable rpcbind
systemctl enable nfs-server

Затем запустите все службы:

systemctl start rpcbind
systemctl start nfs-server
systemctl start rpc-statd
systemctl start nfs-idmapd

Затем мы включим firewalld и откроем сервисные порты NFS, mountd и rpc-bind, чтобы иметь доступ к NFS с других серверов в нашей сети.

systemctl start firewalld
firewall-cmd --permanent --zone public --add-service mountd
firewall-cmd --permanent --zone public --add-service rpc-bind
firewall-cmd --permanent --zone public --add-service nfs

Перезагрузите конфигурацию firewalld, чтобы применить изменения:

firewall-cmd --reload

Чтобы увидеть службы, разрешенные в брандмауэре, используйте следующую команду:

firewall-cmd --list-all

Шаг 2 — Создайте общий каталог

На этом шаге мы создадим каталог и поделимся им с сервером proxmox. Я создам каталог nfsproxmox в каталоге /var и изменю разрешение на 777, чтобы любой мог читать и писать в него.

mkdir -p /var/nfsproxmox
chmod -R 777 /var/nfsproxmox/

Обратите внимание, если этот сервер резервного копирования используется для других служб или является многопользовательской системой, вам следует использовать более строгие разрешения, такие как 755 или даже 750, и указать каталог для пользователя, который сможет писать в него.

Затем измените файл /etc/exports, чтобы настроить общий доступ к каталогу, IP-адрес клиента и другие параметры.

vim /etc/exports

Добавьте конфигурацию ниже:

/var/nfsproxmox 192.168.1.111(rw,sync,no_root_squash)

Сохранить и выйти.

/var/nfsproxmox=общий каталог с правами на чтение и запись.
192.168.1.111=IP-адрес клиента nfs (в этом руководстве мы используем сервер Proxmox).
rw=Разрешить обоим пользователям чтение и запись в общий каталог.
sync=Отвечать на запросы только после того, как изменения будут зафиксированы в постоянном хранилище. (По умолчанию)
no_root_squash = Разрешить привилегированному пользователю на клиентском компьютере иметь тот же уровень и права доступа, что и привилегированный пользователь на сервере, к общему каталогу.

Теперь экспортируйте общий каталог с помощью следующей команды:

exportfs -r

Другие полезные команды NFS:

exportfs -a=экспортировать все общие каталоги в конфигурацию файла /etc/exports.
exportfs -v=отображать все общие каталоги.

Настройка NFS на сервере завершена, и теперь мы можем перейти к следующему этапу, настроить proxmox для использования NFS.

Шаг 3. Настройте Proxmox для использования хранилища NFS.

У меня есть сервер proxmox с IP 192.168.1.111, установленный с помощью этого руководства.

Войдите на сервер proxmox из веб-браузера:

В веб-администраторе Proxmox нажмите «Центр обработки данных», а затем перейдите на вкладку «Хранилище», нажмите «Добавить» и выберите NFS.

Теперь введите данные конфигурации NFS:

ID=введите имя NFS, я буду использовать здесь \nfsproxmox\.
IP-адрес сервера =  IP-адрес сервера NFS, мой 192.168.1.102 .
Экспорт=Общий каталог NFS — /var/nfsproxmox.
Содержимое=Тип файла на сервере NFS, образ диска, файл ISO, контейнер , файл резервной копии VZDump и т. д.
Включить=установите этот флажок.
Максимальное количество резервных копий=максимально допустимое количество резервных копий каждой виртуальной машины.

И нажмите \Добавить\.

Теперь вы можете увидеть новое хранилище с левой стороны.

Шаг 4 — Резервное копирование ВМ на Proxmox в хранилище NFS

В этом руководстве я использовал одну виртуальную машину с идентификатором 100, названную \debian\, и она работает. На этом шаге мы создадим резервную копию этой виртуальной машины в хранилище NFS «nfsproxmox».

Нажмите на имя ВМ, перейдите на вкладку \Резервное копирование\ и нажмите \Резервное копирование сейчас\.
Выберите все, что вам нужно:

Хранилище=Наше имя/идентификатор NFS.
Режим=
Существует 3 режима резервного копирования:

  1. Снимок (без простоя, онлайн).
  2. Приостановить (то же, что моментальный снимок для KVM), использовать приостановку/возобновление и несколько проходов rsync (OpenVZ и LXC).
  3. Стоп=остановите виртуальную машину, затем запустите живое резервное копирование KVM и перезапустите виртуальную машину (короткое время простоя).

Сжатие = доступно сжатие LZO и GZIP.

Нажмите \Резервное копирование\, чтобы начать резервное копирование ВМ.

Теперь вы можете видеть, что задача резервного копирования запущена:

Чтобы просмотреть файл резервной копии, нажмите на nfs-id \nfsproxmox\ и перейдите на вкладку Содержание.

Шаг 5. Восстановите виртуальную машину из хранилища NFS

Чтобы восстановить виртуальную машину, нажмите на виртуальную машину, которую вы хотите восстановить, а затем нажмите «Восстановить» в хранилище NFS.

Вы можете увидеть всплывающее окно:

Источник=файл резервной копии.
Хранилище=В каком хранилище будет храниться ВМ.
Идентификатор ВМ=Идентификатор восстановленной ВМ .

Нажмите \Восстановить\, чтобы начать восстановление ВМ.

Процесс восстановления ВМ:

Примечание:

Если вы хотите заменить ВМ, то вы можете выбрать ВМ, которую хотите заменить, и перейти на вкладку «Резервное копирование», там вы также увидите файл резервной копии, выберите его и нажмите «Восстановить».

Заключение

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