Server Migration Center (SMC) enables containerized migration without downtime. It containerizes servers and business applications from physical machines, mainstream virtualization environments (VMware/Xen/KVM/Hyper-V), and multi-cloud platforms (Alibaba Cloud, AWS, Azure, GCP, and Tencent Cloud). It then pushes the resulting images to Container Registry (ACR) and deploys them to Container Service for Kubernetes (ACK).
Introduction
The server-to-container image migration feature has been upgraded to support an application migration mode, which lets you migrate specific applications. Both machine-level and application migration modes are supported.
SMC containerizes servers and business applications through machine-level migration and application migration. The resulting container images are pushed to Alibaba Cloud Container Registry (ACR). From there, they can be deployed to Container Service for Kubernetes (ACK). The following diagram illustrates the service relationships and the migration workflow.
-
Install the SMC client on the source server.
-
Configure the migration settings and start the migration. After the migration is complete, the system automatically generates a container image and stores it in the Personal edition of Alibaba Cloud Container Registry (ACR).
-
Deploy the application in Container Service for Kubernetes (ACK) to complete the migration.
-
The Personal edition of Alibaba Cloud Container Registry (ACR) is for individual developers and provides basic image hosting and building services.
-
Container Service for Kubernetes (ACK) provides lifecycle management for enterprise-grade Kubernetes containerized applications, so you can easily and efficiently run these applications in the cloud.
Migration scenarios
-
Machine-level migration
Containerize the system and all application data from a physical server, virtual machine, or cloud platform server into an image and push it to Alibaba Cloud Container Registry (ACR). This method is ideal for system-level disaster recovery.
-
Application migration
Containerize specific applications from a physical server, virtual machine, or cloud platform server into an image and push it to Alibaba Cloud Container Registry (ACR). This method is ideal for microservice containerization.
ImportantApplication migration is in invitational preview. Contact us to apply for the whitelist. Supported application versions include:
-
Java Tomcat
-
Java Tomee
-
Java JBoss (standalone mode)
-
ASP.NET Core 3.1 and ASP.NET 5/6/7/8
-
Limitations
-
You can migrate only servers that run a Linux operating system on the x86 architecture to a container image. Supported operating systems include:
-
CentOS
-
Ubuntu
-
RedHat
-
Alibaba Cloud Linux
-
-
Application migration is available only to whitelisted users. To request access, contact us. Supported application versions include:
-
Java Tomcat
-
Java TomEE
-
Java JBoss (standalone mode)
-
ASP.NET Core 3.1 and .NET 5/6/7/8
-
-
You can migrate images only to an image repository in a personal edition instance of Container Registry (ACR).
-
Containerized migration currently does not support data disk migration. The system excludes the
/mntdirectory and all data disk mount points by default. The resulting target disk contains only one default partition. You do not need to adjust the existing partition structure.To migrate data from a data disk to Alibaba Cloud, use FTP or SCP, or manually back up the data to Object Storage Service (OSS) or File Storage NAS. For more information, see Select a file transfer method and The ossutil 1.0 command-line tool.
-
In application migration mode, do not restart the application process during the migration. A change in the process ID will cause the migration task to fail.
Migration costs
-
While SMC is a free service, using Alibaba Cloud ECS resources, such as an intermediate instance during migration, incurs costs. For details, see SMC billable items.
-
Container images from containerized migration are stored in the Personal Edition of Alibaba Cloud Container Registry (ACR). Designed for individual developers, this edition is free to use during the public beta period and is currently available in select regions.
-
The specific costs of deploying applications to Container Service for Kubernetes (ACK) depend on the cluster type and your use of cloud products.
How it works
The SMC service consists of a client and a console. Containerized migration supports both machine-level migration and application migration modes.
Machine-level migration
-
This mode containerizes the entire system and all application data from a physical server, virtual machine (VM), or cloud server. The resulting container image is then pushed to Container Registry (ACR).
-
This mode does not generate an analysis report. Instead, it performs minimal trimming and then packages the entire operating system and application environment. This process creates a larger container image but fully preserves the source environment, enabling support for multiple applications.
Application migration
The application migration feature is available only to whitelisted users. To request access, contact us. Supported application versions include:
-
Java Tomcat
-
Java Tomee
-
Java JBoss (standalone mode)
-
ASP.NET Core 3.1 and ASP.NET 5/6/7/8
-
This mode containerizes specific applications from a physical server, VM, or cloud server. The resulting container image is then pushed to Container Registry (ACR).
-
It generates an analysis report for the specified application and uses it to package only the required application data, resulting in a smaller container image.
The migration process is as follows:
-
Download and install the SMC client on the source server. If you import the source server by using the command line or the console's automatic import feature, the system installs the client automatically.
-
The SMC client runs on the source server and registers the source server with the SMC service using the SMC service domain name.
-
The SMC service creates a temporary intermediate instance and configures its security group to allow traffic on ports 8080 and 8703.
The intermediate instance uses two data disks to migrate data and generate the container image. The first data disk stores data from the source server, and the second is for building the container image.
-
The SMC client connects to the intermediate instance on port 8080. Then, it transfers data from the source server to the data disk of the intermediate instance over port 8703.
For application migration, the client transfers only the specified application and its related data.
-
The SMC service creates a container image from the disk data on the intermediate instance and uploads the image to Container Registry (ACR).
For application migration, the service creates the container image based on the application, its data, environment variables, and startup commands before uploading it to ACR.
-
To complete the migration, go to the Container Service for Kubernetes (ACK) console and deploy the application.
Migration impacts
Before you migrate, review the impacts in the table below.
|
Item |
Description |
|
Intermediate instance |
Do not interfere with the intermediate instance. Do not stop, start, restart, or release the intermediate instance, or change its billing method during migration. The intermediate instance is automatically released after migration. Note
|
|
IP address |
The IP address will change after migration. If your services rely on specific IP address configurations, you must update the relevant settings, such as DNS records and ICP filing. |
|
Underlying hardware |
The underlying hardware will change after migration. This may invalidate certain application licenses that are bound to specific hardware. Verify the status of your licenses after the migration. |
Prerequisites
-
You have activated Server Migration Center (SMC). First-time SMC users must also grant the required permissions, prepare the migration network, and back up data. For more information, see Before you begin.
-
To migrate over a private network, you can connect your data center to a VPC by using VPN Gateway, Express Connect, or Smart Access Gateway. Because migrations across international regions can be slow due to public network instability, we recommend that you evaluate the migration time and test the transfer speed.
Migration actions
Step 1: Preparations
Verify the migration results
-
When the Real-time Migration Status is Completed, the migration is successful.
A successful migration generates an Alibaba Cloud container image. You can use this image to deploy a container application.
-
In the Actions column for the migration source, click Deploy Application. This action redirects you to the ACK cluster list page.
-
Select an existing ACK cluster or create a new one. For more information, see Create a cluster.
-
Navigate to the cluster. In the left-side navigation pane, choose Workloads > Deployments. Click create from image to create an application. Select the container image generated by the migration. For more information, see Create a stateless workload Deployment.
-
Startup command for machine-level migration
When you deploy an application on an ACK cluster, you must add the relevant scripts and development ports to the application lifecycle or the application YAML file to start the service on the source server. Add the scripts based on your actual needs. The following is an example of adding a CMD command to a YAML file:
spec: containers: - args: - | cd /www/server/panel && chmod +x /www/server/panel/init.sh && echo 3 | sh init.sh && tail -f /dev/null command: - /bin/sh - '-c' image: 'registry-vpc.cn-hangzhou.aliyuncs.com/zi***h/sa***:v1' -
Application migration mode
Run
netstat -lptnon the source server to view the application's service ports, then configure port mapping when you deploy the application in the ACK cluster.
-
-
After migrating the server, you must validate the data to ensure its integrity and correctness. For more information, see After migrating a Linux server, how do I check the system?.
NoteIf a domain name is mapped to the source server, remap it to the new instance's public IP address. Add a website resolution.
-
-
If the Real-time Migration Status is Error, the migration has failed. You must troubleshoot the issue and then retry the migration:
-
In the Actions column, click Troubleshoot Errors. Resolve the issue based on the error code and error message. For more information, see SMC FAQ and troubleshooting.
-
After resolving the issue, in the Actions column, click Retry Migration Job. The job resumes from where it left off.
ImportantIf the intermediate instance has been released, you must restart the migration. For more information, see I accidentally released the intermediate instance. What should I do?.
-
Clean up resources
Migrate to an image
During the migration, SMC creates a temporary pay-as-you-go intermediate instance named No_Delete_SMC_Transition_Instance in your destination Alibaba Cloud account to facilitate the migration. The migration result determines whether you need to manually release the instance:
Successful migration: SMC automatically releases the intermediate instance. No manual cleanup is required.
Migration error: The intermediate instance is not released and continues to incur charges. To avoid unnecessary charges, you can release the instance in one of the following ways:
If you no longer need the migration task, click the migration source ID. In the Actions column for the migration task, click Cancel Migration Job to delete the migration task and automatically clean up the intermediate instance.
Manually release the intermediate instance.
Migrate to a destination instance
During the migration, SMC creates a temporary pay-as-you-go intermediate disk named SMC_Temp_Disk and attaches it to the destination instance to facilitate the migration. The migration result determines whether you need to manually release the intermediate disk:
Successful migration: SMC automatically releases the intermediate disk. No manual cleanup is required.
Migration error: The intermediate disk is not released and continues to incur charges. To avoid unnecessary charges, you can release the disk in one of the following ways:
If you no longer need the migration task, click the migration source ID. In the Actions column for the migration task, click Cancel Migration Job to delete the migration task and automatically clean up the intermediate disk.
Manually release the intermediate disk.




