All Products
Search
Document Center

Server Migration Center:Server migration to container images

Last Updated:Jul 17, 2024

Containers have the advantages of low cost, efficient deployment, high portability, and environment consistency. You can use SMC to migrate Linux source servers to container images and then use the container images to deploy container applications. This implements low-cost containerized application migration.

Note
  • Alibaba Cloud Container Registry is a service that allows you to manage and distribute cloud-native artifacts that meet the standards of Open Container Initiative (OCI) in an effective manner. The artifacts include container images and Helm charts. Container Registry Enterprise Edition provides end-to-end acceleration capabilities to support global image replication, distribution of large images at scale, and image building based on multiple code sources. The service seamlessly integrates with Container Service for Kubernetes (ACK) to help enterprises reduce delivery complexity and provides a one-stop solution for cloud-native applications. For more information, see What is Container Registry?

  • Alibaba Cloud Container Service for Kubernetes (Container Service for Kubernetes) is one of the first service platforms in the world to pass the Kubernetes consistency certification. It provides high-performance container application management services and supports the lifecycle management of enterprise-level Kubernetes containerized applications. This allows you to easily and efficiently run Kubernetes containerized applications in the cloud. For more information, see What is Hybrid Backup Recovery.

Limits

Only servers that run the x86 Linux operating system support migration to container images.

Impacts

Before you migrate data, take note of the following items:

Item

Description

Migrate Data Directory

During migration, SMC can obtain the disk partition structure of the migration source and automatically generate the destination disk partition when creating a migration task. This accelerates data transmission during the migration.

  • If you do not enable the block replication feature, the data in all subdirectories, including shared subdirectories in the root directory, is migrated as a partition of the system disk. If you want to migrate other partitions, such as /disk1, to an independent data disk, you must select and configure the data disk when you create a migration task. For more information about how to filter or exclude files or directories that do not need to be migrated, see How do I filter or exclude files or directories that do not need to be migrated?

  • By default, if you enable the block replication feature, only the subdirectories in the root partition of the system disk, such as / and /boot, are migrated. If you want to migrate other partitions, you must select and configure the data disk when you create a migration task.

Intermediate Instance

Do not interfere with intermediate instances.

To run a migration task, SMC creates a temporary intermediate instance named No_Delete_SMC_Transition_Instance within your Alibaba Cloud account. For more information, see the "How does SMC create an intermediate instance?" section of the SMC FAQ topic. During the migration, do not stop, start, restart, or release the intermediate instance. Otherwise, the migration fails. After the migration is complete, SMC automatically releases the intermediate instance.

Note

If you select a destination instance, the destination instance is an intermediate instance.

IP Address

After the migration, the IP address will change. If the service involves the configuration of the IP address, modify it after the migration.

Underlying hardware

After the migration, the underlying hardware of the system changes, which may invalidate the licenses of some applications bound to the hardware.

Prerequisites

  • The preparations for server migration are completed. For more information, see Prepare for migration.

  • Container Registry is activated, and an image repository is created. For more information, see Create a repository and build images.

  • The RAM role required by the SMC intermediate instance is created. For more information, see Create a RAM role.

    Configure the following key parameters for the RAM role.

    • Select Trusted Entity: Select Alibaba Cloud Service.

    • Role Type: Select Normal Service Role.

    • Select Trusted Service: Select Elastic Compute Service.

  • You have created a custom policy that meets the requirements of container image migration and authorized the policy to a RAM role. For more information, see Create custom policies and Grant permissions to a RAM role.

    The custom policy is shown as follows.

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:GetAuthorizationToken",
                    "cr:PushRepository",
                    "cr:PullRepository",
                    "cr:CreateRepository"
                ],
                "Resource": "*"
            }
        ],
        "Version": "1"
    }

Procedure

Import the information about a migration source.

Migration sources can be servers of a variety of types, such as servers in data centers, VMs, and hosts on third-party cloud platforms. SMC supports multiple methods to import migration sources. You can select a method to import migration sources based on your business requirements. For more information, see How do I select a method to import a migration source?

Command line one-click import migration source (recommend)

Important

The source server must have Internet access.

  1. Log on to the SMC console.

  2. In the left-side navigation pane, choose Migrate to Cloud > Server Migration.

  3. On the Server Migration page, click Import Migration source.

  4. Configure the parameters as prompted and copy the activation code command. The following table describes the parameters.

    Parameter

    Description

    Migration Source Type

    The type of the migration source. Select ECS.

    Import Method

    The method that is used to import the information about the migration source. Select Use CLI to Import Server.

    Migration Source Quota

    The number of migration sources whose information you want to import by using the activation code. Valid values: 1 to 1000. Default value: 10.

    Validity period

    The validity period of the activation code. Unit: days. Valid values: 1 to 90. Default value: 30.

    Activation Code

    Generate the activation code and copy the generated command by performing the following steps:

    1. Click Generate.

    2. Click the Linux Shell tab.

    3. Click Copy to copy the activation code command.

  5. Log on to the source server, and use the administrator permissions to paste and run the copied command to import the migration source.

    1. Log on to the Linux server.

    2. Use the administrator permission to paste and run the copied command to import the migration source.

      image.png

      After the command is executed, a similar Import Source Server [s-bp18x8751kgz2oyh****] Successfully! occurs A message is returned, indicating that the migration source is successfully imported.

  6. On the Server Migration page in the SMC console, view the status of the migration source in the Migration Status column.

    • If the status of the migration source is Online, the migration source is imported.

    • If the migration source is in another state, the migration source fails to be imported. See the following solutions to resolve the issue and then re-import the migration source.

      • Solve the problem by following the error message in the console or by viewing the log file in the directory of the SMC client. By default, the SMC client is installed in the following directory:

        • Windows: C:\smc

        • Linux: /smc

      • For FAQ and solutions, see SMC FAQ and Troubleshooting.

Import the information about a migration source by using the SMC console

Note
  • The source server (the source ECS instance) must have the Internet access capability.

  • Install the Cloud Assistant Agent on the source server. By default, ECS instances created from public images after December 1, 2017 are pre-installed with the Cloud Assistant Agent.

  • If you use a RAM user to import data to a migration source, you must grant the following permissions to the RAM user.

    • You must grant the AliyunRAMReadOnlyAccess permission to the RAM user. For more information, see Attach a custom policy to a RAM user.

    • You must grant the Cloud Assistant management permission AliyunECSAssistantFullAccess to the RAM user. For more information, see RAM RAM.

  1. Log on to the SMC console.

  2. In the left-side navigation pane, choose Migrate to Cloud > Server Migration.

  3. On the Server Migration page, click Import Migration source.

  4. Configure the parameters as prompted and copy the activation code command. The following table describes the parameters.

    Parameter

    Description

    Migration Source Type

    The type of the migration source. Select Physical Server/VM/Cloud Server.

    Import Method

    The method that is used to import the information about the migration source. Select Import through Console.

    Migration Source Name

    The name of the migration source. The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), colons (:), underscores (_), and hyphens (-). The name must start with a letter but cannot start with http:// or https://. The name can contain letters, digits, colons (:), underscores (_), and hyphens (-).

    Operating system

    Select Linux.

    IP address

    The IPv4 address that is used to access the migration source over the Internet. Example: 120.55.XX.XX.

    Port

    The SSH port number of the migration source. Valid values: 1 to 65535. Default value: 22.

    Username

    Enter the user name of the operating system. The default value is root.

    Password

    Enter the password for the username of the operating system.

  5. After you configure the parameters, click Import.

    The import process takes about 3 to 10 minutes. Wait until the import is complete.

  6. On the Server Migration page in the SMC console, view the status of the migration source in the Migration Status column.

    • If the status of the migration source is Online, the migration source is imported.

    • If the migration source is in another state, the migration source fails to be imported. See the following solutions to resolve the issue and then re-import the migration source.

      • Solve the problem by following the error message in the console or by viewing the log file in the directory of the SMC client. By default, the SMC client is installed in the following directory:

        • Windows: C:\smc

        • Linux: /smc

      • For FAQ and solutions, see SMC FAQ and Troubleshooting.

Import the information about a migration source by using the SMC client

For more information about the SMC client, see SMC client tools.

  1. Log on to the SMC console.

  2. In the left-side navigation pane, choose Migrate to Cloud > Server Migration.

  3. On the Server Migration page, click Import Migration source.

  4. In the Import Migration Source dialog box, configure the parameters. The following table describes the parameters.

    Parameter

    Description

    Migration Source Type

    The type of the migration source. Select Physical Server/VM/Cloud Server.

    Import Method

    The method that is used to import the information about the migration source. Select Use Client to Import Server.

    Description

    After Import Description, download the SMC client based on the architecture (Arm and x86) and 32-bit and 64-bit (64-bit) of the source server operating system.

  5. Import the information about a source server.

    Important

    During the migration, do not shut down the SMC client until the migration is complete. Otherwise, the migration source is disconnected from the SMC console, and the migration fails.

    1. You can use a remote connection tool that supports file transfer. For example, you can use WinSCP to upload the SMC client package to the source Linux server.

    2. Connect to the source Linux server and decompress the SMC client package.

      Linux 64-bit Generic is used in the example. Run the following command to decompress the package. If you use another version of the SMC client, replace the package name in the command with the name of your SMC client.

      tar xf go2aliyun_client_linux_x86_64.tar.gz
      Note

      Linux ARM64 supports the g6r general-purpose instance family and the c6r compute-optimized instance family. For more information about instance types, see the "ARM-based enterprise-level computing instance families" section of the Overview of instance families topic.

    3. (Optional) If you do not need to migrate some files or directories, you can exclude the files or directories from being migrated. For more information, see the How do I exclude files or directories from a migration job? section of the "FAQ" topic.

      Important

      If you enable the block replication feature, you cannot exclude files or directories from the migration job.

    4. Obtain an activation code or AccessKey pair.

      • (recommend) Obtain activation code: In the Import Instructions section of the SMC console, click Generate activation code and copy the activation code information.

      • AccessKey pair: The AccessKey pair consists of an AccessKey ID and an AccessKey secret. If no AccessKey pair is created, create one first. For more information, see Create an AccessKey pair.

    5. In the SMC client folder, run the following commands to run the SMC client.

      Run the following commands as a root or sudo user based on whether you have root or sudo permissions on the operating system of the source server.

      Root user
      cd go2aliyun_client_linux_x86_64
      chmod +x go2aliyun_client
      ./go2aliyun_client
      Sudo user
      cd go2aliyun_client_linux_x86_64
      sudo chmod +x go2aliyun_client
      sudo ./go2aliyun_client
    6. Enter the activation code or AccessKey pair as prompted. In this example, the activation code is used, as shown in the following figure.adad

      The following messages may appear after you enter the activation code:

      • If no snapshot dependency is installed on your source server, a message appears. The following figure shows the details of the message. You can decide whether to install a snapshot dependency based on whether you enable the block replication feature.

        • If you enable block replication when you create a migration task, enter yes to automatically install the snapshot driver.

        • If you do not want to enable block replication when you create a migration task, enter no.

        Important

        If the snapshot dependency fails to be installed, do not enable block replication when you create a migration job. Otherwise, the migration may fail.

        123

      • The rsync tool is installed on most mainstream migration sources. If rsync is not installed on the migration source, the SMC client displays a message. Enter yes to install rsync, as shown in the following figure.安装rsync

      • If SELinux is enabled on the migration source, a message that prompts you to disable SELinux appears. Enter yes to disable SELinux. The following figure shows how to disable SELinux.关闭SELinux

      When a similar Import Source Server [s-bp11npxndknsycqj****] Successfully! appears in the echo indicates that the migration source is imported.

      Note

      If the information about the migration source fails to be imported, you can troubleshoot the issue based on the returned message. After you fix the issue, run the following commands to exit the background program and re-import the information about the migration source based on your permissions on the operating system of the migration source. For more information about frequently asked questions (FAQ) and solutions, see SMC FAQ and Troubleshooting.

      Use sudo permissions
      sudo ./go2aliyun_client --abort
      sudo ./go2aliyun_client
      Run the following command as the root user:
      ./go2aliyun_client --abort
      ./go2aliyun_client
  6. On the Server Migration page in the SMC console, view the status of the migration source in the Migration Status column.

    • If the status of the migration source is Online, the migration source is imported.

    • If the migration source is in another state, the migration source fails to be imported. See the following solutions to resolve the issue and then re-import the migration source.

      • Solve the problem by following the error message in the console or by viewing the log file in the directory of the SMC client. By default, the SMC client is installed in the following directory:

        • Windows: C:\smc

        • Linux: /smc

      • For FAQ and solutions, see SMC FAQ and Troubleshooting.

Step 2: Create a migration task

  1. Find the migration source that you want to manage, click Create Migration Job in the Actions column.

  2. In the Create Migration Job dialog box, configure the parameters and click Create.

    1. Configure the basic parameters. The following table describes the parameters.

      Parameter

      Description

      Example

      Migration Job Name

      The name of the migration job.

      Container Migration

      Job Description

      The description of the migration job.

      test

      Destination Type (required)

      Container Image.

      Container images

      Destination region (required)

      The destination region is the region where your servers are to be migrated to Alibaba Cloud. For more information about regions, see Regions and Zones.

      Hangzhou

      Container image namespace (required)

      Select the namespace where the container image repository generated by the migration is stored. For more information about how to create a namespace, see Manage namespaces and quotas.

      Container image repository name (required)

      The name of the repository that stores the container images generated by migration. For more information about how to create an image repository, see Create a repository and an image.

      Version

      The version of the container image that is generated by the migration.

      v1

      Container Image RAM Role (Required)

      Select the instance role to which the intermediate instance is bound. For more information about how to create a RAM role, see Create a RAM role whose trusted entity is an Alibaba Cloud service.

      Execution Method

      Select a migration task execution mode:

      • Migrate Now: The migration job starts immediately after it is created. This is the default value.

      • Migrate Later: The migration job automatically starts at the specified time after it is created.

        Note

        The earliest time that you can specify to run a migration task is 10 minutes after the task is created.

      • Create Only: Only a migration task is created. Click Start Task in the Actions column to manually start the migration task.

      Keep the default setting.

  3. Configure the disk parameters. The following table describes the parameters.

    Parameter

    Description

    Example

    Destination Disk Size (GiB)

    The disk configurations of the destination instance. Configure the following parameters based on your business requirements:

    System Disk

    • System Disk: the size of the system disk of the destination instance. Unit: GiB. Valid values: 20 to 2048. The size of the destination system disk must be larger than the amount of data on the source system disk. For example, if the total size of the source system disk is 400 GiB but the size of data stored on this disk is only 100 GiB, you must set this parameter to a value greater than 100.

      Note

      The default value of this parameter is the size of the source system disk. We recommend that you retain the default value or specify a greater value.

    • Partition<N>: the size of the partition. SMC generates a partitioning scheme for the destination disk based on the partitioning scheme of the source disk. Unit: GiB. Valid values: 0 to 14. N specifies the serial number of the partition. For example, if the system disk of the source server has only one partition, Partition0 is generated.

    Data Disk

    • Data Disk <N>: the size of the data disk of the destination instance. Unit: GiB. Valid values: 20 to 32768.

      • If you select the Data Disk <N> check box, a destination data disk is generated.

      • <N> indicates the serial number of the data disk.

      • The size of the destination data disk must be larger than the amount of data on the source data disk. For example, if the total size of the source data disk is 500 GiB but the size of data stored on this disk is only 100 GiB, you must set this parameter to a value greater than 100.

    • Partition <N>: the size of the partition. SMC generates a partitioning scheme for the destination data disk based on the partitioning scheme of the source data disk. Unit: GiB. Valid values of N: 0 to 14. <N> indicates the serial number of the partition. For example, if a data disk of the migration source has only one partition, Partition 0 is generated.

    Note

    If your migration source has no data disk or no data disk is attached to the migration source, the Data Disk parameters are not displayed. For more information, see the "Why are the data disk parameters of a migration source not displayed in the Create Migration Job dialog box? What do I do?" section of the SMC FAQ topic.

    Block Replication

    SMC allows or disallows you to turn on the switch based on whether the migration source supports block-level replication for partitions.

    • If the migration source does not support block replication for partitions, you cannot turn on the switch. If SMC uses the default method to migrate the migration source at the file level, you can modify the size of each partition on the destination disk.

    • If the migration source supports block replication for partitions, the switch is turned on by default. You can migrate disk data at the partition level. The block replication feature ensures stable data transmission. The feature also ensures that the source and destination disks use the same partitioning scheme. However, you cannot modify the size of each partition on the destination disk.

    Note

    If your source server runs Windows, block replication is enabled by default. You cannot disable this feature.

    Keep the default setting.

  4. Optional. If you need to set parameters such as network type and compression ratio, click Expert Mode and configure advanced parameters. The following table describes the parameters.

    Parameter

    Description

    Example

    Network type

    Select the network used to transfer the migrated data to the intermediate instance. By default, the public network is used. During migration, SMC creates an intermediate instance that connects to a vSwitch in a virtual private cloud (VPC). If you select Public Network, a public IP address is assigned to the intermediate instance.

    Internet transmission (default)

    SMC migrates data to the intermediate instance over the Internet. If you select Public Network, make sure that the source server can access the Internet. You can determine whether to specify a VPC and a vSwitch based on your business requirements.

    • If you specify a VPC and a vSwitch, SMC creates an intermediate instance that connects to the specified VPC and vSwitch.

    • If you do not specify the VPC or vSwitch, the migration task creates an intermediate instance in the VPC and vSwitch that are automatically created by the system.

    VPC

    SMC migrates data to the intermediate instance over a VPC. If you select VPC, you must specify a VPC and a vSwitch and make sure that the source server can connect to the VPC.

    Note

    If your server in a data center, your VM, or your third-party cloud server can connect to a VPC, we recommend that you select this network type to migrate data. Compared with migration over the Internet, migration over a VPC is more efficient and stable. You can use VPN Gateway, Express Connect, and Smart Access Gateway (SAG) to connect a migration source to a VPC. For more information, see Connect a data center to a VPC.

    Keep the default setting.

    Transmission Speed Limit

    The maximum bandwidth for data transmission during migration. Unit: Mbit/s.

    Keep the default setting.

    Compression Ratio

    The compression ratio of the data to be migrated. Set the compression ratio based on your business requirements.

    • In an environment with limited bandwidth, using a high compression ratio can increase the data transmission speed.

    • If a high bandwidth is available, we recommend that you do not compress data. Data compression consumes CPU resources of the migration source.

    Valid values: 0 to 10. Default value: 7. A value of 0 indicates that data is not compressed.

    Keep the default setting.

    Checksum Verification

    Specifies whether to verify data integrity by using a checksum. By default, this feature is disabled. If you enable this feature, data integrity is ensured, but transmission speed may be reduced.

    Keep the default setting.

    Migration Job Tags

    The tags that you specify for the migration job. Each tag contains a key and a value. You can use tags to query and manage migration jobs. For more information, see Use tags to manage migration sources and tasks and Use tags to fine-grained permission management.

    Note

    You can specify up to 20 tags for a migration job.

    Keep the default setting.

    Intermediate Instance Type

    The type of the intermediate instance. Select an intermediate instance type based on your business requirements. This parameter is available only if you set the Target Type parameter to ECS Image.

    • If you specify an instance type, SMC creates an intermediate instance of the specified type. If the specified instance type is unavailable, you cannot create the migration job.

    • If you do not specify an instance type, SMC automatically creates an intermediate instance.

    Important

    To avoid migration errors, do not stop, start, restart, or release the intermediate instance during the migration.

    Keep the default setting.

Verify the migration results

  • If Migration Status is Completed, the migration is successful.

    image

    After the migration is successful, an Alibaba Cloud container image is generated. You can use the container image to deploy container applications. To clear your disks, perform the following steps:

    1. Create an ACK cluster. For more information, see Create an ACK dedicated cluster.

    2. In the Actions column of the migration source, click Deploy Application. The Create Application page appears.

    3. Create an application. For more information, see Create a stateless application by using a Deployment.

    4. After the server is migrated, you must verify the data to ensure data integrity and correctness. For more information, see the How do I check my system after I migrate a Linux server?

      Note

      If a domain name has been bound to the source server, the public IP address of the source server will change after the migration. You must resolve the domain name to the new public IP address of the source server. For more information, see Add a website.

  • If Migration Status is Error, the migration task fails. In this case, you need to troubleshoot the issue and try again:

    1. In the Actions column, click Troubleshoot Errors and fix the error based on the error code and error message. For more information, see FAQ and Errors occurred during a server migration.

    2. On the Migration Tasks page, click Retry Task.

      The migration job resumes from the point at which it was stopped.

      Important

      If the intermediate instance is released, you must create another migration job. For more information, see the What do I do if I release an intermediate instance by accident? section of the "FAQ" topic.

Clean up resources

During migration, SMC creates a temporary pay-as-you-go intermediate instance named No_Delete_SMC_Transition_Instance under your Alibaba Cloud account to assist in the migration. You need to select whether manual cleanup is required based on whether the migration is successful:

  • If the migration is successful, the intermediate instance is automatically released. You do not need to manually clean it up.

  • Migration error: The intermediate instance always exists with the migration task and costs are incurred. You can choose one of the following methods to release the intermediate instance to avoid unnecessary fee deduction:

    • If you no longer want to use the migration task, choose image > Delete in the Actions column to delete the migration task.

    • Manually release the intermediate instance. For more information, see Release an instance.