Share via


Install-SCVMHostCluster

Install-SCVMHostCluster

Creates a failover cluster from Hyper-V hosts managed by VMM.

Syntax

Parameter Set: AddNodes
Install-SCVMHostCluster -Credential <VMMCredential> -VMHost <Host[]> -VMHostCluster <HostCluster> [-JobGroup <Guid]> ] [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-SkipValidation] [-VMMServer <ServerConnection> ] [ <CommonParameters>]

Parameter Set: CreateCluster
Install-SCVMHostCluster -ClusterName <String> -Credential <VMMCredential> -VMHost <Host[]> [-ClusterIPAddress <String[]> ] [-ClusterIPAddressPool <StaticIPAddressPool[]> ] [-ClusterReserve <Int32> ] [-Description <String> ] [-JobGroup <Guid]> ] [-JobVariable <String> ] [-PROTipID <Guid]> ] [-RunAsynchronously] [-SetQuorumDisk <ClientObject> ] [-SetQuorumNodeMajority] [-SkipValidation] [-VMMServer <ServerConnection> ] [ <CommonParameters>]

Detailed Description

The Install-SCVMHostCluster cmdlet creates a failover cluster from Hyper-V hosts managed by Virtual Machine Manager (VMM). Install-SCVMHostCluster can also add a node to an existing cluster.

Parameters

-ClusterIPAddress<String[]>

Specifies one or more IP addresses to use as a cluster IP address.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ClusterIPAddressPool<StaticIPAddressPool[]>

Specifies a static IP address pool to use as a cluster IP address pool.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ClusterName<String>

Specifies the name of a cluster.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ClusterReserve<Int32>

Specifies the number of host failures that a host cluster can sustain before VMM designates the cluster as over-committed. The default value is 1.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Credential<VMMCredential>

Specifies a credential object or, for some cmdlets, a Run As account object that contains the user name and password of an account that has permission to perform this action.

For more information about the PSCredential object, type Get-Help Get-Credential.

For more information about Run As accounts, type Get-Help New-SCRunAsAccount.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Description<String>

Specifies a description for the host cluster.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-JobGroup<Guid]>

Specifies an identifier for a series of commands that runs as a set just before the final command that includes the same job group identifier runs.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-JobVariable<String>

Specifies that job progress is tracked and stored in the variable named by this parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PROTipID<Guid]>

Specifies the ID of the Performance and Resource Optimization tip (PRO tip) that triggered this action. This parameter lets you audit PRO tips.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RunAsynchronously

Indicates that the job runs asynchronously so that control returns to the command shell immediately.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SetQuorumDisk<ClientObject>

Specifies a disk to use as the quorum disk for the cluster.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SetQuorumNodeMajority

Indicates that this cmdlet sets the quorum mode to Node Majority for the cluster.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SkipValidation

Indicates that this cmdlet skips cluster validation tests when creating a cluster.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMHost<Host[]>

Specifies an array of virtual machine host objects.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMHostCluster<HostCluster>

Specifies a VMM host cluster object.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMMServer<ServerConnection>

Specifies a VMM server object.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • VMHostCluster

Examples

Example 1: Create a cluster from managed hosts

The first command gets the Run As account named RunAsAccount01, and then stores it in the $RunAsAcct variable.

The second command gets the host group object named New York, and then stores the object in the $HostGroup variable.

The third command gets the cluster nodes that begin with the name HostClus in the host group stored in $HostGroup. The command then stores the nodes in the $Nodes variable.

The last command creates the cluster, and then names it Cluster01.

PS C:\> $RunAsAcct = Get-SCRunAsAccount -Name "RunAsAccount01"
PS C:\> $HostGroup = Get-SCVMHostGroup -Name "New York"
PS C:\> $Nodes = Get-SCVMHost | where {$_.Name -like "HostClus*" -and $_.VMHostGroup -eq $HostGroup}
PS C:\> Install-SCVMHostCluster -VMHost $Nodes -ClusterName "Cluster01" -Credential $RunAsAcct

Add-SCVMHostCluster

Get-SCVMHostCluster

Move-SCVMHostCluster

Read-SCVMHostCluster

Remove-SCVMHostCluster

Restart-SCJob

Set-SCVMHostCluster

Test-SCVMHostCluster

Uninstall-SCVMHostCluster

Get-SCRunAsAccount

Get-SCVMHostGroup

Get-SCVMHost