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 biết 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 bộ điều hợp mạng ảo mà máy ảo sử dụng. Trong bài đăng trên blog này, chúng tôi giải thích cách tìm địa chỉ IP hoặc MAC của máy ảo và cách tìm tên máy ảo khi bạn biết địa chỉ IP hoặc 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 cần thiết theo tên và kiểm tra tabSummary. Các địa chỉ IP của máy ảo 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 hình ảnh minh họa 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 địa chỉ IP trong giao diện web của VMware vSphere Client. Máy ảo phải đang hoạt động.

Kiểm tra địa chỉ MAC trong vSphere Client
Địa chỉ MAC của máy ảo có thể được sử dụng cho 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 Phiên bản miễn phí của ESXi 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 và mật khẩu của tài khoản quản trị viên ESXi.
- Trong
Navigatorbảng điều khiển, nhấp vàoVirtual Machinesvà chọn máy ảo có địa chỉ IP cần xác định. Tương tự như việc 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 informationvà nhấp vàoNetworkingđể 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 như khi 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 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á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 VM trong VMware vSphere cho phép bạn tìm kiếm VM 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 VM bằng địa chỉ IP
Bạn có thể xác định tên VM 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 và 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 của chúng tôi, chúng tôi 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ột 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 chạy 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 VM trên một máy chủ hoặc cụm 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 VM trong một cụm (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 bằng đị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ố phạm vi địa chỉ MAC phổ biến của 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– 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 đị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 VMware.
Khi địa chỉ MAC cho một máy ảo được thiết lập thủ công (trong cài đặt máy ảo), 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 này: 00:50:56:XX:YY:ZZ
- Giá trị thập lục phân được khuyến nghị thay thế 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ộ khoảng giá trị).
Việc tuân thủ các khuyến nghị này giúp bạn tránh xung đột giữa các địa chỉ MAC đã được 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 địa chỉ MAC 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 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.
Tính toán ID duy nhất của vCenter
Hãy khám phá 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) có giao diện mạng sử dụng địa chỉ MAC của 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 giá trị 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ủ độc lập
Bây giờ hãy xem một ví dụ về việc 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.
Trên ả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à đị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
Như bạn có thể thấy, quy tắc hoạt độ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 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áy ảo nếu biết địa chỉ IP hoặc địa chỉ MAC của máy ảo đó. Hiểu rõ nguyên tắc gán địa chỉ MAC VMware cho các máy ảo và các máy khác trong cơ sở hạ tầng ảo VMware có thể giúp bạn phân biệt các máy 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ị kết nối.
Đừng quên sao lưu các máy ảo đang chạy trên VMware vSphere. 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.
