Как установить сервер NFS и настроить хранилище NFS в Proxmox VE
На этой странице
- Предпосылки
- Шаг 1. Установите NFS на CentOS 7
- Шаг 2. Создайте общий каталог
- Шаг 3. Настройте Proxmox для использования хранилища NFS
- Шаг 4. Резервное копирование ВМ на Proxmox в хранилище NFS
- Шаг 5. Восстановление ВМ из хранилища NFS
- Заключение
NFS (Network File System) — это протокол распределенной файловой системы, разработанный Sun Microsystem. NFS позволяет серверу совместно использовать файлы и каталоги папки на сервере по сети. Когда общий ресурс NFS монтируется в клиентской системе, NFS позволяет пользователю получать доступ к файлам и каталогам в удаленной системе, как если бы они хранились локально.
В этом руководстве я проведу вас через установку сервера NFS в CentOS 7, покажу вам, как создать новый каталог в CentOS 7, а затем поделиться им через протокол NFS. Затем мы добавим общий ресурс NFS, который мы создали на сервере Proxmox, в качестве резервного пространства для виртуальных машин.
Предпосылки
Нам нужны два сервера.
- Сервер Proxmox с IP-адресом: 192.168.1.111
- 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 режима резервного копирования:
- Снимок (без простоя, онлайн).
- Приостановить (то же, что моментальный снимок для KVM), использовать приостановку/возобновление и несколько проходов rsync (OpenVZ и LXC).
- Стоп=остановите виртуальную машину, затем запустите живое резервное копирование KVM и перезапустите виртуальную машину (короткое время простоя).
Сжатие = доступно сжатие LZO и GZIP.
Нажмите \Резервное копирование\, чтобы начать резервное копирование ВМ.
Теперь вы можете видеть, что задача резервного копирования запущена:
Чтобы просмотреть файл резервной копии, нажмите на nfs-id \nfsproxmox\ и перейдите на вкладку Содержание.
Шаг 5. Восстановите виртуальную машину из хранилища NFS
Чтобы восстановить виртуальную машину, нажмите на виртуальную машину, которую вы хотите восстановить, а затем нажмите «Восстановить» в хранилище NFS.
Вы можете увидеть всплывающее окно:
Источник=файл резервной копии.
Хранилище=В каком хранилище будет храниться ВМ.
Идентификатор ВМ=Идентификатор восстановленной ВМ .
Нажмите \Восстановить\, чтобы начать восстановление ВМ.
Процесс восстановления ВМ:
Примечание:
Если вы хотите заменить ВМ, то вы можете выбрать ВМ, которую хотите заменить, и перейти на вкладку «Резервное копирование», там вы также увидите файл резервной копии, выберите его и нажмите «Восстановить».
Заключение
NFS (сетевая файловая система) — это протокол распределенной файловой системы, позволяющий клиентам получать доступ к файлам и каталогам на сервере NFS, как если бы они хранились локально. Мы можем хранить наши файлы данных и каталоги на сервере NFS, а затем делиться ими со всеми клиентами, которые мы разрешили в файле экспорта. NFS очень удобна для резервного копирования виртуальных серверов. Мы можем использовать NFS в качестве хранилища Proxmox, мы можем поместить в это хранилище файлы ISO, файлы образов виртуальных машин и файлы резервных копий виртуальных машин. NFS легко установить и интегрировать с Proxmox из веб-администратора Proxmox.