How to migrate VM from on-premise or another-cloud to Huawei cloud

สวัสดีทุกท่านที่เข้ามาอ่าน blog นี้นะครับ วันนี้เราจะมาเล่าเกี่ยวกับการ migrate เครื่อง VM จาก on-premise หรือจาก cloud provider เจ้าต่างๆ มาสู่ Huawei cloud กันดีกว่า

เรามาแนะนำ Huawei cloud กันซักนิดดีกว่า
Huawei cloud เป็น cloud provider ที่มี feature ค่อนข้างครบครันไม่ว่าจะเป็น
Compute service, Database service, Storage service, Network service, AI service, IoT service, etc.

มี service เยอะมากกกกกกกกกก

และ Huawei cloid ความพิเศษของเขาก็คืออออ เขามี data center ตั้งอยู่ในไทย(ว้าววววว)
ถัดมาทุกคนคงสงสัยว่ามี data center ตั้งอยู่ในไทยมันดียังไง?
มันมีข้อดีหลายอย่างเลยครับเช่น latency น้อย???
นอกเรื่องกันไปเยอะแล้วเรามากลับสู่ประเด็นหลักกันเลยดีกว่า :P

ขั้นตอนในการ Migrate VM ไปยัง Huawei cloud จะมาประมาณนี้ครับ
1. สร้าง Access Keys ไว้ให้ agent ของ Huawei cloud ใช้ในการดึงไฟล์ต่างๆ ในเครื่อง VM และส่งกลับไปที่ Huawei cloud ได้
2. ติดตั้ง agent ที่เครื่อง VM สั่งให้ agent ทำงาน
3. config ค่าต่างๆ
4. เริ่มทำการ migrate
แต่ก่อนที่จะไปเริ่มกันขอให้ทุกท่าน check OS ของเครื่อง VM กันก่อนนะครับว่าสามารถทำได้หรือไม่ Supported OSs Server Migration Service

มาเริ่มกันที่ขั้นตอนที่ 1 กันเลยดีกว่าครับ

Step 1 สร้าง Access Keys
เริ่มจากให้เรา login เข้า Huawei cloud console กันเลย
(สำหรับผู้อ่านที่อยากสร้างเป็น IAM แยกสำหรับการ migrate สามารถอ่านวิธีการทำได้ที่ How Do I Create an AK/SK Pair for an IAM User? )

เมื่อเข้ามาแล้วให้เอาเมาส์ไปวางไว้บนชื่อ account ของเราแล้วจะมีแถบ menu ขึ้นมาให้เรากดที่ My Credentials

หลังจากที่เข้ามาได้แล้วให้เรากดไปที่ Access Keys

หลังจากนั้นให้กด Create Access Key แล้วกด OK ได้เลย

หลังจากนั้นจะมีหน้าต่างให้เรากด download Access Key ก็ให้เรา download มาเก็บไว้เลย

Step 2 ติดตั้ง agent ที่เครื่อง VM และสั่งให้ agent ทำงานและ config ค่าต่างๆ

ใน blog นี้ผมขอใช้เครื่อง VM ที่เป็น Ubuntu 20.04 LTS on-premise ในการ demo ให้ดูนะครับ

ให้เรากดไปที่แถบ 3 ขีดด้านซ้ายมือแล้วค้นหา SMS แล้วกดเข้าไปที่ Server Migration Service ได้เลย

SMS อันนี้ไม่ได้หมายถึง Short Message Service นะครับ55555555

หลังจากที่เราเข้ามาหน้า  Server Migration Service ก็ให้เรากดเข้าไปที่ Agents ทางด้านซ้ายมือเลย

เมื่อเข้ามาแล้วเราก็จะเห็นวิธีการติดตั้ง agent ที่ทาง Huawei ทำไว้ให้เรา เนื่องจากเครื่อง VM ของผมเป็น Ubuntu ผมจะใช้วิธีของ linux นะครับ

ให้เรา ssh เข้าไปที่เครื่อง server ของเราและ download Agent และ SHA256
# wget -t 3 -T 15 https://sms-agent-2-0.obs.ap-southeast-1.myhuaweicloud.com/SMS-Agent.tar.gz
# wget -t 3 -T 15 https://sms-agent-2-0.obs.ap-southeast-1.myhuaweicloud.com/SMS-Agent.tar.gz.sha256

หลังจากนั้นก็ให้เราแตกไฟล์และ run install script
# tar -zxvf SMS-Agent.tar.gz   && cd SMS-Agent  &&    ./startup.sh

หลังจากแตกไฟล์เสร็จก็จะมีคำถามขึ้นมาว่า Do you agree? ให้ตอบ y ไปเลยครับ
และมันจะถาม Access key และ Secret Access key ของเรา ก็ให้เราไปดูจากไฟล์ที่เรา download มาจาก step ที่ 1 ได้เลย

ให้ Copy Access key และ Secret Access key มาใส่ได้เลย

หลังจากที่ติดตั้ง agent เสร็จแล้ว จะได้หน้าตาแบบนี้เลย(แต่ถ้ามี error ขึ้นมาสามารถหาสาเหตุได้ที่ Error Codes ) หลังจากที่เราลง agent สำเร็จแล้วเครื่อง VM ของเราก็พร้อมกันแล้วเราก็ไปที่หน้า Huawei cloud console กันได้เลย

Step 3 config ค่าต่างๆ

หลังจากที่เข้ามาหน้า Huawei cloud console แล้วก็ให้เราเข้าไป Server Migration Service แล้วกดไปที่ Servers เราจะเห็นเครื่อง VM ที่เราพึ่งจะลง Agent สำเร็จไปเมื่อกี้ ก็ให้เรากดไปที่ Configure ได้เลย

หลังจากกดไปที่ configure แล้วเราจะเข้ามาสู่หน้า Configure Migration ให้เราทำการ config ค่าต่างๆ ตามที่เราต้องการได้เลย
รายละเอียดของการ config จะมีประมาณนี้ครับ
- Migration Template: ให้ใช้เป็น default ไปเลยก็ได้ครับ
- Network Type: ให้เลือกใช้เป็น Public ไปเลยครับ(แบบ Privete ต้องไปทำการ config network ซึ่งค่อนข้างวุ่นวายเลยขอข้ามนะครับ)
- Migration Rate Limit: ให้ใส่เป็น 0 ไปเลยครับ(0 หมายถึงไม่จำกัด rate limit) แต่ถ้าใครต้องการกำหนด rate limit ก็สามารถใช้ค่าที่ต้องการได้เลย
- CPU Limit: จะเป็นการกำหนดค่าของปริมาณ cpu ที่ agent จะใช้ในการ migrate ซึ่งมีสูตรการคำนวนคือ CPU limit (%) = Maximum number of CPU cores allowed for the migration process/Total number of CPU cores x 100 ยกตัวอย่างเช่นเรามี cpu อยู่ 4 core ต้องการใช้แค่ 0.5 core ในการ migrate ก็ให้เอา CPU limit (%) = (0.5/4 x 100) จะได้เป็น CPU limit (%) = 12.5 ก็ปัดขึ้นเป็น 13 เลยครับ หรือถ้าไม่ใส่ค่าก็จะเป็นการ allow ให้สามารถใช้ cpu ทั้งหมดในการ migrate ได้เลย
- Memory Limit: จะเป็นการกำหนดค่าของปริมาณ memory ที่ agent จะใช้ในการ migrate โดยต้องที่ค่าขึ้นต่ำที่ 200 MB แต่ไม่เกิน 1,000 MB หรือไม่ใส่ค่าก็จะเป็นการ allow ให้สามารถใช้ memory ทั้งหมดในการ migrate ได้เลย
- Disk Throughput Limit: จะเป็นการกำหนดค่าของปริมาณ Disk Throughput ที่ agent จะใช้ในการ migrate โดยต้องที่ค่าขึ้นต่ำที่ 10 MB/s แต่ไม่เกิน 1,000 MB/s หรือไม่ใส่ค่าก็จะเป็นการ allow ให้สามารถใช้ Disk Throughput ทั้งหมดในการ migrate ได้เลย
- Migration Method: มีแค่ file-level ก็ใช้ file-level เลยครับ :)
- Continuous Synchronization: ปล่อยเป็นค่า default เลยครับ
- Partition Resizing: ตั้งค่าการ resize partition
- Start Target Upon Launch: ตั้งค่าว่าเครื่องใหม่ที่ migrate เสร็จแล้วจะเปิดเครื่องเลยหรือไม่
- Measure Network Performance: ตั้งค่าว่าจะให้แสดง metric ต่างๆ ตอน migrate หรือไม่
- Enable Concurrency: เป็นการตั้งค่า Concurrency ในการ migration

ในตัวอย่างผมขอใช้ config ตามนี้นะครับ

เมื่อเราตั้งค่าเสร็จแล้วก็ให้กดปุ่ม Next: Configure Target ได้เลย
หลักจากนั้นมันก็จะนำเราเข้ามาสู่หน้า Configure Target ซึ่งจะให้เราตั้งค่าต่างๆ ของเครื่อง VM ที่เราจะเปิดขึ้นมาบน Huawei cloud
รายละเอียดของการ config
- Region: เราสามารถเลือกได้ว่าจะสร้างเครื่อง VM ใน Datacenter ของประเทศไหน
- Project: จะเป็นส่วนที่ให้เราเลือกว่าจะสร้างใน project ไหน
- Server: จะให้เราเลือกว่าจะ migrate ไปยังเครื่องที่เราสร้างไว้แล้วหรือจะสร้างเป็นเครื่องใหม่ ***ซึ่งในที่นี้ผมจะสร้างเป็นเครื่องใหม่***
- Server Template: จะเป็นการกำหนดว่าจะสร้างเครื่องใหม่ใน VPC, Subnet, Security Group อันไหน
- Advanced Settings: จะเป็นการตั้งค่ารายละเอียดต่างๆ ของ VM บน Huawei cloud

หลังจากที่เราตั้งค่าต่างๆ เสร็จแล้วก็กดปุ่ม Next: Confirm ได้เลย แล้วเราก็จะเข้ามาสู่หน้า confirm ให้เราตรวจสอบรายละเอียดของเครื่องให้เรียบร้อยและกดปุ่ม Save ได้เลย

เมื่อเรากดปุ่ม Save แล้วก็จะมีหน้าต่างถามเรื่องการ save config ให้เรากดยอมรับ awared of the migration conditions and risks. แล้วกด Yes เลย หลังจากนั้นเราจะไปสู่หน้า Target server configured. ก็ให้เรากด Back to Server List ได้เลย

หลังจากนั้นเราจะกลับมาสู่หน้า SMS อีกครั้ง

Step 4 เริ่มทำการ migrate

ให้เรากดปุ่ม start เพื่อเริ่มการ migration ได้เลยเมื่อเราพร้อมแล้ว

หลักจากนั้นจะมีหน้า Confirm ชึ้นมาก็ให้เรากด Yes ได้เลย

หลังจาดนั้นเราก็รอจนกระทั้ง migration เสร็จ

หลังจากที่ migrate เสร็จแล้วก็จะได้แบบนี้เลย

ให้เราเข้าไปดูที่ Elastic Cloud Server โดยกดไปที่แถบ 3 ขีดด้านซ้ายมือแล้วค้นหา ECS แล้วกดเข้าไปที่ Elastic Cloud Server ได้เลย

เราก็จะเห็นเครื่อง VM ที่เราพึ่ง migrate มาเสร็จแล้ว เย้ XD

เป็นยังไงครับ ไม่เห็นจะยากเลย(หรอ) หวังว่า blog นี้จะทำให้ผู้อ่านทุกท่านสามารถ migrate เครื่อง VM มายัง Huawei cloud กันได้นะครับ:)