Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Máy Ảo

Kiểm tra dung lượng trống trên VMFS Datastores qua PowerCLI

Trong bài viết này chúng ta sẽ chỉ một script PowerCLI đơn giản để kiểm tra lượng không gian trống trên datastore VMware vSphere và phát hiện datastore Thin Provisioning với tổng kích thước ổ cứng ảo thin (mở rộng động) của máy ảo vượt quá tổng kích thước datastore. Nếu bạn có nhiều datastore VMware trong cơ sở hạ tầng, dễ dàng dùng script PowerShell này để giám sát không gian trống và phát hiện datastore với overcommitment lưu trữ (yêu cầu không gian cho thin disk của tất cả VM lớn hơn không gian có sẵn trên VMFS datastore). Bạn có thể dùng script để phân tích tăng trưởng không gian đã dùng, trước khi tạo VM, để tìm datastore với Thin Provision overcommitment, v.v.

Để hạ tầng vSphere hoạt động đúng, khuyến khích có ít nhất 5-10% không gian trống trên VMware VMFS datastore. Nếu bạn dùng snapshot (bao gồm cả do hệ thống backup tạo), cần ít nhất 10-15% không gian trống.

Để kiểm tra và hiển thị lượng không gian trống trên VMware datastore, bạn có thể dùng script PowerShell dưới đây (giả định module VMware vSphere PowerCLI đã cài trên máy tính):

# Import module PowerCLI vào session PowerShell
Import-Module VMware.VimAutomation.Core -ErrorAction SilentlyContinue
# Kết nối với vCenter host
Connect-VIServer mun-vcsa1 -User admin
# Lấy danh sách datastore vCenter
$datastores = Get-Datastore
$ErrorActionPreference = 'SilentlyContinue'
# Lặp qua tất cả datastore khả dụng
ForEach ($datastore in $datastores)
{
# Tìm kích thước không gian committed của tất cả thin disk trong datastore (bao nhiêu không gian cần nếu tất cả file vmdk phát triển đến kích thước chỉ định trong cài đặt)
$Provision = ([Math]::Round(($datastore.ExtensionData.Summary.Capacity - $datastore.ExtensionData.Summary.FreeSpace + $datastore.ExtensionData.Summary.Uncommitted)/1GB,0))
# Phần trăm không gian trống trong datastore
$PerFree = ([math]::Round(($datastore.FreeSpaceGB)/($datastore.CapacityGB)*100,2))
# Phần trăm overcommitment thin disk
$PerOvercommit = ([math]::Round($Provision/($datastore.CapacityGB)*100,2))
# Thêm thuộc tính extra vào object datastore
$datastore | Add-Member -type NoteProperty -name PercentsFree -value $PerFree
$datastore | Add-Member -type NoteProperty -name CapacityGb_r -value ([Math]::Round(($datastore.ExtensionData.Summary.Capacity)/1GB,0))
$datastore | Add-Member -type NoteProperty -name FreeSpaceGb_r -value ([Math]::Round(($datastore.ExtensionData.Summary.FreeSpace)/1GB,0))
$datastore | Add-Member -type NoteProperty -name ProvisionedSpaceGb -value $Provision
$datastore | Add-Member -type NoteProperty -name PercentsOvercommit -value $PerOvercommit
}
# Hiển thị dữ liệu kết quả về VMware datastore và xuất ra file CSV
$datastores|select-object Name, Type, Datacenter,CapacityGb_r,FreeSpaceGb_r,PercentsFree,ProvisionedSpaceGb,PercentsOvercommit|sort PercentsFree| Export-Csv C:\Reports\VMWareVMFSDatastores.csv -NoTypeInformation

Kiểm tra dung lượng trống trên VMFS Datastores qua PowerCLI

Nếu bạn thử kết nối vCenter bằng Connect-VIServer và thấy lỗi:
Could not resolve the requested VC server.Additional Information: There was no endpoint listening at https://mun-vcsa1/sdk that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details
có lẽ PowerCLI cố kết nối VCSA qua proxy. Chạy PowerCLIConfiguration và kiểm tra nếu UseSystemProxy trả về. Nếu có, tắt system proxy cho PowerCLI bằng lệnh:
Set-PowerCliConfiguration -proxypolicy noproxy

Trong ví dụ của tôi, bạn thấy 5 VMFS datastore đầu có dưới 5% không gian trống (hộp xanh). Có storage overcommitment trên một số datastore (tổng kích thước tất cả ổ ảo thin trong datastore vượt quá kích thước của chúng). Nếu ổ ảo VM bắt đầu phát triển đến kích thước tối đa chỉ định trong cài đặt, bạn có thể hết không gian trên storage VMFS/NFS/VVOL. (VM chạy với thick disk sẽ hoạt động bình thường, nhưng bạn không thể bật VM mới, vì sẽ không có không gian tạo file VSWAP.) Các datastore với không gian committed lớn hơn tổng kích thước LUN được highlight màu vàng.
Kiểm tra dung lượng trống trên VMFS Datastores qua PowerCLI

Script PowerShell này sẽ giúp bạn nhanh chóng tìm VMware datastore thiếu không gian trống (bạn có thể migrate VM từ datastore bằng Storage vMotion).