Xác định vị trí các máy ảo VMware theo địa chỉ IP hoặc địa chỉ MAC
Trong một hạ tầng VMware vSphere quy mô lớn, có thể bạn chỉ biết địa chỉ IP của một máy ảo (VM) và cần tên của nó, hoặc ngược lại. Ví dụ: bạn có thể đã có địa chỉ IP để truy cập từ xa vào hệ điều hành khách (guest OS) qua SSH hoặc Giao thức Máy tính Từ xa (RDP), nhưng lại cần tên của máy ảo đó để xác định vị trí của nó trên máy chủ ESXi nhằm thực hiện các tác vụ như cấu hình, di chuyển hoặc sao lưu. Bạn có thể thực hiện các thao tác này thông qua vSphere nhưng không thể thực hiện trực tiếp từ hệ điều hành khách.
Ngoài ra, bạn có thể cần xác định địa chỉ MAC của một bộ điều hợp mạng ảo mà máy ảo đang sử dụng. Trong bài viết blog này, chúng tôi sẽ hướng dẫn cách tìm địa chỉ IP hoặc địa chỉ MAC của một máy ảo, cũng như cách xác định tên của máy ảo khi bạn đã biết địa chỉ IP hoặc địa chỉ MAC.
Kiểm tra địa chỉ IP trong VMware vSphere Client
Cách đơn giản nhất để kiểm tra địa chỉ IP của máy ảo (VM) trong VMware vSphere là sử dụng VMware vSphere Client.
- Trong trình duyệt web, nhập địa chỉ IP của máy chủ vCenter vào thanh địa chỉ, mở vSphere Client và nhập thông tin đăng nhập để đăng nhập.
- Truy cập
Hosts and Clusters, chọn máy ảo (VM) cần thiết theo tên và kiểm tra tabSummary. Các địa chỉ IP của máy ảo trong VMware được hiển thị trong phầnIP addresses. Một máy ảo có thể có nhiều bộ điều hợp mạng ảo và nhiều địa chỉ IP. - Nhấp vào
View all N IP addressesđể hiển thị tất cả các địa chỉ IP được máy ảo sử dụng. - Trong ảnh chụp màn hình bên dưới, bạn có thể thấy một địa chỉ IPv4 và một địa chỉ IPv6 được máy ảo VMware sử dụng. VMware Tools Phải cài đặt trên hệ điều hành khách (OS) để xem các địa chỉ IP trong giao diện web của VMware vSphere Client. Máy ảo phải đang bật nguồn.

Kiểm tra địa chỉ MAC trong vSphere Client
Địa chỉ MAC của máy ảo có thể được sử dụng để chẩn đoán mạng và các mục đích khác.
- Để kiểm tra địa chỉ MAC, nhấp chuột phải vào tên máy ảo trong khung
Navigatorcủa VMware vSphere Client, và trong menu ngữ cảnh, nhấp vàoEdit Settings. - Trong tab
Virtual Hardwarecủa cửa sổEdit Settings, nhấp vào tên bộ điều hợp mạng để kiểm tra địa chỉ MAC của bộ điều hợp mạng ảo được máy ảo sử dụng.
Kiểm tra địa chỉ IP của máy ảo trong VMware Host Client
Nếu bạn đang sử dụng máy chủ ESXi độc lập mà không có VMware vCenter, bạn không thể sử dụng VMware vSphere Client để quản lý môi trường ảo. Điều này xảy ra khi bạn sử dụng ESXi Phiên bản Miễn phí trên máy chủ. Trong trường hợp này, bạn có thể sử dụng VMware Host Client để quản lý máy chủ ESXi qua giao diện web.
- Nhập địa chỉ IP của máy chủ ESXi vào thanh địa chỉ của trình duyệt web và nhập tên người dùng cùng mật khẩu của tài khoản quản trị viên ESXi.
- Trong khung
Navigator, nhấp vàoVirtual Machinesvà chọn máy ảo có địa chỉ IP cần xác định. Tương tự như khi xác định địa chỉ IP VMware của một máy ảo (VM) trong vSphere Client, máy ảo phải đang chạy và VMware Tools phải được cài đặt trên hệ điều hành khách. - Trên trang hiển thị thông tin máy ảo, tìm phần có tiêu đề “
General information” và nhấp vào “Networking” để mở rộng khung và xem các địa chỉ IP mà máy ảo đang sử dụng.
Kiểm tra địa chỉ MAC của máy ảo trong VMware Host Client
- Để kiểm tra địa chỉ MAC của máy ảo trong VMware Host Client, hãy chọn máy ảo giống như khi bạn kiểm tra địa chỉ IP.
- Cuộn xuống trang đến phần
Hardware Configurationtrong giao diện web. - Nhấp vào bộ điều hợp mạng của máy ảo cần thiết để mở rộng các tùy chọn và tìm địa chỉ MAC của bộ điều hợp mạng ảo tương ứng.

Lưu ý: Trong ví dụ này, chúng tôi sử dụng một máy chủ ESXi được quản lý bởi vCenter Server, nhưng chúng tôi đã đăng nhập vào VMware Host Client. Các máy ảo (VM) đã được tạo trong vCenter.
Tính năng tìm kiếm máy ảo (VM) trong VMware vSphere cho phép bạn tìm kiếm máy ảo theo tên nhưng không thể tìm kiếm theo địa chỉ IP hoặc địa chỉ MAC.
Xác định tên máy ảo (VM) qua địa chỉ IP
Bạn có thể xác định tên máy ảo nếu biết địa chỉ IP bằng cách sử dụng vSphere PowerCLI.
- Kết nối với máy chủ ESXi hoặc vCenter và nhập tên người dùng cùng mật khẩu của tài khoản quản trị:
Connect-VIServer ESXi_or_vCenter_IP -User root - Trong trường hợp này, chúng ta kết nối với máy chủ ESXi được quản lý bởi vCenter Server bằng lệnh:
Connect-VIServer 10.10.10.74 -User root - Lệnh đơn giản nhất để hiển thị máy ảo có địa chỉ IP đã định là:
Trong đó 192.168.17.137 là địa chỉ IP của máy ảo cần xác định.Get-VM * |where-object{$_.Guest.IPAddress -match "192.168.17.137"}
Có một phương pháp khác để xác định tên máy ảo nếu bạn biết địa chỉ IP của máy ảo trong PowerCLI. Trong trường hợp này, bạn cần thực thi hai lệnh.
- Xác định địa chỉ IP của máy ảo cần xác định:
$vmIP="192.168.17.137" - Lấy thông tin về máy ảo:
Get-VM * |where-object{$_.Guest.IPAddress -eq $vmIP}|select Name, VMHost, PowerState,GuestId,@{N="IP Address";E={@($_.guest.IPAddress[0])}}|ft
- Nếu bạn biết một phần của địa chỉ IP, bạn có thể hiển thị tất cả các máy ảo có địa chỉ IP khớp với mẫu tìm kiếm.
$vmIP="192.168."
Get-VM * |where-object{$_.Guest.IPAddress -match $vmIP}|select Name, VMHost, PowerState,@{N="IP Address";E={@($_.guest.IPAddress[0])}} ,@{N="OS";E={$_.Guest.OSFullName}},@{N="Hostname";E={$_.Guest.HostName}}|ft
- Dưới đây là lệnh để lấy danh sách tất cả các máy ảo trên một máy chủ hoặc cụm máy chủ và hiển thị địa chỉ IP khi có thể:
Get-VM | Select Name, @{N="IP Address";E={@($_.guest.IPAddress[0])}}
Nhược điểm của phương pháp này là đôi khi địa chỉ IP chỉ được hiển thị một phần.
- Cũng có một lệnh để xem tất cả các máy ảo trong một cụm máy chủ (tên cụm chứa chuỗi
“cluster”) và hiển thị địa chỉ IP khi có thể:
Get-Cluster "*cluster*" | Get-VM | Select Name, Host, @{N="IP Address";E={@($_.guest.IPAddress[0])}}Thay đổi[0]thành[1]nếu bạn muốn hiển thị địa chỉ IP thứ hai. Bạn có thể xóa các ký tự này khỏi lệnh để xem sự khác biệt trong kết quả hiển thị.
Xác định tên máy ảo (VM) qua địa chỉ MAC
Bạn cũng có thể sử dụng VMware PowerCLI để xác định tên máy ảo (VM) nếu biết địa chỉ MAC của máy ảo đó.
- Kết nối với máy chủ ESXi hoặc vCenter trong VMware PowerCLI. Trong ví dụ của tôi, tôi kết nối với máy chủ ESXi được đề cập trong ví dụ trước:
Connect-VIServer 10.10.10.74 -User root - Xác định địa chỉ MAC của máy ảo và tìm tên của máy ảo này:
$vmMAC="00:50:56:84:C4:5F"
Get-VM | Get-NetworkAdapter | Where-Object {$_.MacAddress -eq $vmMAC } | Select-Object Parent,Name,MacAddress
- Bạn có thể kết nối với máy chủ ESXi qua SSH và sử dụng Dòng lệnh ESXi (giao diện) để xác định tên máy ảo dựa trên địa chỉ MAC của máy ảo.
find /vmfs/volumes | grep .vmx$ | while read i; do grep -i "00:50:56:84:C4:5F" "$i" && echo "$i"; done
Địa chỉ MAC của máy ảo trong môi trường VMware
Địa chỉ MAC không được gán ngẫu nhiên. Nửa đầu của địa chỉ MAC thường liên quan đến nhà sản xuất phần cứng hoặc phần mềm tương ứng.
Các địa chỉ MAC bắt đầu bằng 00:50:56 là địa chỉ MAC của VMware, thuộc về các máy ảo VMware, như đã thấy trong các ví dụ trước đây khi chúng ta xác định địa chỉ MAC của các máy ảo VMware.
Có bốn cách gán địa chỉ MAC cho VMware: 00:50:56, 00:0C:29, 00:05:69, 00:1C:14. Hãy xem xét một số nhóm phổ biến của dải địa chỉ MAC VMware:
00:50:56– VMware Workstation, VMware vSphere, máy chủ VMware ESXi00:50:56:80:00:00 - 00:50:56:BF:FF:FF– vCenter, các máy ảo VMware vSphere được quản lý bởi vCenter00:0C:29– Các máy chủ ESXi độc lập, VMware Horizon, VMware Workstation00:05:69– VMware ESXi, VMware GSX00:1C:14– VMware
Mã định danh duy nhất của tổ chức (OUI) được sử dụng làm tiền tố cho các địa chỉ MAC của VMware theo sơ đồ phân bổ OUI của VMware. VMware vCenter và các máy chủ ESXi sử dụng các tiền tố khác nhau cho địa chỉ MAC để tránh xung đột địa chỉ MAC trong các tình huống mà máy chủ không được kết nối với vCenter Server nhưng có thể được kết nối với vCenter sau này. Nếu một máy chủ ESXi được quản lý bởi vCenter, thì vCenter sẽ tạo ra các địa chỉ MAC VMware vSphere cho các máy ảo (VM) của VMware.
Khi địa chỉ MAC cho một máy ảo (VM) được thiết lập thủ công (trong cài đặt VM), tiền tố (ba octet đầu tiên) sẽ được giữ nguyên tự động. Nửa sau của địa chỉ MAC có thể được tùy chỉnh.
Nếu bạn muốn thiết lập địa chỉ MAC cho một máy ảo VMware theo cách thủ công, hãy sử dụng mẫu sau: 00:50:56:XX:YY:ZZ
- Giá trị thập lục phân được khuyến nghị thay cho
XXlà một số nằm trong khoảng từ00đến3F. - Các số hợp lệ cho các trường
YYvàZZnằm trong khoảng từ00đếnFF(toàn bộ phạm vi).
Việc tuân theo các khuyến nghị này sẽ giúp bạn tránh xung đột giữa các địa chỉ MAC mà bạn đã thiết lập thủ công với các địa chỉ MAC của VMware được tạo tự động bởi VMware vCenter và các địa chỉ MAC được gán cho các bộ điều hợp VMkernel. Lưu ý rằng giá trị tối đa cho một địa chỉ MAC của VMware có thể được thiết lập thủ công là 00:50:56:3F:FF:FF nếu sử dụng tiền tố 00:50:56 (OUI). Phương pháp này cũng giúp phân biệt các địa chỉ MAC của VMware được gán thủ công và tự động. Đừng quên rằng tất cả các địa chỉ MAC trong mạng phải là duy nhất.
Cách tính ID duy nhất của vCenter
Hãy cùng tìm hiểu các khía cạnh khác trong việc xác định địa chỉ MAC của VMware vCenter.
Như đã giải thích ở trên, địa chỉ MAC cho vCenter được gán từ dải (00:50:56:80:00:00 - 00:50:56:BF:FF:FF) theo định dạng 00:50:56:XX:YY:ZZ .
Trong trường hợp này, giá trị XX được tính toán dựa trên ID duy nhất của vCenter.
XX=80+vCenterID
Nếu bạn biết địa chỉ MAC của vCenter, bạn có thể tính toán ID duy nhất của máy chủ vCenter (có thể từ 0 đến 63).
Hãy xem một ví dụ khi máy chủ vCenter được triển khai dưới dạng máy ảo (VM) và giao diện mạng của nó có địa chỉ MAC VMware:
00:50:56:9B:48:55
Trừ 80 khỏi 9B (hệ thập lục phân). Bạn có thể sử dụng công cụ tính toán tại HEX .
0x9B - 0x80 = 0x1B
Chuyển đổi giá trị HEX sang hệ thập phân:
0x1B = 27
ID duy nhất của vCenter trong trường hợp này là 27 .
Địa chỉ MAC của VMware cho các máy ảo trên máy chủ ESXi độc lập
Bây giờ hãy xem một ví dụ về cách tạo địa chỉ MAC cho các máy ảo trên máy chủ ESXi độc lập để hiểu cách địa chỉ MAC của máy ảo được tạo ra trên máy chủ ESXi độc lập và nắm rõ nguyên tắc tạo địa chỉ. Sáu ký tự cuối cùng của mã định danh duy nhất toàn cầu (UUID) của máy ảo được sử dụng để điền vào ba octet cuối cùng của địa chỉ MAC VMware của máy ảo đó. Ba octet đầu tiên của địa chỉ MAC VMware cho một máy ảo được tạo trên máy chủ ESXi độc lập là 00:0C:29.
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy một máy ảo với các thông số:
Địa chỉ MAC: 00:0C:29:B0:3E:1D
Tên máy ảo: Windows-VM
Hãy kiểm tra UUID của máy ảo và so sánh các ký tự cuối cùng của UUID với địa chỉ MAC của máy ảo.
Bạn có thể kiểm tra UUID của một máy ảo bằng lệnh này trong PowerCLI:
Get-VM Windows-VM | %{(Get-View $_.Id).config.uuid}
Trong trường hợp của chúng ta, UUID là 564df9a2-261e-869e-5a1d-d118abb03e1d
và địa chỉ MAC là <em>00:0C:29:B0:3E:1D</em>
Như bạn có thể thấy, quy tắc này hoạt động đúng. 
Kết luận
Bạn có thể kiểm tra địa chỉ MAC và địa chỉ IP của một máy ảo (VM) trong giao diện người dùng đồ họa (GUI) của VMware vSphere Client và VMware Host Client. Ngoài ra, bạn có thể sử dụng dòng lệnh ESXi hoặc PowerCLI để xác định địa chỉ MAC của một máy ảo nếu biết tên của máy ảo đó. Bạn cũng có thể sử dụng VMware PowerCLI để xác định tên của một máy ảo nếu biết địa chỉ IP hoặc địa chỉ MAC của máy ảo đó. Việc nắm rõ các nguyên tắc gán địa chỉ MAC của VMware cho các máy ảo và các thiết bị khác trong hạ tầng ảo hóa VMware có thể giúp bạn phân biệt các thiết bị liên quan đến VMware với các thiết bị khác trong mạng khi kiểm tra địa chỉ MAC của các thiết bị được kết nối.
Đừng quên sao lưu các máy ảo đang chạy trên VMware vSphere. Hãy sử dụng phần mềm sao lưu VMware ESXi đáng tin cậy như NAKIVO Backup & Replication để bảo vệ dữ liệu một cách toàn diện. Giải pháp này hỗ trợ sao lưu máy ảo, sao lưu máy chủ vật lý, sao lưu cơ sở dữ liệu và sao lưu Microsoft 365.
