Computer >> Máy Tính >  >> Phần mềm >> Máy ảo

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

vMotion cho phép di chuyển một máy ảo VMWare đang chạy từ một máy chủ ESXi vật lý sang một máy chủ khác mà không làm gián đoạn hoạt động của nó và dừng bất kỳ dịch vụ nào. Trong bài viết này, chúng ta sẽ thảo luận về các tính năng của VMWare vMotion:cách vMotion hoạt động, các loại vMotion tồn tại và cách di chuyển máy ảo giữa các máy chủ hoặc kho lưu trữ ESXi theo cách thủ công. Chúng tôi cũng sẽ xem xét các phương pháp khắc phục sự cố và tối ưu hóa vMotion điển hình.

Như chúng tôi đã nói, vMotion cho phép bạn thực hiện di chuyển trực tiếp của máy ảo mà không có bất kỳ thời gian chết hoặc làm gián đoạn công việc của người dùng. vMotion không được định vị như một cách để cung cấp cho VM tính sẵn sàng cao. Trước hết, nó là một công cụ đơn giản và thuận tiện để di chuyển các máy ảo hiệu quả, khi bạn phải bảo trì / cập nhật / thay thế các máy chủ vật lý bằng các mảng lưu trữ hoặc siêu giám sát ESXi đã được cài đặt. Ngoài ra, DRS (Trình lập lịch tài nguyên động), một công nghệ cho phép phân phối (cân bằng) tải của các máy chủ vật lý, dựa trên vMotion.

Một công nghệ tương tự của Microsoft để di chuyển máy ảo giữa các máy chủ Hyper-V được gọi là Hyper-V Live Migration.

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

VMWare vMotion hoạt động như thế nào?

Để di chuyển một máy ảo giữa các máy chủ vật lý bằng vMotion, các thành phần VMWare sau được sử dụng:

  • Một VMWare vCenter máy chủ quản lý;
  • Một bộ nhớ dùng chung (được kết nối bằng Fibre Channel, iSCSI hoặc NAS), nơi lưu trữ các tệp máy ảo. Bộ nhớ dùng chung cho phép nhiều máy chủ ESXi vật lý truy cập các tệp của cùng một máy ảo trong SAN;
  • Một mạng nhanh được chia sẻ (ít nhất 1GB Ethernet) giữa các máy chủ ESXi nguồn và đích. Khi di chuyển một máy ảo, nó vẫn giữ lại địa chỉ MAC ban đầu và vMotion thông báo cho một bộ chuyển mạng rằng vị trí của địa chỉ MAC của máy ảo đã thay đổi. Nó cho phép duy trì các kết nối mạng đang hoạt động;
  • Khả năng tương thích của CPU trên máy chủ hoặc đã bật tùy chọn Tương thích vMotion nâng cao (EVC).

vMotion thực hiện di chuyển trực tiếp như thế nào? Đầu tiên, một bản sao bóng của một máy ảo nguồn có cùng cấu hình (từ tệp VMX) được tạo trên máy chủ đích. Máy ảo nhân bản nhìn thấy tất cả các tệp máy ảo trên bộ nhớ dùng chung. Nội dung RAM và trạng thái của máy ảo đang chạy được chuyển qua mạng từ nguồn đến máy chủ ESXi đích. vMotion tạo một ảnh chụp nhanh bộ nhớ VM và sao chép nó vào máy chủ đích qua mạng. Đồng thời, vMotion theo dõi các thay đổi trên các trang bộ nhớ và chỉ sao chép các đoạn bộ nhớ đã sửa đổi (nó có thể xảy ra trong nhiều giai đoạn, mỗi lần sao chép ít dữ liệu hơn và mất ít thời gian hơn).

Tại một số điểm, trạng thái của máy ảo nguồn bị đóng băng, các phân đoạn bộ nhớ đã thay đổi và các lệnh CPU được sao chép và máy ảo được khởi động trên máy chủ ESXi đích. Toàn bộ quá trình này mất vài giây đối với một máy ảo cỡ trung bình trên mạng Ethernet 1/10 GB.

Các loại VMware vMotion

Theo vMotion, VMWare có nghĩa là một tổng thể các công nghệ khác nhau cho phép bạn di chuyển nhanh các máy ảo đang chạy giữa các máy chủ, mảng lưu trữ, thành phố hoặc tại chỗ và cơ sở hạ tầng đám mây.

vMotion các loại:

  1. Chuẩn vMotion - di chuyển một máy ảo đang chạy giữa các máy chủ ESXi;
  2. Bộ nhớ vMotion - di chuyển trực tuyến các tệp máy ảo giữa các kho dữ liệu (mảng lưu trữ SAN, NAS, vVol, NFS, v.v.);
  3. Chia sẻ-Không có gì vMotion - di chuyển máy ảo giữa các máy chủ ESXi trong mạng mà không sử dụng bộ nhớ dùng chung (cần có mạng L2);
  4. vMotion Khoảng cách dài - di chuyển máy ảo giữa các địa điểm ở xa (Thời gian khứ hồi tối đa lên đến 150 mili giây, bao gồm cả mạng L3). Nó được giới thiệu trong vSphere 6.0;
  5. vSphere vMotion được mã hóa - cho phép mã hóa VM khi truyền nó qua mạng (có sẵn trong vSphere 6.5);
  6. Di chuyển giữa các đám mây lạnh và nóng - di chuyển trực tuyến hoặc ngoại tuyến giữa cơ sở hạ tầng tại chỗ và cơ sở hạ tầng đám mây.

Tính năng vMotion của VMware Storage vMotion

Như chúng tôi đã nói, Storage vMotion cho phép bạn di chuyển các tệp của máy ảo đang chạy (đĩa ảo vmdk và tệp cấu hình) sang một kho dữ liệu VMFS / NFS / vVol khác (LUN, mảng lưu trữ) mà không cần dừng VM.

Yêu cầu để chạy Storage vMotion thành công:

  • Loại đĩa VM phải liên tục hoặc RDM;
  • Di chuyển máy ảo trong quá trình cài đặt Công cụ VMware không được hỗ trợ;
  • Phiên bản VMFS của kho dữ liệu quan trọng đối với việc di chuyển. Ví dụ:bạn không thể di chuyển tệp vmdk hơn 2 TB từ VMFS5 sang VMFS3;
  • Giấy phép trên máy chủ ESXi;
  • Máy chủ lưu trữ mà máy ảo đang chạy phải có quyền truy cập vào cả kho dữ liệu nguồn và đích;
  • Công nghệ Theo dõi Khối đã Thay đổi (CBT) được sử dụng khi sao chép đĩa máy ảo. Nó cho phép theo dõi các khối dữ liệu đã thay đổi và sao chép chúng.

Khả năng tương thích vMotion (EVC) nâng cao trong VMWare

Khả năng tương thích vMotion nâng cao (EVC) chế độ cho cụm VMware HA / DRS được sử dụng nếu cụm này dựa trên các máy chủ có CPU thuộc các thế hệ khác nhau (nhưng không phải nhà sản xuất !!!). Nếu bạn bật EVC cho một cụm, một siêu giám sát sẽ bắt đầu che các hướng dẫn CPU không được tất cả các máy chủ hỗ trợ. Khi EVC được bật, tất cả các tính năng CPU của máy chủ ESXi trong một cụm trở nên tương thích với một số hướng dẫn bộ xử lý tối thiểu cơ bản do quản trị viên vSphere đặt trong cài đặt cụm.

Do đó, nhờ EVC, bạn có thể di chuyển một máy ảo giữa các máy chủ với các bộ hướng dẫn bộ xử lý được hỗ trợ khác nhau.

Không kết hợp máy chủ với các nhà cung cấp bộ xử lý khác nhau, như Intel hoặc AMD, trong cùng một cụm vSphere. EVC cho phép đạt được khả năng tương thích giữa các bộ xử lý của cùng một nhà cung cấp.

Bạn có thể bật VMWare EVC ở cấp độ cụm. Đi tới Định cấu hình -> Cấu hình -> VMWare EVC và nhấp vào Chỉnh sửa .

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Nếu bạn bật EVC cho một cụm, bạn sẽ phải chọn chế độ EVC (cho máy chủ AMD hoặc Intel) và chọn từ danh sách thả xuống thế hệ CPU tối thiểu của nhà cung cấp này mà bạn có trong cụm VMWare của mình.

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

VMWare khuyên bạn nên luôn bật EVC cho dù bạn có máy chủ nào trong cụm của mình. Nếu bạn muốn mở rộng cụm của mình, bạn sẽ dễ dàng thực hiện điều đó hơn. Thậm chí còn có một bài viết KB riêng biệt chứng minh rằng ngay cả khi máy ảo của bạn không sử dụng bộ hướng dẫn CPU đầy đủ, nó sẽ không ảnh hưởng đến hiệu suất máy chủ.

VMware vSphere 6.7 giới thiệu các công nghệ di chuyển giữa đám mây và tại chỗ (Cross-Cloud Cold and Hot Migration). Để di chuyển máy ảo sang đám mây, giờ đây bạn có thể bật Per-VM EVC trong cài đặt VM (có sẵn trong vSphere 6.7 với Phiên bản phần cứng 14).

Bạn có thể đặt các mức EVC cơ bản cho một máy ảo trong một cụm bằng PowerCLI:

Get-VM | Select Name,HardwareVersion,
@{Name='VM_EVC_Mode';Expression={$_.ExtensionData.Runtime.MinRequiredEVCModeKey}},
@{Name='Cluster_Name';Expression={$_.VMHost.Parent}},
@{Name='Cluster_EVC_Mode';Expression={$_.VMHost.Parent.EVCMode}} | ft

Để có được chế độ EVC được hỗ trợ tối đa:
Get-VMHost | Select-Object Name,ProcessorType,MaxEVCMode

Cách bật vMotion trong VMWare vSphere?

Hãy xem cách bật và định cấu hình vMotion trong VMWare vSphere 6.7. Để sử dụng vMotion, chỉ cần có giấy phép Essentials Plus VMWare.

vMotion được bật tại VMkernel cấp của công tắc ảo máy chủ ESXi. Chọn máy chủ lưu trữ và đi tới Định cấu hình -> Kết nối mạng -> Bộ điều hợp VMkernel .

Chọn bộ điều hợp VMkernel của bạn và nhấp vào Chỉnh sửa .

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Trong thuộc tính cổng vmk, hãy bật vMotion trong Dịch vụ được bật phần .

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Trong ví dụ của tôi, cụm VMWare HA đã được tạo và vSphere Distributed Switch (VDS) được sử dụng.

Cách di chuyển máy ảo giữa các máy chủ bằng vMotion?

Để di chuyển một máy ảo đang chạy giữa hai máy chủ ESXi, hãy mở Máy khách vSphere, nhấp chuột phải vào máy ảo bạn muốn di chuyển và chọn Di chuyển .

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Chọn kiểu di chuyển bạn muốn sử dụng:

  • Chỉ thay đổi tài nguyên máy tính - di chuyển một máy ảo sang một máy chủ ESXi khác;
  • Chỉ thay đổi bộ nhớ - điều này có nghĩa là Storage vMotion (thay đổi kho dữ liệu nơi chứa các tệp VM);
  • Thay đổi cả tài nguyên máy tính và bộ nhớ - một chế độ di chuyển không có bộ nhớ dùng chung (vMotion không có bộ nhớ dùng chung / Chia sẻ-Không có gì), các tệp VM được sao chép giữa các máy chủ qua mạng

Tôi đã chọn tùy chọn đầu tiên.

Trình hướng dẫn di chuyển sẽ đề nghị bạn chọn một máy chủ lưu trữ, một cụm, một nhóm tài nguyên hoặc một vApp để di chuyển máy ảo đến. Chọn máy chủ. Nếu vMotion được định cấu hình chính xác và không tìm thấy xung đột nào, bạn sẽ thấy Kiểm tra khả năng tương thích đã thành công trong phần Khả năng tương thích phần.

Nếu bạn thấy bất kỳ lỗi nào trong tab tương thích, hãy nghiên cứu kỹ lưỡng và sửa chúng.

Nhấp vào Tiếp theo.

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Trình hướng dẫn di chuyển máy ảo sẽ nhắc bạn chọn mạng để đặt vNIC của máy ảo trên máy chủ đích. Nếu bạn muốn VM khả dụng sau khi di chuyển, hãy đặt nó trong cùng một phân đoạn mạng (VLAN) như trên máy chủ nguồn. Nếu bạn đang sử dụng Công tắc vSphere tiêu chuẩn, hãy tạo cùng một Nhóm cổng trên tất cả các máy chủ ESXi. Khi sử dụng VDS, các nhóm cổng trên tất cả các máy chủ cụm đều giống nhau.

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Trong bước cuối cùng, hãy chọn mức độ ưu tiên của tác vụ vMotion. Theo mặc định, mức độ ưu tiên cao nhất được sử dụng ( Lập lịch vMotion với mức độ ưu tiên cao ). Tôi luôn sử dụng nó.

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Sau đó, nhấp vào Tiếp theo -> Kết thúc và quá trình di chuyển máy ảo sang máy chủ khác sẽ bắt đầu. Bạn có thể theo dõi trạng thái di chuyển trong Công việc gần đây bảng điều khiển ( Định vị lại máy ảo bài tập). Trong trường hợp của tôi, quá trình di chuyển máy ảo sử dụng vMotion trên 10 GB Ethernet mất khoảng 3 giây.

Đảm bảo rằng máy ảo của bạn hiện đang chạy trên một máy chủ ESXi khác.

Câu hỏi thường gặp:Di chuyển trực tiếp máy ảo với VMWare vMotion

Bạn có thể di chuyển một máy ảo đang chạy sang một máy chủ khác trong PowerCLI bằng cách sử dụng Move-VM Lệnh ghép ngắn PowerShell. Ví dụ:chúng tôi muốn di chuyển tất cả các máy ảo từ mun-esxi01 sang mun-esxi02:

Get-VMHost mun-esxi01|Get-Vm| Move-VM –Destination (Get-VMHost mun-esxi02)

Tại sao VMWare vMotion không hoạt động?

Dưới đây là danh sách các lý do điển hình khiến vMotion có thể bị lỗi hoặc quá trình di chuyển VM có thể rất chậm:

  • Tính không tương thích của CPU (bật chế độ Tương thích EVC / Nâng cao vMotion);
  • vMotion không được bật trong giao diện VMkernel;
  • Cài đặt mạng không chính xác của máy chủ ESXi hoặc thiết bị chuyển mạch ảo, nhóm cổng (Khung Jumbo được định cấu hình không chính xác, xung đột địa chỉ IP trong mạng vMotion, cài đặt vSwitch không chính xác, mạng chậm, mất gói);
  • Không có bộ nhớ dùng chung (đối với vSphere phiên bản 5.1 trở xuống). Trong vSphere 5.1 trở lên Shared-Không có VMotion nào khả dụng;
  • Đĩa CD / DVD hoặc ảnh ISO không khả dụng trên máy chủ đích;
  • Đã bật quy tắc Chống đối tượng chung sở thích;
  • Công cụ VMWare đang được cài đặt trong hệ điều hành khách;
  • Nếu hệ điều hành khách đang chủ động thay đổi nội dung RAM của nó, vMotion có thể bị trễ để chuyển dữ liệu đã sửa đổi sang bản sao máy ảo trên một máy chủ khác qua mạng;
  • Nếu máy chủ đích không có đủ tài nguyên CPU hoặc RAM để tạo máy ảo ẩn, vMotion sẽ không thành công do lỗi.
Nếu xảy ra lỗi di chuyển vMotion, máy ảo của bạn không tắt và vẫn đang chạy trên máy chủ nguồn.

Cách cải thiện / tối ưu hóa tốc độ vMotion để di chuyển máy ảo nhanh chóng?

Bạn có thể tăng tốc quá trình di chuyển máy ảo của mình theo một số cách.

  • Trước hết, tốt hơn là sử dụng mạng có hiệu suất cao nhất giữa hai máy chủ ESXi. Sử dụng mạng ít nhất 10 GB, 25 GB thậm chí còn tốt hơn (bộ điều hợp mạng của máy chủ ESXi của bạn và công tắc vật lý phải hỗ trợ chế độ này);
  • Sử dụng các giao diện vật lý khác nhau cho lưu lượng truy cập vMotion;
  • Quá trình di chuyển vMotion sử dụng các luồng (còn gọi là luồng). Một luồng được tạo cho mỗi VMkernel với vMotion được bật. Tuy nhiên, luồng này chỉ có thể sử dụng một lõi bộ xử lý.

Để cung cấp nhiều lõi CPU cho các quy trình vMotion, hãy tạo nhiều giao diện VMkernel, bật vMotion cho chúng và liên kết chúng với một giao diện NIC. Một luồng vMotion có thông lượng trung bình khoảng 15 GbE, do đó, để tải 100 GbE, bạn cần 6 luồng.

Ngoài ra, bạn có thể tăng số lượng chuỗi vMotion cho giao diện VMkernel bằng cách sử dụng Migrate.VMotionStreamHelpers trong Cài đặt Hệ thống Nâng cao.