Перенести файловое хранилище в другой проект
Данные файлового хранилища можно перенести в другой проект. Для этого нужно создать файловое хранилище в целевом проекте и перенести данные с исходного хранилищам в целевое.
-
Добавьте порт для облачного сервера в подсеть целевого проекта.
-
Подключите к глобальному роутеру сеть и подсеть исходного и целевого проектов.
1. Создать файловое хранилище в целевом проекте
Панель уп равления
OpenStack CLI
Terraform
-
В панели управления в верхнем меню нажмите Продукты и выберите Файловое хранилище.
-
Нажмите Создать хранилище.
-
Введите имя хранилища или оставьте имя, которое создано автоматически.
-
Выберите регион и сегмент пула, в котором будет создано хранилище.
Если с помощью файлового хранилища нужно увеличить дисковое пространство, выберите сегмент пула из пула, в котором расположен облачный сервер или кластер Managed Kubernetes.
Если вы планируете использовать хранилище для хранения бэкапов, мы рекомендуем выбрать сегмент пула из другой зоны доступности или региона для повышения отказоустойчивости.
-
Заполните блоки:
-
Проверьте цену файлового хранилища.
-
Нажмите Создать.
Подсеть
-
Выберите приватную подсеть, в которой будет находиться хранилище. Тип подсети зависит от того, к чему нужно подключить хранилище:
- облачная приватная подсеть — хранилище будет доступно для облачных серверов и кластеров Managed Kubernetes только в том пуле, который вы выбрали при создании хранилища. Для подключения хранилища нужно будет только примонтировать его;
- подсеть глобальн ого роутера — хранилище будет доступно для выделенных серверов, а также облачных серверов и кластеров Managed Kubernetes, которые находятся в других пулах. Для подключения хранилища нужно настроить сетевую связность между сервером или кластером и хранилищем через глобальный роутер. Посмотрите примеры настройки сетевой связности в инструкциях раздела Подключить файловое хранилище.
После создания хранилища подсеть нельзя будет изменить.
-
Введите приватный IP-адрес хранилища или оставьте первый доступный адрес из подсети, который назначается по умолчанию. После создания хранилища IP-адрес нельзя будет изменить.
Настройки
-
Выберите тип файлового хранилища:
- HDD Базовое,
- SSD Универсальное,
- SSD Быстрое.
После создания тип хранилища нельзя изменить.
-
Укажите размер хранилища: от 50 ГБ до 50 ТБ. После создания можно увеличить файловое хранилище, но нельзя уменьшить.
-
Выберите протокол:
- NFSv4 — для подключения хранилища к серверам с ОС на базе Linux и другими Unix-системами;
- CIFS SMBv3 — для подключения хранилища к серверам с ОС Windows.
После создания хранилища протокол нельзя изменить.
Правила доступа
NFSv4
CIFS SMBv3
-
Настройте правила доступа к файловому хранилищу:
- доступно всем — хранилище будет доступно для любого IP-адреса приватной подсети, в которой оно создается;
- доступ ограничен — хранилище будет доступно только для определенных IP-адресов или приватных подсетей. Если создать файловое хранилище без правил, доступ будет ограничен для всех IP-адресов.
-
Если вы выбрали опцию Доступ ограничен, нажмите Добавить правило.
-
Введите IP-адрес или CIDR приватно й подсети, выберите уровень доступа.
После создания хранилища вы можете настроить новые правила доступа.
-
Настройте правила доступа к файловому хранилищу:
- доступно всем — хранилище будет доступно для любого IP-адреса приватной подсети, в которой оно создается;
- доступ ограничен — хранилище будет доступно только для определенных IP-адресов или приватных подсетей. Если создать файловое хранилище без правил, доступ будет ограничен для всех IP-адресов.
-
Если вы выбрали опцию Доступ ограничен, нажмите Добавить правило.
-
Введите IP-адрес или CIDR приватной подсети.
После создания хранилища вы можете настроить новые правила доступа.
-
Создайте сеть файлового хранилища:
openstack share network create \
--name <share_network> \
--neutron-net-id <net_uuid> \
--neutron-subnet-id <subnet_uuid>Укажите:
<share_network>
— имя сети файлового хранилища;<net_uuid>
— ID приватной или публичной сети, к которой будет подключено файловое хранилище. Список сетей можно посмотреть с помощью командыopenstack network list
;<subnet_uuid>
— ID подсети. Список подсетей можно посмотреть с помощью командыopenstack subnet list
.
-
Создайте файловое хранилище:
openstack share create <share_protocol> <share_size>\
--name <share_name> \
--share-network <share_network_id> \
--share-type <share_type_name>Укажите:
<share_protocol>
— протокол подключения файлового хранилища NFSv4 или CIFS SMBv3;<share_size>
— размер файлового хранилища в ГБ;<share_name>
— имя файлового хранилища;<share_network_id>
— ID сети файлового хранилища, которую вы создали на шаге 2. Список сетей файлового хранилища можно посмотреть с помощью командыopenstack share network list
;<share_type_name>
— тип файлового хранилища. Список типов можно посмотреть с помощью командыopenstack share type list
.
Используйте инструкцию Создать файловое хранилище в документации Terraform.
2. Создать облачный сервер в целевом проекте
Используйте инструкцию Создать облачный сервер.
Выберите приватную подсеть файлового хранилища, которое вы создали на этапе 1.
3. Создать глобальный роутер
- В панели управления в верхнем меню нажмите Продукты и выберите Глобальный роутер.
- Нажмите Создать роутер. Для каждого аккаунта установлен лимит в пять глобальных роутеров.
- Введите имя роутера.
- Нажмите Создать.
- Если роутер создался со статусом
ERROR
или завис в одном из статусов, создайте тикет.
4. Добавить порт для облачного сервера в подсеть целевого проекта
Используйте инструкцию Добавить порт в подсеть.
Укажите:
- подсеть файлового хранилища исходного проекта;
- IP-адрес облачного сервера, который вы создали на этапе 2.
5. Подключить к роутеру сети и подсети исходного и целевого проектов
Нужно подключить к глобальному роутеру сети и подсети до тех проектов и пулов облачной платформы, в которых находится исходное файловое хранилище и целевое файловое хранилище с облачным сервером.
-
Убедитесь, что сеть еще не добавлена на любой из глобальных роутеров аккаунта. В панели управления в верхнем меню нажмите Продукты → Облачные серверы → Сеть → вкладка Приватные сети → проверьте, что в карточке сети нет тега Глобальный роутер.
-
Убедитесь, что подсеть соответствует условиям:
- принадлежит диапазону приватных адресов по RFC 1918:
10.0.0.0/8
,172.16.0.0/12
или192.168.0.0/16
; - имеет размер не меньше
/29
, так как три адреса будут заняты сетевым оборудованием Selectel; - не пересекается с другими подсетями, добавленными на этот роутер: IP-адреса каждой подсети на роутере не должны совпадать с IP-адресами других подсетей на нем.
- принадлежит диапазону приватных адресов по RFC 1918:
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные серверы.
-
Перейдите в раздел Сеть → вкладка Приватные сети.
-
В меню сети выберите Подключить к глобальному роутеру.
-
Выберите глобальный роутер.
-
Для подсети исходного проекта введите IP-адрес, который будет назначен на роутер, или оставьте первый свободный адрес из подсети, который назначается по умолчанию. Не назначайте этот адрес на свои устройства, чтобы не нарушить работу сети. Два последних свободных адреса подсети будут зарезервированы в качестве служебных.
-
Нажмите Подключить. Не закрывайте окно, пока не появится сообщение о том, что сеть подключена. После этого в панели управления:
-
Повторите шаги 5-8 для подсети целевого проекта.
6. Добавить статический маршрут до подсети исходного проекта
Добавьте статический маршрут из подсети целевого проекта до подсети исходного проекта. Используйте инструкцию Настроить статические маршруты в подсети.
Укажите:
- подсеть назначения — подсеть целевого проекта, в которой вы создали файловое хранилище на этапе 1;
- шлюз (next-hop) — порт глобального роутера, который вы создали на этапе 3.
7. Добавить статический маршрут до подсети целевого проекта
Добавьте статический маршрут из подсети исходного проекта до подсети целевого проекта. Используйте инструкцию Настроить статические маршруты в подсети.
Укажите:
- подсеть назначения — подсеть исходного проекта, в которой находится исходное хранилище. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → в строке файлового хранилища нажмите на название подсети → вкладка Подсети → карточка подсети;
- шлюз (next-hop) — порт глобального роутера, который вы создали на этапе 3.
8. Примонтировать файловые хранилища к облачному серверу и п еренести данные
Во время переноса данных будут полностью утилизированы ресурсы файловых хранилищ. Мы рекомендуем на время переноса приостановить работу с хранилищами.
NFSv4
CIFS SMBv3
Linux
Windows
-
Откройте CLI.
-
Установите пакет для работы с протоколом NFS:
sudo apt install nfs-common
-
Создайте папки для монтирования хранилищ:
sudo mkdir -p /mnt/nfs_source
sudo mkdir -p /mnt/nfs_target -
Примонтируйте файловые хранилища:
sudo mount -vt nfs "<filestorage_source_ip_address>:/shares/share-<mountpoint_uuid>" /mnt/nfs_source
sudo mount -vt nfs "<filestorage_target_ip_address>:/shares/share-<mountpoint_uuid>" /mnt/nfs_targetУкажите:
<filestorage_source_ip_address>
— IP-адрес исходного файлового хранилища. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → вкладка Настройки → поле IP;<filestorage_target_ip_address>
— IP-адрес целевого файлового хранилища. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → вкладка Настройки → поле IP;<mountpoint_uuid>
— ID точки монтирования. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → блок Подключение → вкладка GNU/Linux.
-
Перенесите данные между хранилищами:
rsync -avzhHl --progress /mnt/nfs_source/ /mnt/nfs_target/
Для работы с файловым хранилищем из Windows мы рекомендуем использовать файловое хранилище с протоколом CIFS. Если необходимо подключить хранилище с протоколом NFSv4, установите и используйте клиент, поддерживающий такой протокол, а затем примонтируйте файловое хранилище. Чтобы примонтировать файловое хранилище, обратитесь к документации выбранного клиента.
Файловое хранилище работает только с NFS-клиентом версии NFSv4. По умолчанию в ОС Windows поддерживаются NFS-клиенты версий NFSv2 и NFSv3. Подробнее о версиях NFS в статье Обзор NFS документации Microsoft.
Linux
Windows
-
Установите пакет для работы с протоколом CIFS:
sudo apt install cifs-utils
-
Создайте папки для монтирования хранилищ:
sudo mkdir -p /mnt/cifs_source
sudo mkdir -p /mnt/cifs_target -
Примонтируйте файловые хранилища:
sudo mount.cifs -o guest "<filestorage_source_ip_address>:/shares/share-<mountpoint_uuid>" /mnt/cifs_source
sudo mount.cifs -o guest "<filestorage_target_ip_address>:/shares/share-<mountpoint_uuid>" /mnt/cifs_targetУкажите:
<filestorage_source_ip_address>
— IP-адрес исходного файлового хранилища. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → вкладка Настройки → поле IP;<filestorage_target_ip_address>
— IP-адрес целевого файлового хранилища. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → вкладка Настройки → поле IP;<mountpoint_uuid>
— ID точки монтирования. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → блок Подключение → вкладка GNU/Linux.
-
Перенесите данные между хранилищами:
rsync -avzhHl --progress /mnt/cifs_source/ /mnt/cifs_target/
-
Откройте CLI.
-
Примонтируйте файловое хранилище:
net use X: \\<filestorage_source_ip_address>\share-<mountpoint_uuid>
net use Y: \\<filestorage_target_ip_address>\share-<mountpoint_uuid>Укажите:
<filestorage_source_ip_address>
— IP-адрес исходного файлового хранилища. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → вкладка Настройки → поле IP;<filestorage_target_ip_address>
— IP-адрес целевого файлового хранилища. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → вкладка Настройки → поле IP;<mountpoint_uuid>
— ID точки монтирования. Можно посмотреть в панели управления: в верхнем меню нажмите Продукты → Файловое хранилище → страница хранилища → блок Подключение → вкладка Windows.
-
Перенесите данные между хранилищами:
robocopy "X:\" "Y:\" /MIR /Z /FFT /R:3 /W:10 /COPY:DAT /MT:8 /V /NP /LOG:robocopy.log