---
title: "Transfer a cloud server or cloud infrastructure"
sidebar_label: "Transfer a server"
sidebar_position: 7
toc_max_heading_level: 2
description: "How to transfer a cloud server to another pool segment, project, or account"
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import MoreVerticalIcon from 'docs-kit/icons/more-vertical'
import {TabItemLabel} from 'docs-kit/components'
import Formbricks from '@theme/MDXComponents/Formbricks'

# Transfer a cloud server or cloud infrastructure

If you need to transfer a configured infrastructure (servers, networks, volumes, backups, and other resources) or if it is important to keep the public IP address when transferring a server, we recommend you [transfer the infrastructure project to another account](#transfer-infrastructure-project). You cannot select a different pool segment during such a transfer.

A cloud server can be [transferred to another pool segment, project, or account](#transfer-server). To do this, you need to create and transfer a boot volume image of the server or transfer the server disk directly. When transferring an image to another project or account, you can also change the pool segment. It is impossible to transfer a server directly.

## Transfer a cloud infrastructure project to another account \{#transfer-infrastructure-project}

To transfer cloud infrastructure to another account, move the [project](/access-control/projects/about-projects.mdx).

You can only transfer a project within a single [pool segment](/infrastructure/locations.mdx#pool). All project objects will be preserved: servers, networks, public IP addresses, disks, and other resources.

To move a project to another account, use the instructions [Moving services to another account](/account/transfer-services.mdx).

## Transfer a cloud server to another pool segment, project, or account \{#transfer-server}

:::warning

When transferring a cloud server, its public IP address and other project resources will not be transferred. After the transfer, you can connect a new public IP address:

* [public floating IP address](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx#connect-public-floating-ip-to-cloud-server);
* [direct public IP address](/cloud-servers/cloud-networks/direct-public-ip-addresses.mdx#connect-direct-ip-to-cloud-server);
* [create a public subnet](/cloud-servers/cloud-networks/public-subnets.mdx#create-public-subnet).

If you want to keep the public IP address, [transfer the entire project to another account](/access-control/projects/manage/transfer-project.mdx).

:::

A cloud server can be transferred to another [pool segment](/infrastructure/locations.mdx#pool), [project](/access-control/projects/about-projects.mdx), and [account](/account/). When transferring an image to another project or account, you can also change the pool segment, including choosing a different pool and region.

You can transfer a server in two ways:

* transfer the boot volume image to use it to create a new server in another pool segment, project, or account. We recommend using this method for transferring a server with a small amount of data;
* transfer the server disk directly to a server in another pool segment, project, or account. We recommend using this method for transferring a server with a large amount of data.

<Tabs queryString="transfer-server">
  <TabItem value="via-image" default>
    <TabItemLabel>
      Transfer a volume image
    </TabItemLabel>

    1. [View the name and type of the source cloud server's boot volume](#view-boot-volume-via-image).

    2. [Create an image of the source cloud server's boot volume](#create-boot-volume-image).

    3. [Transfer the image to the account, project, or pool segment to which you need to transfer the cloud server](#transfer-image).

    4. [Create the target cloud server from the boot volume image](#create-server-from-image).

    5. If the source server uses additional disks, [transfer them and connect them to the target server](#transfer-additional-volumes).

    6. If the source and target servers are in different pools, [create a new public floating IP address for the server](#create-public-floating-ip).

    ### 1. View the name and type of the source server's boot volume \{#view-boot-volume-via-image}

    1. In the [Control panel](https://my.selectel.ru/vpc/default/servers/), on the top menu, click **Products** and select **Cloud Servers**.

    2. Open the **Servers** tab → server page.

    3. Open the **Configuration** tab. If the tab has a **Local disk** field, the server has a bootable local disk.

    4. Open the **Network volumes** tab. If the disk line has a **Bootable** tag, the server has a bootable network volume.

    ### 2. Create a boot volume image of the source server \{#create-boot-volume-image}

    <Tabs queryString="create-boot-volume-image">
      <TabItem value="panel" default>
        <TabItemLabel>
          Control panel
        </TabItemLabel>

        1. In the [Control panel](https://my.selectel.ru/vpc/default/servers/) on the top menu, click **Products** and select **Cloud Servers**.

        2. In the server menu, select **Shut off**. The server status will change to `SHUTOFF`.

        3. Go to the **Images** section.

        4. Click **Create image**.

        5. Enter the image name.

        6. Select a [location](/infrastructure/locations.mdx) where the image will be uploaded. Images smaller than 16 GB are automatically replicated to neighboring pool segments in the location.

        7. Select a disk as the image source.

        8. Select a disk — an image can only be created in the pool where the disk is located.

        9. Optional: check the **Specify minimum disk and memory requirements** checkbox. Specify the minimum amount of RAM in MB and the disk size in GB. When creating a cloud server from this image, the Control panel or API will automatically check these restrictions.

        10. Click **Create**.
      </TabItem>

      <TabItem value="openstack">
        <TabItemLabel>
          OpenStack CLI
        </TabItemLabel>

        The image will be available only for the one project and pool for which you [configured authorization in the OpenStack API](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#configure-openstack-in-os).

        The image creation process depends on the disk type you [viewed earlier](#view-boot-volume-via-image).

        <Tabs queryString="boot-volume-type">
          <TabItem value="local-disk" default>
            <TabItemLabel>
              Local disk
            </TabItemLabel>

            1. [Open the OpenStack CLI](/cloud-servers/tools/openstack-cli/).

            2. Shut off the server — an inconsistent image may be created from a running disk:

               ```bash
               openstack server stop <server>
               ```

               Specify `<server>` — the server ID or name. You can view the list using the `openstack server list`.

               The server status will change to `SHUTOFF`.

            3. Create a local disk image:

               ```bash
               openstack server image create --name <image_name> <server>
               ```

               Specify:

               * `<image_name>` — image name;
               * `<server>` — the server ID or name. You can view the list using the `openstack server list`.
          </TabItem>

          <TabItem value="network-volume">
            <TabItemLabel>
              Network volume
            </TabItemLabel>

            1. [Open the OpenStack CLI](/cloud-servers/tools/openstack-cli/).

            2. Shut off the server — an inconsistent image may be created from a running disk:

               ```bash
               openstack server stop <server>
               ```

               Specify `<server>` — the server ID or name. You can view the list using the `openstack server list`

               The server status will change to `SHUTOFF`.

            3. Disconnect the network volume from the server:

               ```bash
               openstack server remove volume <server> <volume>
               ```

               Specify:

               * `<server>` — the server ID or name. You can view the list using the `openstack server list`;
               * `<volume>` — the network volume ID or name. You can view the list of disks using the command `openstack volume list`.

            4. Check that the network volume has transitioned to the `AVAILABLE:` status:

               ```bash
               openstack volume list
               ```

            5. Create a network volume image:

               ```bash
               openstack image create --volume <volume> <image_name>
               ```

               Specify `<image_name>` — image name.
          </TabItem>
        </Tabs>
      </TabItem>
    </Tabs>

    ### 3. Transfer the image \{#transfer-image}

    The image can be transferred to another account, [project](/access-control/projects/about-projects.mdx), or [pool segment](/infrastructure/locations.mdx#pool).

    When transferring an image to another account or project, you can also change the pool segment.

    <Tabs queryString="transfer-image">
      <TabItem value="panel" default>
        <TabItemLabel>
          Control panel
        </TabItemLabel>

        1. In the [Control panel](https://my.selectel.ru/vpc/default/images/) on the top menu, click **Products** and select **Cloud Servers**.

        2. Go to the **Images** section.

        3. In the <MoreVerticalIcon /> menu of the boot volume image, select **Copy link**.

        4. Go to the account to which you need to transfer the server.

        5. Open the projects menu (name of the current project) and select the required project.

        6. Click **Create image**.

        7. Enter the image name.

        8. Select a [location](/infrastructure/locations.mdx) to which you want to transfer the image. The cloud server will be transferred to this same location.

        9. As the image source, select URL.

        10. Paste the image URL that you copied in step 3.

        11. Select the image format and container format.

            If you do not know which formats to specify, specify the image format `raw` and the container format as `bare`.

        12. Select an operating system.

        13. Optional: check the **Specify minimum disk and memory requirements** checkbox. Specify the minimum amount of RAM in MB and the disk size in GB. When creating a cloud server from this image, the Control panel or API will automatically check these restrictions.

        14. Click **Create**.
      </TabItem>

      <TabItem value="openstack">
        <TabItemLabel>
          OpenStack CLI
        </TabItemLabel>

        1. In the [Control panel](https://my.selectel.ru/vpc/default/images/) on the top menu, click **Products** and select **Cloud Servers**.

        2. Go to the **Images** section.

        3. In the <MoreVerticalIcon /> menu of the boot volume image, select **Copy link**.

        4. [Open the OpenStack CLI](/cloud-servers/tools/openstack-cli/).

        5. [Configure authorization in the OpenStack API](/cloud-servers/tools/openstack-cli/configure-openstack-cli.mdx#configure-openstack-in-os) for the account, project, and pool to which you need to transfer the cloud server.

        6. Create an empty image:

           ```bash
           openstack image create <image_name>
           ```

           Specify `<image_name>` — image name.

        7. Import the image:

           ```bash
           openstack image import \
             --method web-download \
             --uri <image_url> \
             <image_name>
           ```

           Specify:

           * `<image_url>` — URL of the image you copied in step 3;
           * `<image_name>` — image name.
      </TabItem>
    </Tabs>

    ### 4. Create the target server from the image \{#create-server-from-image}

    <Tabs queryString="create-server-from-image">
      <TabItem value="panel" default>
        <TabItemLabel>
          Control panel
        </TabItemLabel>

        1. In the [Control panel](https://my.selectel.ru/vpc/default/images/) on the top menu, click **Products** and select **Cloud Servers**.

        2. Click **Create server**.

        3. Enter the name of the cloud server. It will be set as the hostname in the operating system on the server.

        4. Select a [location](/infrastructure/locations.mdx) to which you [transferred the boot volume image](#transfer-image).

        5. In the **Source** block, open the **Images** tab.

        6. Select the boot volume image that you [created earlier](#create-boot-volume-image).

        7. Click **Select**.

        8. Select a cloud server [configuration range](/cloud-servers/create/configurations.mdx#lines):

           * fixed — ranges of configurations with different technical specifications, in which the resource ratio is fixed;
           * custom — configurations in which any resource ratio can be specified.

           Different [processors](/cloud-servers/create/configurations.mdx#available-processors) are used in different ranges and server configurations depending on the pool segment. You can add GPUs to configurations — read more in the [Create a cloud server with GPU](/cloud-servers/create/gpus.mdx#create-server-with-gpu) instruction.

           After creating the server, you can [change the configuration](/cloud-servers/manage/change-server-configuration.mdx).

           The amount of RAM allocated to the server may be less than the specified amount — the operating system kernel reserves part of the RAM depending on the kernel version and distribution. You can check the allocated volume on an existing server using the command `sudo dmesg | grep Memory`.

        9. Select a boot (system) disk for the server:

           * [local disk](/cloud-servers/volumes/about-local-disks.mdx) without network latency — mark the **Local SSD NVMe disk** checkbox. If you selected a custom configuration, specify the local disk size. If you selected a fixed one, the disk size will depend on the configuration;
           * or [network volume](/cloud-servers/volumes/about-network-volumes.mdx) — in the **Disk type** field, select a [disk type](/cloud-servers/volumes/about-network-volumes.mdx#network-volume-types) and specify its size.

           After creating the server, you will be able to [replace only the network boot volume](/cloud-servers/volumes/attach-detach-volume.mdx#replace-boot-volume).

        10. Click **Add**.

        11. Optional: to add an additional disk to the server, click **Add**. You can add multiple disks.

            After creating the server, you can [disconnect additional disks from it and connect new ones](/cloud-servers/volumes/attach-detach-volume.mdx).

            You can [transfer additional disks](#transfer-additional-volumes) that were connected to the source server.

        12. In the **Internet** block, configure public access to the server:

            12.1. In the **Internet access** field, select the access type:

            * public floating IP address — static public IP address with a private subnet. The server will be accessible from the internet, to which the public IP address would be connected at that time;
            * no internet access — the server will only be accessible from a private subnet or via console.

            12.2. If you selected **Public floating IP address**, select a public IP address or create a new one.

        13. In the **Private network** block, connect an existing private subnet with a cloud router or create a new one:

            <Tabs queryString="add-network">
              <TabItem value="existing-network" default>
                <TabItemLabel>
                  Existing private subnet
                </TabItemLabel>

                13.1. In the **Subnet** field, select a subnet.

                13.2. Optional: in the **IP address** field, change the default IP address.
              </TabItem>

              <TabItem value="new-private-network" default>
                <TabItemLabel>
                  New private subnet
                </TabItemLabel>

                13.1. In the **Subnet** field, select **New private subnet**.

                13.2. In the **Network** field, select an existing network or create a new one.

                13.3. Optional: change the subnet CIDR.

                13.4. Optional: in the **IP address** field, change the default IP address.

                13.5. Optional: in the **Router** field, select a cloud router or create a new one.
              </TabItem>
            </Tabs>

        14. Select [security groups](/cloud-servers/security-groups/) to filter traffic on server ports. Without security groups, traffic will be denied. If the block is missing, [traffic filtering (port security](/cloud-servers/cloud-networks/about-networks.mdx#traffic-filtering-port-security)) is disabled on the server network. With filtering disabled, all traffic will be allowed.

        15. To connect to the server securely, place an SSH key on it. You can add multiple keys. The supported key types are ed25519, rsa, ecdsa, and dsa.

            Select an existing key or click **Add SSH key**. Enter the key name and paste the public SSH key in OpenSSH format. Click **Add**.

            If no SSH keys are created, [generate them](/cloud-servers/manage/create-and-place-ssh-key.mdx#create-ssh-keys).

        16. Optional: copy and save the `root` user password (the user with unlimited system privileges). Store the password in a safe place and do not share it in plain text.

        17. Optional: to create a [preemptible server](/cloud-servers/about/preemptible-servers.mdx), check the **Preemptible server** checkbox.

        18. Optional: if you plan to create several servers and want to increase infrastructure fault tolerance, we recommend using [placement groups](/cloud-servers/placement-groups/about-placement-groups.mdx) or placing cloud servers in different pool segments — otherwise, we do not guarantee placement on different hosts.

            Select an existing placement group or click **Create group** and enter the group name. Select the placement policy:

            * preferably on different hosts — soft-anti-affinity, the system will try to place the servers on different hosts. If there is no suitable host when creating the server, it will be created on the same host;
            * must be on different hosts — anti-affinity, the servers in the group are guaranteed to be located on different hosts. If we do not find a suitable host, the server will not be created.

            After a server is created, it cannot be added to a group directly — only by [creating a copy](/cloud-servers/placement-groups/add-server.mdx#add-existing-server-to-group).

        19. Optional: to add extra information to the server or filter servers in the list, add a [tag](/cloud-servers/manage/tags.mdx). You can add multiple tags. OS and configuration tags are added automatically.

            In the **Tags** field, check the existing tags or enter a new one. The maximum tag length is 60 characters. You can use Latin and Cyrillic letters, numbers, and the hyphen sign.

        20. Optional: in the **User data** field, paste or upload a script that will execute upon system boot. The maximum size of the script with data that is not Base64 encoded is 16 KB. Examples of scripts and supported formats can be viewed in the [User data](/cloud-servers/manage/user-data.mdx) instruction.

        21. Click **Create server**.
      </TabItem>

      <TabItem value="openstack">
        <TabItemLabel>
          OpenStack CLI
        </TabItemLabel>

        1. [Open the OpenStack CLI](/cloud-servers/tools/openstack-cli/).

        2. Create a cloud server:

        ```bash
        openstack server create \
            [--image <image> | --volume <volume> | --snapshot <snapshot>] \
            --flavor <flavor> \
            --availability-zone <pool_segment> \
            --nic net-id=<net_uuid> \
            --security-group <security_group> \
            --key-name <key_name> \
            <server_name>
        ```

        Specify:

        * source type:
          * `--image <image>` — to create a server from a [pre-built](/cloud-servers/images/about-images.mdx#default-images) or [custom image](/cloud-servers/images/about-images.mdx#own-images). The `<image>` parameter — image ID or name. You can view the list of images using the `openstack image list`;
          * `--volume <volume>` — to create a server from a [network volume](/cloud-servers/volumes/about-network-volumes.mdx). The `<volume>` parameter — disk ID or name. You can view the list of network volumes using the command `openstack volume list`;
          * `--snapshot <snapshot>` — to create a server from a [snapshot](/cloud-servers/volumes/snapshots.mdx). The `<snapshot>` parameter — snapshot ID or name. You can view the list of snapshots using the command `openstack snapshot list`;
        * `<flavor>` — flavor ID or name. Flavors correspond to [cloud server configurations](/cloud-servers/create/configurations.mdx) and define the server's vCPU count, RAM, and (optionally) local disk size. You can use fixed configuration flavors or [create a flavor](/cloud-servers/create/create-flavor.mdx). For example, `1015` — ID to create a server with a fixed Standard range configuration with 4 vCPUs, 16 GB RAM in the ru-9 pool. You can view the list of flavors using the `openstack flavor list` command or in the [List of fixed configuration flavors in all pools](/cloud-servers/create/configurations.mdx#server-flavors-full-list) table;
        * `<pool_segment>` — [pool segment](/infrastructure/locations.mdx#pool) in which the cloud server will be created, e.g., `ru-9a`. The list of available pool segments can be viewed in the [Availability matrix](/infrastructure/availability-matrix.mdx) instruction;
        * `<net_uuid>` — ID of the private or public network to which the server will be connected. You can view the list using the command `openstack network list`;
        * `<security_group>` — ID or name of the security group that will be assigned to all server ports. To create a server with a security group, [traffic filtering (port security](/cloud-servers/cloud-networks/about-networks.mdx#traffic-filtering-port-security)) must be enabled on the network. You can view the list of groups using the command `openstack security group list`;
        * `<key_name>` — name of the SSH key pair for the service user. If no SSH keys are created, [generate them](/cloud-servers/manage/create-and-place-ssh-key.mdx#create-ssh-keys). You can view the list using the command `openstack keypair list`;
        * optional: `--block-device-mapping vdb=<extra_volume>` — ID or name of an additional disk. You can view the list using the command `openstack volume list`;
        * optional: `--property x_cloud_smt_enabled=false` — disabling [Hyper-Threading (SMT](/cloud-servers/about/dedicated-cores.mdx#hyper-threading)). If the parameter is not specified, Hyper-Threading (SMT) will be enabled by default. Can only be used with flavors that support [dedicated cores](/cloud-servers/about/dedicated-cores.mdx). The list of flavors can be viewed in the [List of fixed configuration flavors in all pools](/cloud-servers/create/configurations.mdx#server-flavors-full-list) table;
        * optional: `--property x_cloud_numa_nodes=1` — placing resources on a single NUMA node. Can only be used with flavors that support [dedicated cores](/cloud-servers/about/dedicated-cores.mdx). The list of flavors can be viewed in the [List of fixed configuration flavors in all pools](/cloud-servers/create/configurations.mdx#server-flavors-full-list) table;
        * optional: `--tag <tag_name> --os-compute-api-version 2.52` — [tag](/cloud-servers/manage/tags.mdx) for adding additional server information;
        * optional: `--tag preemptible --os-compute-api-version 2.72` — tag for creating a [preemptible server](/cloud-servers/about/preemptible-servers.mdx);
        * optional: `--user-data <user_data.file>` — path to the script with Base64-encoded data. Scenarios and tasks from the script will execute upon the first boot of the operating system. Examples of scripts can be viewed in the [User data](/cloud-servers/manage/user-data.mdx) instruction;
        * `<server_name>` — server name.
      </TabItem>
    </Tabs>

    ### 5. Transfer additional disks \{#transfer-additional-volumes}

    If the source cloud server uses additional disks, they can be transferred.

    1. [Create images of the additional disks](/cloud-servers/images/create-image.mdx#create-image-from-volume).

    2. [Transfer the images of the additional disks to the account, project, or pool segment to which you transferred the cloud server](/cloud-servers/images/transfer-image.mdx).

    3. [Create network volumes from the images](/cloud-servers/volumes/create-volume.mdx).

    4. [Connect the network volumes to the new cloud server](/cloud-servers/volumes/attach-detach-volume.mdx#attach-network-volume-to-server).

    ### 6. Create a public floating IP address for the server \{#create-public-floating-ip}

    <Tabs queryString="create-public-ip">
      <TabItem value="panel" default>
        <TabItemLabel>
          Control panel
        </TabItemLabel>

        1. In the [Control panel](https://my.selectel.ru/vpc/default/images/) on the top menu, click **Products** and select **Cloud Servers**.

        2. Go to the **Network** section → **Public floating IP addresses** tab.

        3. Click **Create IP address**.

        4. Select a [location](/infrastructure/locations.mdx) where the public floating IP address will be created.

        5. Specify the quantity of public floating IP addresses.

        6. Click **Create**.
      </TabItem>

      <TabItem value="openstack">
        <TabItemLabel>
          OpenStack CLI
        </TabItemLabel>

        1. [Open the OpenStack CLI](/cloud-servers/tools/openstack-cli/).

        2. Create a public floating IP address:

           ```bash
           openstack floating ip create external-network
           ```
      </TabItem>
    </Tabs>
  </TabItem>

  <TabItem value="direct-tranfer">
    <TabItemLabel>
      Transfer disk directly
    </TabItemLabel>

    1. [View the name and type of the source cloud server's boot volume](#view-boot-volume-direct-transfer).

    2. [Create the target cloud server](#create-target-server).

    3. [Transfer the source cloud server's disk](#transfer-disk-from-source-server-to-target).

    4. If the source server uses additional disks, [transfer them and connect them to the target cloud server](#transfer-source-additional-volumes).

    ### 1. View name and type of the boot volume \{#view-boot-volume-direct-transfer}

    1. In the [Control panel](https://my.selectel.ru/vpc/default/servers/) on the top menu, click **Products** and select **Cloud Servers**.

    2. Open the **Servers** tab → server page.

    3. Open the **Configuration** tab. If the tab has a **Local disk** field, the server has a bootable local disk.

    4. Open the **Network volumes** tab. If the disk line has a **Bootable** tag, the server has a bootable network volume.

    ### 2. Create a target server \{#create-target-server}

    <Tabs queryString="create-target-server">
      <TabItem value="panel" default>
        <TabItemLabel>
          Control panel
        </TabItemLabel>

        1. In the [Control panel](https://my.selectel.ru/vpc/default/images/) on the top menu, click **Products** and select **Cloud Servers**.

        2. Click **Create server**.

        3. Enter the name of the cloud server. It will be set as the hostname in the operating system on the server.

        4. Select a [location](/infrastructure/locations.mdx) where the target server will be created.

        5. In the **Source** block, select the source from which the server will be created. The source must have the same boot type (BIOS or UEFI) as the source server's boot type.

        6. Click **Select**.

        7. Select a cloud server [configuration range](/cloud-servers/create/configurations.mdx#lines):

           * fixed — ranges of configurations with different technical specifications, in which the resource ratio is fixed;
           * custom — configurations in which any resource ratio can be specified.

           Different [processors](/cloud-servers/create/configurations.mdx#available-processors) are used in different ranges and server configurations depending on the pool segment. You can add GPUs to configurations — read more in the [Create a cloud server with GPU](/cloud-servers/create/gpus.mdx#create-server-with-gpu) instruction.

           After creating the server, you can [change the configuration](/cloud-servers/manage/change-server-configuration.mdx).

           The amount of RAM allocated to the server may be less than the specified amount — the operating system kernel reserves part of the RAM depending on the kernel version and distribution. You can check the allocated volume on an existing server using the command `sudo dmesg | grep Memory`.

        8. Select a boot (system) disk for the server:

           * [local disk](/cloud-servers/volumes/about-local-disks.mdx) without network latency — mark the **Local SSD NVMe disk** checkbox. If you selected a custom configuration, specify the local disk size. If you selected a fixed one, the disk size will depend on the configuration;
           * or [network volume](/cloud-servers/volumes/about-network-volumes.mdx) — in the **Disk type** field, select a [disk type](/cloud-servers/volumes/about-network-volumes.mdx#network-volume-types) and specify its size.

           The disk must not be smaller than the size of the source server's disk.

           After creating the server, you will be able to [replace only the network boot volume](/cloud-servers/volumes/attach-detach-volume.mdx#replace-boot-volume).

        9. Click **Add**.

        10. Optional: to add an additional disk to the server, click **Add**. You can add multiple disks.

            After creating the server, you can [disconnect additional disks from it and connect new ones](/cloud-servers/volumes/attach-detach-volume.mdx).

            You can [transfer additional disks](#transfer-source-additional-volumes) that were connected to the source server.

        11. In the **Internet** block, configure public access to the server:

            11.1. In the **Internet access** field, select the access type:

            * public floating IP address — the server will be accessible from a [private subnet](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx) connected to a [cloud router](/cloud-servers/cloud-networks/cloud-routers.mdx) with 1:1 NAT. Access from the internet will be carried out via a [public floating IP address](/cloud-servers/cloud-networks/public-floating-ip-addresses.mdx), and to the internet via the router;

            * no internet access — the server will only be accessible from a [private subnet](/cloud-servers/cloud-networks/private-networks-and-subnets.mdx) or via the [console](/cloud-servers/manage/connect-to-server.mdx#connect-through-console).

            11.2. If you selected **Public floating IP address**, select an available static IP address or create a new one.

        12. In the **Private network** block, connect an existing private subnet or create a new one:

            <Tabs queryString="add-network">
              <TabItem value="existing-network" default>
                <TabItemLabel>
                  Existing private subnet
                </TabItemLabel>

                12.1. In the **Subnet** field, select a subnet.

                12.2. Optional: in the **IP address** field, change the default IP address.

                12.3. In the **Router** field, select an existing router or create a new one.

                12.4. For a server without internet access, check the **Connect router to internet** checkbox. An external IP address will be assigned to the router.

                For a server with a public floating IP address, the cloud router without a connection to an external network will be automatically connected to the internet after the server is created.
              </TabItem>

              <TabItem value="new-private-network" default>
                <TabItemLabel>
                  New private subnet
                </TabItemLabel>

                12.1. In the **Subnet** field, select **New private subnet**.

                12.2. In the **Network** field, select an existing network or create a new one.

                12.3. Optional: change the subnet CIDR.

                12.4. Optional: in the **IP address** field, change the default IP address.

                12.5. In the **Router** field, select an existing router or create a new one.

                12.6. For a server without internet access, check the **Connect router to internet** checkbox. An external IP address will be assigned to the router.

                For a server with a public floating IP address, the cloud router without a connection to an external network will be automatically connected to the internet after the server is created.
              </TabItem>
            </Tabs>

        13. Select [security groups](/cloud-servers/security-groups/) to filter traffic on server ports. Without security groups, traffic will be denied. If the block is missing, [traffic filtering (port security](/cloud-servers/cloud-networks/about-networks.mdx#traffic-filtering-port-security)) is disabled on the server network. With filtering disabled, all traffic will be allowed.

        14. To connect to the server securely, place an SSH key on it. You can add multiple keys. The supported key types are ed25519, rsa, ecdsa, and dsa.

            Select an existing key or click **Add SSH key**. Enter the key name and paste the public SSH key in OpenSSH format. Click **Add**.

            If no SSH keys are created, [generate them](/cloud-servers/manage/create-and-place-ssh-key.mdx#create-ssh-keys).

        15. Optional: copy and save the `root` user password (the user with unlimited system privileges). Store the password in a safe place and do not share it in plain text.

        16. Optional: to create a [preemptible server](/cloud-servers/about/preemptible-servers.mdx), check the **Preemptible server** checkbox.

        17. Optional: if you plan to create several servers and want to increase infrastructure fault tolerance, we recommend using [placement groups](/cloud-servers/placement-groups/about-placement-groups.mdx) or placing cloud servers in different pool segments — otherwise, we do not guarantee placement on different hosts.

            Select an existing placement group or click **Create group** and enter the group name. Select the placement policy:

            * preferably on different hosts — soft-anti-affinity, the system will try to place the servers on different hosts. If there is no suitable host when creating the server, it will be created on the same host;
            * must be on different hosts — anti-affinity, the servers in the group are guaranteed to be located on different hosts. If we do not find a suitable host, the server will not be created.

            After a server is created, it cannot be added to a group directly — only by [creating a copy](/cloud-servers/placement-groups/add-server.mdx#add-existing-server-to-group).

        18. Optional: to add extra information to the server or filter servers in the list, add a [tag](/cloud-servers/manage/tags.mdx). You can add multiple tags. OS and configuration tags are added automatically.

            In the **Tags** field, check the existing tags or enter a new one. The maximum tag length is 60 characters. You can use Latin and Cyrillic letters, numbers, and the hyphen sign.

        19. Optional: in the **User data** field, paste or upload a script that will execute upon system boot. The maximum size of the script with data that is not Base64 encoded is 16 KB. Examples of scripts and supported formats can be viewed in the [User data](/cloud-servers/manage/user-data.mdx) instruction.

        20. Click **Create server**.
      </TabItem>

      <TabItem value="openstack">
        <TabItemLabel>
          OpenStack CLI
        </TabItemLabel>

        1. [Open the OpenStack CLI](/cloud-servers/tools/openstack-cli/).

        2. Create a cloud server:

           ```bash
           openstack server create \
               [--image <image> | --volume <volume> | --snapshot <snapshot>] \
               --flavor <flavor> \
               --availability-zone <pool_segment> \
               --nic net-id=<net_uuid> \
               --security-group <security_group> \
               --key-name <key_name> \
               <server_name>
           ```

           Specify:

           * source type:
             * `--image <image>` — to create a server from a [pre-built](/cloud-servers/images/about-images.mdx#default-images) or [custom image](/cloud-servers/images/about-images.mdx#own-images). The `<image>` parameter — image ID or name. You can view the list of images using the `openstack image list`;
             * `--volume <volume>` — to create a server from a [network volume](/cloud-servers/volumes/about-network-volumes.mdx). The `<volume>` parameter — disk ID or name. You can view the list of network volumes using the command `openstack volume list`;
             * `--snapshot <snapshot>` — to create a server from a [snapshot](/cloud-servers/volumes/snapshots.mdx). The `<snapshot>` parameter — snapshot ID or name. You can view the list of snapshots using the command `openstack snapshot list`;
           * `<flavor>` — flavor ID or name. Flavors correspond to [cloud server configurations](/cloud-servers/create/configurations.mdx) and define the server's vCPU count, RAM, and (optionally) local disk size. You can use fixed configuration flavors or [create a flavor](/cloud-servers/create/create-flavor.mdx). For example, `1015` — ID to create a server with a fixed Standard range configuration with 4 vCPUs, 16 GB RAM in the ru-9 pool. You can view the list of flavors using the `openstack flavor list` command or in the [List of fixed configuration flavors in all pools](/cloud-servers/create/configurations.mdx#server-flavors-full-list) table;
           * `<pool_segment>` — [pool segment](/infrastructure/locations.mdx#pool) in which the cloud server will be created, e.g., `ru-9a`. The list of available pool segments can be viewed in the [Availability matrix](/infrastructure/availability-matrix.mdx) instruction;
           * `<net_uuid>` — ID of the private or public network to which the server will be connected. You can view the list using the command `openstack network list`;
           * `<security_group>` — ID or name of the security group that will be assigned to all server ports. To create a server with a security group, [traffic filtering (port security](/cloud-servers/cloud-networks/about-networks.mdx#traffic-filtering-port-security)) must be enabled on the network. You can view the list of groups using the command `openstack security group list`;
           * `<key_name>` — name of the SSH key pair for the service user. If no SSH keys are created, [generate them](/cloud-servers/manage/create-and-place-ssh-key.mdx#create-ssh-keys). You can view the list using the command `openstack keypair list`;
           * optional: `--block-device-mapping vdb=<extra_volume>` — ID or name of an additional disk. You can view the list using the command `openstack volume list`;
           * optional: `--property x_cloud_smt_enabled=false` — disabling [Hyper-Threading (SMT](/cloud-servers/about/dedicated-cores.mdx#hyper-threading)). If the parameter is not specified, Hyper-Threading (SMT) will be enabled by default. Can only be used with flavors that support [dedicated cores](/cloud-servers/about/dedicated-cores.mdx). The list of flavors can be viewed in the [List of fixed configuration flavors in all pools](/cloud-servers/create/configurations.mdx#server-flavors-full-list) table;
           * optional: `--property x_cloud_numa_nodes=1` — placing resources on a single NUMA node. Can only be used with flavors that support [dedicated cores](/cloud-servers/about/dedicated-cores.mdx). The list of flavors can be viewed in the [List of fixed configuration flavors in all pools](/cloud-servers/create/configurations.mdx#server-flavors-full-list) table;
           * optional: `--tag <tag_name> --os-compute-api-version 2.52` — [tag](/cloud-servers/manage/tags.mdx) for adding additional server information;
           * optional: `--tag preemptible --os-compute-api-version 2.72` — tag for creating a [preemptible server](/cloud-servers/about/preemptible-servers.mdx);
           * optional: `--user-data <user_data.file>` — path to the script with Base64-encoded data. Scenarios and tasks from the script will execute upon the first boot of the operating system. Examples of scripts can be viewed in the [User data](/cloud-servers/manage/user-data.mdx) instruction;
           * `<server_name>` — server name.
      </TabItem>
    </Tabs>

    ### 3. Transfer the source server disk to the target \{#transfer-disk-from-source-server-to-target}

    1. [Connect to the target server](/cloud-servers/manage/connect-to-server.mdx).

    2. View the boot disk ID; to do this, output information about the disks:

       ```bash
       lsblk
       ```

       Information about the server disks will appear in the response. The `/boot/efi` value in the `MOUNTPOINTS` column indicates the boot disk. For example:

       ```bash
       NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
       sda         8:0      0 931.5G  0 disk 
       └─sda1      8:1      0 931.5G  0 part /mnt/data
       nvme0n1     259:0    0 465.8G  0 disk 
       ├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
       ├─nvme0n1p2 259:2    0    16G  0 part [SWAP]
       └─nvme0n1p3 259:3    0 449.3G  0 part /
       ```

       Here `nvme0n1` — the disk identifier.

    3. Copy the boot disk identifier you received in step 2.

    4. [Boot the source server in Rescue mode](/cloud-servers/troubleshooting/boot-to-rescue.mdx#boot-server-to-rescue).

    5. [Connect to the source cloud server](/cloud-servers/manage/connect-to-server.mdx).

    6. View the disk identifiers; to do this, output information about the disks:

       ```bash
       lsblk
       ```

       Information about the server disks will appear in the response. The `/boot/efi` value in the `MOUNTPOINTS` column indicates the boot disk. For example:

       ```bash
       NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
       sda           8:0    0   1.8T  0 disk 
       └─sda1        8:1    0   1.8T  0 part /mnt/data
       sdb           8:16   0 931.5G  0 disk 
       └─sdb1        8:17   0 931.5G  0 part /mnt/backup
       nvme0n1     259:0    0 465.8G  0 disk 
       ├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
       ├─nvme0n1p2 259:2    0    16G  0 part [SWAP]
       └─nvme0n1p3 259:3    0 449.3G  0 part /
       ```

       Here `nvme0n1` — the disk identifier.

    7. Copy the boot disk identifier you received in step 6.

    8. Transfer the disk to the target server:

       ```bash
       ssh root@NEW-IP '> /dev/<target_disk_id>' < /dev/<source_disk_id>
       ```

       Specify:

       * `<target_disk_id>` — target server disk identifier. The target server disk letter may match the source server disk letter;
       * `<source_disk_id>` — source server disk identifier.

    ### 4. Transfer additional disks \{#transfer-source-additional-volumes}

    If the source cloud server uses additional disks, they can be transferred.

    1. [Create images of the additional disks](/cloud-servers/images/create-image.mdx#create-image-from-volume).

    2. [Transfer the images of the additional disks to the account, project, or pool segment to which you transferred the source cloud server's disk](/cloud-servers/images/transfer-image.mdx).

    3. [Create network volumes from the images](/cloud-servers/volumes/create-volume.mdx).

    4. [Connect the network volumes to the target cloud server](/cloud-servers/volumes/attach-detach-volume.mdx#attach-network-volume-to-server).
  </TabItem>
</Tabs>

<Formbricks />
