Các bài viết cũ

Upgrade VMware tools không cần reboot

Vấn đề reboot cho một hạ tầng VMware sau khi nâng cấp là một điều nhức nhối cực kỳ. Bạn có thể dễ dàng nâng cấp Host ESXi “no downtime” nhờ vmotion VMs qua host khác nhưng bạn sẽ không dễ gì mà đạt được nodowntime khi muốn upgrade “VMware Tools” chưa nói gì đến upgrade hardware version.

Vậy vấn đề đặt ra có cần phải reboot hay không khi bản thân vmware tools cũng như hầu hết các service hiện nay chỉ cần restart service là “OK”. Nguyên nhân vì bản thân việc upgrade vmware tools chính là cài mới lại service vmware tools với các thư viện, utility…mới và đồng thời quan trọng là nâng cấp “drivers” cho các device đặc biệt trong VMware như các NIC ảo , disks controller…. Việc nâng cấp driver cần thiết phải reboot lại để load lại driver thiết bị nếu không có thể dẫn đến failed device.

Tuy nhiên vẫn có tùy chọn “ẩn” cho phép chúng ta bypass việc reboot. Cách thức của tùy chọn này là đặt các thành phần mới yêu cầu reboot để hoàn tất sẽ đặt ở trạng thái như standby vậy chỉ khi hệ thống reboot mới thực sự active.

Nên tối nhắc lại với các cách thức tôi sẽ hướng dẫn bên dưới sẽ giúp bạn upgrade vmware tools không cần reboot nhưng để tối ưu được tất cả thành phần mới vẫn phải yêu cầu reboot. Tất nhiên lợi điểm là chúng ta có thể “âm thầm” upgrade tất cả và đợi thời điểm bảo trì thích hợp “tiện thể” reboot thì tất cả sẽ active.

Có tất cả là 2 cách thức upgrade hỗ trơ noreboot mà tôi biết:

  • Dùng giao diện vSphere client
  • Dùng PowerCLI

Dùng giao diện vSphere Client

Cách này tôi xem nó là cách đơn giản và trực tiếp nhất nhưng lại tốn sức nhiều nhất (vì sao thì hãy so với cách dưới).

Trước tiên trên giao diện vSphere Client chuột phải icon VM cần upgrade –> Guest –> Install/Upgrade VMware Tools:

image

Trong hộp thoại upgrade chọn Automatic Tools Upgrade với tùy chọn cho phép noreboot như sau:

/s /v/qn ADDLOCAL=ALL REBOOT=ReallySuppress

image

Dùng PowerCLI

Đây là cách thức ưa dùng cho những admin “lười” như tôi. Chỉ vài dòng lệnh tất cả VM mong muốn sẽ tự động upgrade vmware Tools tất nhiên là noreboot nhé

Yêu cầu của cách này là bạn phải cài được PowerCLI rồi muốn lệnh gì thì lệnh nấy đánh ra.

1. Upgrade Vmware Tools tất cả máy ảo trong Cluster:

Get-Cluster "Productie" | Get-VM | Update-Tools –NoReboot

2.Upgrade Vmware Tools dựa trên folder xác định

Get-Cluster "Productie" | Get-Folder "Beheer servers" | Get-VM | Update-Tools –NoReboot

3.Upgrade Vmware Tools, chọn lựa máy ảo xác định trong cluster

Get-Cluster "Productie" | Get-VM "BHR-SVR11" | Update-Tools –NoReboot

Note: bản thân các command trên sẽ chạy tuần tự upgrade từng VM một thêm options “-RunAsync” sẽ cùng lúc upgrade tất cả VMs

image

vSphere 5: HA với tính năng VM Monitoring

image

Chào mọi người đến với bài viết nho nhỏ này để hiểu sâu hơn một “tý” về tính năng HA với VM monitoring. Như đã biết HA của VMware không chỉ dừng lại ở việc đánh giá một Host thế nào là failed và thực hiện các action HA cần thiết là reboot cho một Host failed. Mà VMware còn hỗ trợ việc nhận dạng failed cho cả mức độ từng VM. Điều mà chắc chắn nhất là VMware Tools chính là thành phần tối quan trọng nhất để tính năng này hoạt động. Nó như một trung gian với vai trò là một service trong guest OS cho phép vmware dựa trên các heatbeeat theo thời gian thực để đánh giá được OS này có failed hay không và nếu failed thì phải thực thi các hành động HA cần thiết cho chính VM đó.

Tuy nhiên điều trước giờ tôi và cũng khá nhiều người thắc mắc là liệu với vai trò là một service như thế nó có vô tình vì một lý do nào đó mà “không gửi heartbeat” nữa hay không có thể do đụng độ ứng dụng hay vô tình treo service … nhìu khả năng như thế thì tính năng monitor HA cho Guest OS của VM như thế có vô nghĩa hay không?.

Nhưng thực tế sâu bên dưới lại không phải, không chỉ dựa trên kết quả của một mình Vmware Tools mà đánh giá mà còn dựa trên cả kết quả I/O trên chính VM đó.  Tổng kết như sau nếu như không nhận được hearbeat từ Vmware Tools và cả I/O disk hay network trong thời gian mặc định là 120s thì VM đó được đánh giá là failed OS và cần phải reboot lại.