Trang chủTin tứcVMware PowerCLI - Các lệnh cơ bản và ví dụ thực tiễn (Phần 1)
VMware PowerCLI - Các lệnh cơ bản và ví dụ thực tiễn (Phần 1)

Bài viết cung cấp các lệnh cơ bản và các ví dụ thực tiễn giúp bạn triển khai, giám sát và tự động hóa các tác vụ trong môi trường VMware PowerCLI của mình.

Trong môi trường ảo hóa vSphere của VMware, việc quản lý và tự động hóa các tác vụ là rất quan trọng để tối ưu hóa hiệu suất hệ thống. VMware PowerCLI là một công cụ mạnh mẽ dựa trên PowerShell giúp quản trị viên thực hiện các thao tác quản lý hàng loạt và tự động hóa các tác vụ trên vSphere. Trong bài viết này, chúng ta sẽ tập trung vào các lệnh cơ bản của VMware PowerCLI và cung cấp các ví dụ thực tiễn để bạn có thể bắt đầu sử dụng công cụ này một cách hiệu quả. Chúng mình sẽ chia nhỏ các bài viết ra và mỗi bài viết sẽ tìm hiểu theo 10 mục lớn, hãy đón xem các bài viết của chúng mình nhé.

>>> Xem thêm: VMware PowerCLI - Cài đặt kết nối đến vCenter Server trên Windows

Các lệnh cơ bản và ví dụ thực tiễn với VMware PowerCLI
Các lệnh cơ bản và ví dụ thực tiễn với VMware PowerCLI

1. Connect to vCenter system

Để làm được các điều cao siêu hơn trên VMware PowerCLI thì việc đầu tiên cần phải biết là làm sao để kết nối đến vCenter Server. Để kết nối đến vCenter Server thì bạn có thể tham khảo lệnh sau.

Connect-VIServer -Server vcenter.quang.local -Protocol https -User 'MyAdministratorUser' -Password 'MyPassword'

Bên trên là lệnh đầy đủ để ta kết nối đến vCenter Server, nhưng ta có thể giản lược bằng lệnh sau sau đó sẽ nhập user và password sau.

Connect-VIServer -Server vcenter.quang.local

Lệnh kết nối VMware PowerCLI đến vCenter Server
Lệnh kết nối VMware PowerCLI đến vCenter Server

2. Manage Virtual Machines

Sau khi đã kết nối thành công, chúng ta sẽ tìm hiểu cách quản lý các máy ảo trên vSphere bằng cách sử dụng các cmdlet như Get-VM, Start-VM, Stop-VMRemove-VM. Chúng ta sẽ cùng nhau thực hiện các hoạt động như khởi động, tắt, và xóa máy ảo.

Xem toàn bộ virtual machine target tới vCenter.

Get-VM

Xem toàn bộ virtual machine target tới vCenter
Xem toàn bộ virtual machine target tới vCenter

Lưu thông tin và trạng thái hoạt động của 1 máy ảo ra một file trên Windows.

$respool = Get-ResourcePool

Get-VM -Location $respool | Select-Object Name, PowerState > infovm.txt

Lưu ý : Các lệnh ta sử dụng sẽ thực hiện trên vCenter nhưng đường dẫn thư mục sẽ chỉ được tính trên máy Windows của chúng ta. Và còn 1 điều nữa là các biến ta ta đặt tên sẽ chỉ tính trên phiên đăng nhập mà ta đang sử dụng nên khi kết thúc phiên hoạt động thì các biến này sẽ biến mất. Ví dụ ở đây chính là biến $respool.

Bật máy ảo. Tên máy ảo thì ta có thể tham khảo lệnh trước đó.

Start-VM [tên máy]

Ta có thể lấy thông tin chi tiết của máy ảo và lưu ra file bằng lệnh. Lưu ý file này sẽ được lưu trên máy laptop của chúng ta nên chúng ta cần chuyển vị trí đứng hiện tại của mình đến nơi cần lưu, ở đây tôi sẽ lấy ví dụ sẽ lưu vào desktop, bạn hãy thay tên user cho phù hợp với máy mình nhé.

cd C:\Users\admin\Desktop\Powershell

Get-VMGuest ADDC|fc >ADDC.txt

Hướng dẫn sử dụng VMware PowerCLI 1
Hình 4: Câu lệnh hướng dẫn sử dụng VMware PowerCLI

File lưu ra sẽ là thông tin chi tiết của máy ảo, Bạn có thể từ file này mà tìm được bất cứ thông tin gì của máy ảo.

File lưu ra sẽ là thông tin chi tiết của máy ảo
File lưu ra sẽ là thông tin chi tiết của máy ảo

Shutdown OS (Tắt hệ điều hành)

Stop-VMGuest [tên máy]

Power off VM (Tắt nguồn máy ảo)

Stop-VM [tên máy]

Di chuyển máy ảo từ host 1 sang host 2

Get-VM -Name ADDC-NEW -Location 172.16.66.44 | Move-VM –Destination 172.16.66.43

3. Quản lý các host trên vcenter

Tiếp theo, chúng ta sẽ làm quen với quản lý host trên vCenter bằng cách sử dụng cmdlet Get-VMHost, Restart-VMHostStop-VMHost. Chúng ta sẽ biết được cách lấy danh sách các host, khởi động lại hoặc tắt host từ xa.

Xem các host trên vCenter.

get-vmhost

Xem các host trên vCenter
Xem các host trên vCenter

Thêm host vào vcenter. Ta có thể chỉ định host đó sẽ nằm ở Data Center nào hay Cluster nào. Ở đây tôi sẽ lấy ví dụ về thêm host vào Cluster-1

Add-VMHost -Name [tên host]-Location Cluster-1 -User root -Password [password]

4. Setup lisence key cho host

Chức năng cấu hình license key cho host cũng là một trong những điểm quan trọng trong quản lý vSphere. Đôi khi một vài chức năng hay dịch vụ yêu cần phải có license key phù hợp. Chúng ta sẽ học cách sử dụng cmdlet Set-VMHost để thiết lập license key cho host một cách đơn giản và hiệu quả.

Set-VMHost -VMHost [tên host] -LicenseKey 00000-00000-00000-00000-00000

Nếu các bạn chưa có Licence thì có thể tham khảo một số lisence sau:

vSphere 7 Enterprise

4A4HH-A129H-M88V0-U9ANH-07R34

vCenter Server 7 Standard

4U6E0-FP015-H80T9-A09N0-36U0F

BONUS:

vCenter Server 7 Foundation

HZ2D0-6F11N-M89F0-HT1QH-AUAL0

vCenter Server 7 Essentials

NZ4W8-FNJEH-M8E09-TLCX0-82AQ4

VMware vSphere ESXi 7.0 Enterprise Plus key

JJ2WR-25L9P-H71A8-6J20P-C0K3F

HN2X0-0DH5M-M78Q1-780HH-CN214

JH09A-2YL84-M7EC8-FL0K2-3N2J2

5. Activate Maintenance Mode

Cuối cùng, chúng ta sẽ khám phá cách kích hoạt chế độ bảo trì cho host sử dụng cmdlet Set-VMHost. Chế độ bảo trì là rất hữu ích khi bạn cần thực hiện các công việc bảo trì và cập nhật hệ thống. Lưu ý chế độ bảo trì này yêu cầu không có máy ảo nào đang hoạt động trên host. Ta có thể chuyển hết toàn bộ máy ảo sang host khác hoặc bật tính năng DRS trên Cluster chứa host đó lên.

Set-VMHost -VMHost [tên host] -State "Maintenance" -RunAsync

6. Create vSphere Inventory Objects

Lấy thông tin Inventory root và tạo 1 thư mục trên đó.

$folder = Get-Folder -NoRecursion | New-Folder -Name NEW

Tạo 1 datacenter (Ta có thể chỉ định thư mục lưu trữ).

New-Datacenter -Location $folder -Name Data-centre2

Tạo một folder bên trong datacenter.

Get-Datacenter Data-centre2 | New-Folder -Name Folder1

Tạo một cluster bên trong thư mục.

New-Cluster -Location folder1 -Name Cluster1 -DrsEnabled -DrsAutomationLevel FullyAutomated

Kết quả thu được khi thực hiện toàn bộ lệnh 
Kết quả thu được khi thực hiện toàn bộ lệnh 

7. Manage Virtual Machine Templates on vCenter Server

Tạo template từ 1 VM

New-Template -VM ADDC -Name Template-ADDC -Location (Get-Datacenter Data-center1 )

Sử dụng template để tạo một máy ảo

New-VM -Name "TEST-VM" -VMHost [tên host] -Template (Get-Template -Name "Template-ADDC")

Convert template thành máy ảo

Get-Template Template-ADDC | Set-Template -ToVM -Name ADDC-test

Kết quả thu được khi thực hiện thành công các câu lệnh về template
Kết quả thu được khi thực hiện thành công các câu lệnh về template

8. quản lý snapshot

Tạo snapshot cho 1 máy ảo.

get-vm -name TEST-VM | New-Snapshot -Name Snapshot-test

Tạo snapshot cho 1 máy ảo
Tạo snapshot cho 1 máy ảo

Khôi phục máy ảo từ trạng thái snapshot.

Set-VM -VM (get-vm -name TEST-VM) -Snapshot ( Get-Snapshot -VM TEST-VM -Name Snapshot-test)

Xóa snapshot

Remove-Snapshot -Snapshot ( Get-Snapshot -VM TEST-VM -Name Snapshot)

Tham khảo câu lệnh khôi phục toàn bộ máy ảo với snapshot.

$VMs = Get-ResourcePool MyRP01 | Get-VM

foreach( $vm in $VMs ) { Set-VM -VM $vm –Snapshot InitialSnapshot }

9. Update cấu hình máy ảo

Thay đổi cấu hình của máy ảo như CPU, RAM, ổ đĩa, mạng, v.v.

Set-VM -VM [tên máy] -MemoryGB 4 -NumCPU 2

Thay đổi cấu hình của máy ảo
Thay đổi cấu hình của máy ảo

10. Di chuyển máy ảo sang máy chủ khác bằng VMware vSphere vMotion

Tính năng này sẽ thực hiện được khi trê n 2 host đồng thời được cấu hình tính năng vMotion.

Get-VM VM1 | Move-VM -Destination (Get-VMHost ESXHost2)

Tổng kết

Với những kiến thức về câu lệnh và ví dụ được cung cấp trong bài viết này, bạn sẽ có đủ nền tảng để bắt đầu sử dụng VMware PowerCLI trong công việc quản trị hệ thống vSphere. Hãy cùng mình tiếp tục khám phá cách sử dụng VMware PowerCLI trong bài viết sau nhé.

>>> Xem thêm:
Cloud Server VMware - Công nghệ ảo hoá toàn diện nhất hiện nay

Tác giả:
author avatar
Mình là Huy, hiện mình đang là kỹ sư hệ thống tại SunCloud. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn về mạng, hệ thống, điện toán mây và an ninh bảo mật. Mình đã triển khai và vận hành rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số chứng chỉ quốc tế như CCNP, LPI, VCP, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.

Tin tức nổi bật