---
title: 'Перенести файловое хранилище в другой проект'
sidebar_label: 'Перенести файловое хранилище в другой проект'
sidebar_position: 5
toc_max_heading_level: 2
description: 'Как перенести файловое хранилище в другой проект'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from 'docs-kit/components'
import CreateFileStorage from '@site/docs/_partials/file-storage/create-file-storage.mdx'
import CreateGlobalRouter from '@site/docs/_partials/global-router/create-global-router.mdx'
import MoreVerticalIcon from 'docs-kit/icons/more-vertical'

# Перенести файловое хранилище в другой проект

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

1. [Создайте файловое хранилище в целевом проекте](#create-file-storage-in-target-project).

2. [Создайте облачный сервер в целевом проекте](#create-cloud-server-in-target-project).

3. [Создайте глобальный роутер](#create-global-router).

4. [Добавьте порт для облачного сервера в подсеть целевого проекта](#add-server-port-to-target-private-network).

5. [Подключите к глобальному роутеру сеть и подсеть исходного и целевого проектов](#connect-network-and-subnet-of-projects-to-router).

6. [Добавьте статический маршрут в подсети исходного проекта](#add-static-route-to-source-project-subnet).

7. [Добавьте статический маршрут в подсети целевого проекта](#add-static-route-to-target-project-subnet).

8. [Примонтируйте файловые хранилища и перенесите данные](#mount-file-storages-to-cloud-server-and-transfer-data).

## 1. Создать файловое хранилище в целевом проекте \{#create-file-storage-in-target-project}

<CreateFileStorage />

## 2. Создать облачный сервер в целевом проекте \{#create-cloud-server-in-target-project}

Используйте инструкцию [Создать облачный сервер](/cloud-servers/create/create-server.mdx).

Выберите приватную подсеть файлового хранилища, которую вы [создали на этапе 1](#create-file-storage-in-target-project).

## 3. Создать глобальный роутер \{#create-global-router}

<CreateGlobalRouter />

## 4. Добавить порт для облачного сервера в подсеть целевого проекта \{#add-server-port-to-target-private-network}

Используйте инструкцию [Добавить порт в подсеть](/cloud-servers/cloud-networks/ports.mdx#add-port-to-subnet).

Укажите:

* подсеть файлового хранилища исходного проекта;
* IP-адрес облачного сервера, который вы [создали на этапе 2](#create-cloud-server-in-target-project).

## 5. Подключить к роутеру сети и подсети исходного и целевого проектов \{#connect-network-and-subnet-of-projects-to-router}

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

1. Убедитесь, что сеть еще не добавлена на любой из глобальных роутеров аккаунта.
   В [панели управления](https://my.selectel.ru/vpc/default/networks/) в верхнем меню нажмите **Продукты** → **Облачные серверы** → **Сеть** → вкладка **Приватные сети** → проверьте, что в карточке сети нет тега **Глобальный роутер**.

2. Убедитесь, что подсеть соответствует условиям:

   * принадлежит диапазону приватных адресов по RFC 1918: `10.0.0.0/8`, `172.16.0.0/12` или `192.168.0.0/16`;
   * имеет размер не меньше `/29`, так как три адреса будут заняты сетевым оборудованием Selectel;
   * не пересекается с другими подсетями, добавленными на этот роутер: IP-адреса каждой подсети на роутере не должны совпадать с IP-адресами других подсетей на нем.

3. В [панели управления](https://my.selectel.ru/vpc/default/networks/) в верхнем меню нажмите **Продукты** и выберите **Облачные серверы**.

4. Перейдите в раздел **Сеть** → вкладка **Приватные сети**.

5. В меню <MoreVerticalIcon /> сети выберите **Подключить к глобальному роутеру**.

6. Выберите глобальный роутер.

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

8. Нажмите **Подключить**. Не закрывайте окно, пока не появится сообщение о том, что сеть подключена.
   После этого в панели управления:

   * сеть появится в [разделе](https://my.selectel.ru/network/localnetwork/l3_list) **Глобальный роутер Selectel** на странице роутера, к которому вы ее подключили;
   * у сети появится тег **Глобальный роутер**. Можно посмотреть в [разделе](https://my.selectel.ru/vpc/default/networks/) **Облачные серверы** → **Сеть** → на вкладке **Приватные сети**.

9. Повторите шаги 5-8 для подсети целевого проекта.

## 6. Добавить статический маршрут до подсети исходного проекта \{#add-static-route-to-source-project-subnet}

Добавьте статический маршрут из подсети целевого проекта до подсети исходного проекта.
Используйте инструкцию [Настроить статические маршруты в подсети⁠](/cloud-servers/cloud-networks/static-routes.mdx#configure-static-routing-on-subnet).

Укажите:

* подсеть назначения — подсеть целевого проекта, в которой вы [создали файловое хранилище на этапе 1](#create-file-storage-in-target-project);
* шлюз (next-hop) — порт глобального роутера, который вы [создали на этапе 3](#create-global-router).

## 7. Добавить статический маршрут до подсети целевого проекта \{#add-static-route-to-target-project-subnet}

Добавьте статический маршрут из подсети исходного проекта до подсети целевого проекта.
Используйте инструкцию [Настроить статические маршруты в подсети⁠](/cloud-servers/cloud-networks/static-routes.mdx#configure-static-routing-on-subnet).

Укажите:

* подсеть назначения — подсеть исходного проекта, в которой находится исходное хранилище. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → в строке файлового хранилища нажмите на название подсети → вкладка **Подсети** → карточка подсети;
* шлюз (next-hop) — порт глобального роутера, который вы [создали на этапе 3](#create-global-router).

## 8. Примонтировать файловые хранилища к облачному серверу и перенести данные \{#mount-file-storages-to-cloud-server-and-transfer-data}

:::warning

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

:::

<Tabs queryString="mount-storage-to-cloud-server">
  <TabItem value="server-nfsv4" default>
    <TabItemLabel>
      NFSv4
    </TabItemLabel>

    <Tabs queryString="mount-storage-via-nfsv4">
      <TabItem value="nfsv4-linux" default>
        <TabItemLabel>
          Linux
        </TabItemLabel>

        1. [Подключитесь к облачному серверу](/cloud-servers/manage/connect-to-server.mdx).

        2. Откройте CLI.

        3. Установите пакет для работы с протоколом NFS:

           ```bash
           sudo apt install nfs-common
           ```

        4. Создайте папки для монтирования хранилищ:

           ```bash
           sudo mkdir -p /mnt/nfs_source
           sudo mkdir -p /mnt/nfs_target
           ```

        5. Примонтируйте файловые хранилища:

           ```bash
           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-адрес исходного файлового хранилища. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → вкладка **Настройки** → поле **IP**;
           * `<filestorage_target_ip_address>` — IP-адрес целевого файлового хранилища. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → вкладка **Настройки** → поле **IP**;
           * `<mountpoint_uuid>` — ID точки монтирования. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → блок **Подключение** → вкладка **GNU/Linux**.

        6. Перенесите данные между хранилищами:

           ```bash
           rsync -avzhHl --progress /mnt/nfs_source/ /mnt/nfs_target/
           ```
      </TabItem>

      <TabItem value="nfsv4-windows">
        <TabItemLabel>
          Windows
        </TabItemLabel>

        Для работы с файловым хранилищем из Windows мы рекомендуем использовать файловое хранилище с протоколом CIFS. Если необходимо подключить хранилище с протоколом NFSv4, установите и используйте клиент, поддерживающий такой протокол, а затем примонтируйте файловое хранилище. Чтобы примонтировать файловое хранилище, обратитесь к документации выбранного клиента.

        Файловое хранилище работает только с NFS-клиентом версии NFSv4. По умолчанию в ОС Windows поддерживаются NFS-клиенты версий NFSv2 и NFSv3. Подробнее о версиях NFS в статье [Обзор NFS](https://learn.microsoft.com/ru-ru/windows-server/storage/nfs/nfs-overview) документации Microsoft.
      </TabItem>
    </Tabs>
  </TabItem>

  <TabItem value="server-cifssmbv3">
    <TabItemLabel>
      CIFS SMBv3
    </TabItemLabel>

    <Tabs queryString="mount-storage-via-cifssmbv3">
      <TabItem value="cifssmbv3-linux" default>
        <TabItemLabel>
          Linux
        </TabItemLabel>

        1. [Подключитесь к облачному серверу](/cloud-servers/manage/connect-to-server.mdx).

        2. Установите пакет для работы с протоколом CIFS:

           ```bash
           sudo apt install cifs-utils
           ```

        3. Создайте папки для монтирования хранилищ:

           ```bash
           sudo mkdir -p /mnt/cifs_source
           sudo mkdir -p /mnt/cifs_target
           ```

        4. Примонтируйте файловые хранилища:

           ```bash
           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-адрес исходного файлового хранилища. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → вкладка **Настройки** → поле **IP**;
           * `<filestorage_target_ip_address>` — IP-адрес целевого файлового хранилища. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → вкладка **Настройки** → поле **IP**;
           * `<mountpoint_uuid>` — ID точки монтирования. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → блок **Подключение** → вкладка **GNU/Linux**.

        5. Перенесите данные между хранилищами:

           ```bash
           rsync -avzhHl --progress /mnt/cifs_source/ /mnt/cifs_target/
           ```
      </TabItem>

      <TabItem value="cifssmbv3-windows">
        <TabItemLabel>
          Windows
        </TabItemLabel>

        1. [Подключитесь к облачному серверу](/cloud-servers/manage/connect-to-server.mdx).

        2. Откройте CLI.

        3. Примонтируйте файловое хранилище:

           ```bash
           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-адрес исходного файлового хранилища. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → вкладка **Настройки** → поле **IP**;
           * `<filestorage_target_ip_address>` — IP-адрес целевого файлового хранилища. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → вкладка **Настройки** → поле **IP**;
           * `<mountpoint_uuid>` — ID точки монтирования. Можно посмотреть в [панели управления](https://my.selectel.ru/vpc/default/file-storage/): в верхнем меню нажмите **Продукты** → **Файловое хранилище** → страница хранилища → блок **Подключение** → вкладка **Windows**.

        4. Перенесите данные между хранилищами:

           ```bash
           robocopy "X:\" "Y:\" /MIR /Z /FFT /R:3 /W:10 /COPY:DAT /MT:8 /V /NP /LOG:robocopy.log
           ```
      </TabItem>
    </Tabs>
  </TabItem>
</Tabs>

<Formbricks />
