Storage vMotion: Tuyệt chiêu “dọn nhà” cho máy ảo không lo downtime

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

Cảnh báo đỏ lòm trên vCenter vào giờ cao điểm: Bạn sẽ làm gì?

Cảnh tượng này chắc hẳn rất quen thuộc: Bạn đang tập trung xử lý ticket thì hệ thống giám sát báo động đỏ. “Datastore Production_LUN_01 sắp cạn kiệt dung lượng (chỉ còn trống dưới 5%)”. Đây là nơi đặt ổ đĩa của con Server Database gánh toàn bộ hệ thống ERP của công ty. Nếu ổ đĩa đầy, database sẽ bị lock, kéo theo hàng trăm nhân sự phải ngồi chơi xơi nước.

Tại hạ tầng mình quản lý với 8 host ESXi và hơn 200 máy ảo, tình huống này xảy ra như cơm bữa. Có khi do team Dev quên xoay vòng log, hoặc do nhu cầu dữ liệu phình to nhanh hơn dự kiến. Trước đây, cách duy nhất là xin sếp cho “dừng hệ thống 2 tiếng” vào ban đêm để tắt máy ảo và copy file. Nhưng hiện nay, mỗi giờ downtime của một sàn thương mại điện tử có thể gây thiệt hại hàng chục nghìn USD. Việc bắt khách hàng chờ đợi chỉ vì lý do “hết chỗ chứa” là điều không thể chấp nhận được.

Cái giá đắt của việc tắt máy ảo để di chuyển dữ liệu

Tắt máy ảo (Cold Migration) nghe có vẻ an toàn nhưng lại tiềm ẩn nhiều rủi ro hơn bạn tưởng. Khi tắt một server đang chạy ổn định, bạn sẽ đối mặt với:

  • Đứt gãy dịch vụ: Mọi phiên giao dịch đang thực hiện sẽ bị hủy bỏ ngay lập tức.
  • Rủi ro “tắt xong không bật lên được”: Lỗi file hệ thống hoặc xung đột dịch vụ khi khởi động lại là chuyện thường xuyên xảy ra.
  • Áp lực thời gian: Một file VMDK dung lượng 2TB di chuyển qua mạng 1Gbps có thể mất hơn 5 tiếng. Bạn không thể để hệ thống offline lâu như vậy.

Vấn đề nằm ở chỗ dữ liệu máy ảo bị khóa chặt vào một vị trí vật lý trên SAN hoặc NAS. Để xử lý triệt để mà vẫn giữ dịch vụ online, chúng ta cần một cơ chế di chuyển dữ liệu “nóng”.

Storage vMotion – Giải pháp di cư không gián đoạn

Storage vMotion là công nghệ cho phép bạn chuyển toàn bộ file cấu hình và ổ đĩa ảo (VMDK) sang Datastore mới mà không cần tắt máy ảo. Hệ điều hành khách (Guest OS) vẫn hoạt động liên tục. Người dùng cuối thậm chí không hề nhận ra có một cuộc đại tu đang diễn ra ở tầng hạ tầng.

Cơ chế này hoạt động dựa trên kỹ thuật IO Mirroring. Khi bắt đầu di chuyển, mọi tiến trình ghi dữ liệu mới sẽ được thực hiện đồng thời trên cả ổ đĩa nguồn và đích. Sau khi dữ liệu cũ được sao chép hoàn tất, vSphere sẽ thực hiện một cú chuyển đổi (switchover) cực nhanh và xóa dữ liệu tại vị trí cũ.

Checklist trước khi bấm nút Migrate

Để quá trình di chuyển diễn ra mượt mà trên cluster, bạn cần kiểm tra các điều kiện sau:

  • License vSphere phải từ bản Standard trở lên.
  • Host ESXi phải kết nối đồng thời tới cả Datastore nguồn và đích.
  • Nên xóa bỏ các Snapshot cũ. Việc để lại Snapshot sẽ làm tăng thời gian di chuyển và có thể gây Disk Latency vọt lên trên 50ms.
  • Đảm bảo băng thông mạng Storage ổn định, tốt nhất là dùng card 10Gbps.

Các bước thực hiện trên vSphere Client

Thao tác trực tiếp trên giao diện HTML5 rất trực quan:

  1. Chuột phải vào máy ảo, chọn Migrate.
  2. Chọn tùy chọn Change storage only.
  3. Chọn Datastore đích: Ưu tiên các ổ đĩa SSD hoặc các LUN còn trống trên 20% dung lượng để đảm bảo hiệu năng.
  4. Chuyển đổi định dạng (nếu cần): Bạn có thể tranh thủ chuyển từ Thick Provision sang Thin Provision để thu hồi không gian đĩa thừa.
  5. Nhấn Finish và theo dõi tại tab Recent Tasks.

Trong lúc di chuyển, hãy thử chạy lệnh ping -t. Bạn sẽ thấy hệ thống chỉ mất khoảng 1-2 gói tin tại thời điểm chuyển giao cuối cùng.

Tối ưu hóa bằng PowerCLI cho hệ thống lớn

Nếu bạn cần bảo trì cả một tủ đĩa (Storage Array) với hàng chục máy ảo, việc click chuột thủ công sẽ rất mất thời gian. Mình thường dùng script PowerCLI để đẩy nhanh tiến độ.

# Kết nối tới vCenter
Connect-VIServer -Server vcenter.congty.com

# Di chuyển máy ảo SRV-DB-PROD sang Datastore SAN_SSD_NEW
Move-VM -VM "SRV-DB-PROD" -Datastore "SAN_SSD_NEW" -RunAsync

Tham số -RunAsync cực kỳ quan trọng. Nó giúp bạn đẩy lệnh đi liên tục mà không cần chờ tác vụ trước đó kết thúc. vCenter sẽ tự động xếp hàng và thực hiện lần lượt.

Lưu ý thực chiến để tránh “treo” hệ thống

Dù Storage vMotion rất mạnh mẽ, nhưng đừng chủ quan. Dưới đây là 3 kinh nghiệm mình rút ra sau nhiều năm vận hành:

  • Né giờ cao điểm: Quá trình copy dữ liệu tiêu tốn rất nhiều I/O. Nếu thực hiện vào lúc backup tập trung hoặc lúc user truy cập đông, ứng dụng sẽ bị lag rõ rệt.
  • Quy tắc 15%: Đừng bao giờ để Datastore đích đầy quá 85% sau khi di chuyển. Khoảng trống còn lại là cần thiết để máy ảo tạo file swap và snapshot tạm thời.
  • Kiểm tra card mạng vMotion: Nếu bạn di chuyển máy ảo sang một Host khác đồng thời với di chuyển Storage, hãy đảm bảo traffic vMotion được tách biệt trên VLAN riêng để đạt tốc độ cao nhất (khoảng 400-600GB/giờ với mạng 10Gbps).

Thành thạo Storage vMotion giúp bạn chủ động hoàn toàn trong việc quản lý tài nguyên lưu trữ. Bạn sẽ không còn phải lo lắng mỗi khi nhận cảnh báo đầy đĩa hay cần bảo trì phần cứng đột xuất nữa.

Share: