Hyper-V: Cấu hình khởi động tự động và khởi động lệnh của máy atm

0
15

Trong Hyper-V, bạn có thể cấu hình các tùy chọn khởi động và tắt máy tự động cho máy ảo của mình khi khởi động hoặc khởi động lại hệ điều hành máy chủ. Trong bài viết này, chúng tôi sẽ chỉ ra cách cấu hình các hành động mà máy chủ Hyper-V nên thực hiện trên các máy ảo khi nó được bật hoặc tắt một cách duyên dáng và cách đặt hàng khởi động của các máy ảo.

Nội dung:
  • Cấu hình Hành động Khởi động và Tắt máy Tự động cho Máy ảo Hyper-V
  • Khởi động (Khởi động) Đặt hàng máy ảo Hyper-V

Cấu hình Hành động Khởi động và Tắt máy Tự động cho Máy ảo Hyper-V

Theo mặc định, máy chủ Hyper-V sẽ lưu trạng thái của các máy ảo đã đăng ký khi khởi động lại. Điều đó có nghĩa là nếu VM đang chạy trước khi khởi động lại, Hyper-V sẽ tự động khởi động. Cài đặt khởi động tự động được cấu hình cho từng VM riêng lẻ.

Chạy bảng điều khiển Hyper-V, mở thuộc tính của bất kỳ VM nào và vào Settings -> Automatic Start Action. Ba tùy chọn để quản lý khởi động tự động của máy ảo có sẵn:

  • Không có gì – khi máy chủ được khởi động, một máy ảo không tự động khởi động (bất kể trạng thái của nó trước khi máy chủ khởi động lại)
  • Tự động khởi động nếu nó đang chạy khi dịch vụ dừng lại – VM sẽ tự động khởi động chỉ khi nó đã chạy trước khi máy chủ tắt / khởi động lại
  • Luôn tự động khởi động máy ảo này – luôn khởi động máy ảo này khi khởi động máy chủ Hyper-V.

Một tham số nữa có sẵn cho tùy chọn cuối cùng – Khởi động chậm trễ. Ở đây bạn có thể chỉ định thời gian trì hoãn khởi động cho máy ảo (tính bằng giây). Sử dụng độ trễ, bạn có thể quản lý thứ tự khởi động của máy ảo của mình (ví dụ: để khởi động bộ điều khiển miền trước khi khởi động VM với SQL Server) và giảm tải trên bộ nhớ đĩa do lần lượt khởi động nhiều máy ẢO.

hyper-v configure automatic strat action for virtual machine

Điều thú vị là chưa có tùy chọn nào trong Windows Admin Center (WAC) để quản lý việc khởi động tự động của máy ảo Hyper-V.

Ngoài ra, trong phần Hành động Dừng Tự động, bạn có thể đặt phải làm gì với máy ảo của mình nếu máy chủ tắt hoặc khởi động lại.

Cài đặt ngụ ý khởi động lại chính xác máy chủ Hyper-V khi máy ảo có thời gian tắt máy một cách duyên dáng, không giống như các tình huống khẩn cấp (mất điện bất ngờ, BSOD).
  • Lưu trạng thái máy ảo – trạng thái đầy đủ của máy ảo được lưu (bao gồm cả bộ nhớ của nó). Ở lần khởi động tiếp theo, máy ảo sẽ tiếp tục từ thời điểm này. Lưu ý rằng bạn phải có thêm dung lượng trống trên đĩa của mình để giữ bộ nhớ VM (*. Tệp BIN). Hệ điều hành khách không được khởi động lại;
  • Tắt máy ảo – khi máy chủ Hyper-V tắt máy, một máy ảo cũng sẽ bị dừng lại (giống như máy tính vật lý đang tắt). Trạng thái VM không được lưu, hệ điều hành khách sẽ được bắt đầu với chu kỳ khởi động đầy đủ. Trong chế độ này, có một số nguy cơ nhận được dữ liệu không nhất quán trong các ứng dụng chạy trong VM.
  • Tắt hệ điều hành của khách – hệ điều hành của khách là tắt máy bằng dịch vụ tích hợp Hyper-V (tắt máy duyên dáng). Tất cả các ứng dụng chạy trong VM đều bị dừng lại và nguy cơ nhận được dữ liệu không nhất quán là rất thấp.

Automatic Stop Action for Hyper-V VM

Bạn có thể xem và thay đổi cài đặt khởi động và tắt máy tự động của máy ảo Hyper-V bằng PowerShell.

Hiển thị thiết đặt khởi động và tắt máy hiện tại của tất cả các máy tính ‘ vM:

Get-VM –VMname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay,AutomaticStopAction

Hyper-V PowerShell - get startup and shutdown settings of VMs

Bạn có thể thay đổi cài đặt khởi động tự động của VM bằng tùy chọn AutomaticStartAction. Các giá trị có thể của nó là Nothing StartIfRunning , Start .

Get-VM –VMname lon-win10| Set-VM –AutomaticStartAction Start

Bạn có thể sử dụng PowerShell để cấu hình cài đặt máy ảo trên máy chủ Windows Hyper-V Server miễn phí không có GUI.

Để thiết lập độ trễ khởi động cho tất cả các máy tính mạng ngoại trừ một (ví dụ: bộ điều khiển miền có vai trò FSMO):

Get-VM –VMname * | Where-object –FilterScript {$_.vmname –notlike “lon-dc*”} | Set-VM –AutomaticStartDelay 90

Sử dụng tùy chọnAutomaticStopAction, bạn có thể đặt cài đặt tắt máy VM Save TurnOff (, , ShutDown ).

Khởi động (Khởi động) Đặt hàng máy ảo Hyper-V

Khi bắt đầu một máy chủ Hyper-V độc lập, quản trị viên phải quản lý thứ tự khởi động của máy ảo trên đó. Ví dụ: bạn cần Exchange VM để khởi động chỉ sau khi bộ điều khiển miền có sẵn và máy chủ ứng dụng để bắt đầu sau máy chủ cơ sở dữ liệu. Hyper-V không có bất kỳ công cụ tích hợp nào để quản lý thứ tự khởi động của các máy ảo, ngoại trừ tùy chọn trì hoãn khởi động AutomaticStartDelay ().

Trong những trường hợp đơn giản nhất, bạn có thể cấu hình thứ tự khởi động VM bằng cách đặt các độ trễ khởi động khác nhau cho chúng:

Get-VM –VMname lon-dc01| Set-VM –AutomaticStartDelay 0
Get-VM –VMname lon-exch1,lon-db01 | Set-VM –AutomaticStartDelay 90
Get-VM –VMname lon-rds01,lon-app01 | Set-VM –AutomaticStartDelay 180

Một cách khác là lần lượt khởi động VM bằng cách sử dụng kịch bản khởi động PowerShell. Trong kịch bản, bạn có thể đặt độ trễ trước khi bắt đầu VM tiếp theo và thực hiện kiểm tra bổ sung về tính khả dụng của ứng dụng hoặc dịch vụ trong VM (để đảm bảo rằng ứng dụng hoặc dịch vụ đã được bắt đầu). Để thuận tiện hơn, bạn có thể tham gia một số máy TÍNH KHÁCH TRÊN VÀO một nhóm bằng cách sử dụng thẻ. Ví dụ: tôi đã đặt các thẻ sau cho các VM:

set-vm lon-dc01,lon-dc02 -Notes "Boot order 1"
set-vm lon-exch1, lon-db01 -Notes "Boot order 2"
set-vm lon-rds01,lon-app01 -Notes "Boot order 3"

How to boot Hyper-V VMs in a specific order using Powershell script

Kịch bản PowerShell sau đây bắt đầu các máy ảo theo một thứ tự cụ thể và chạy kiểm tra tính khả dụng bổ sung cho một số dịch vụ (cổng TCP) trong VM bằng cách sử dụng Lệnh ghép ngắn PowerShell Test-NetConnection:

$VMtoStart = Get-VM | where notes -contains 'Boot order 1'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}
While (!(Test-NetConnection lon-dc01 -Port 445 -WarningAction SilentlyContinue).tcpTestSucceeded ){
Start-Sleep 30
}
$VMtoStart = Get-VM | where notes -contains 'Boot order 2'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}
While ((Test-NetConnection lon-exch1 -Port 25 -WarningAction SilentlyContinue).tcpTestSucceeded ){
Start-Sleep 30
}
$VMtoStart = Get-VM | where notes -contains 'Boot order 3'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}

Sau đó thêm script PowerShell vào autostart hoặc chạy nó bằng Bộ lập lịch tác vụ (đừng quên vô hiệu hóa khởi động tự động cho tất cả các máy tính toán khách hàng atm được bắt đầu sử dụng script này). Hãy nhớ rằng việc chạy các tập lệnh PowerShell bị hạn chế trong Windows theo mặc định. Nếu cần, hãy ký kịch bản PS1 hoặc thay đổi chính sách thực thi script PowerShell.

Dịch từ: http://woshub.com/hyper-v-vm-automatic-startup-boot-order/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây