728x90

Use Ctrl-F to find a specific code.

Some codes have a recommended action using PowerShell as well as the general action.

Links to other error code pages can be found at 
System Center 2012 Portal: Virtual Machine Manager (VMM) Error Codes - TechNet Articles - United States (English) - TechNet Wiki (microsoft.com)

If you have additional information about an error, please add it to the "Additional Troubleshooting Information" column.

 

 

#000000;padding:0in 5.4pt;background-color:transparent;">

Code Message Recommended Action (in product) Additional Troubleshooting Information
       
24000 Error in connecting to the WSUS server %ServerName;, Port %TCPPort;. Detailed error - %DetailedErrorMessage; Ensure that the server connection information is valid. Then try the operation again.  
24001 Update server operation failed with error - %DetailedErrorMessage; BLANK  
24002 Update server is currently processing another configuration request or is synchronizing updates and cannot process current configuration change request. Try the operation after some time.  
24003 VMM can manage only one Update server instance. %ServerName; is already managed by VMM. BLANK  
24004 Update server %ServerName; is a replica downstream WSUS server. Please specify the root or non-replica downstream WSUS server for integration. Please specify the root or non-replica downstream WSUS server and re try the operation again.  
24005 Update Server %ServerName; has unsupported version of Windows Software Update Server (WSUS). Please specify Update Server with WSUS version 3.0 SP2.  
24006 Baseline with name %BaselineName; already exists. Please make sure the baseline name is unique and retry the operation.  
24007 Update (ID - %Id;) is already added to baseline %BaselineName;, it can be added only once to the given baseline Please make sure the update to be added to the baseline is not already added to the baseline and retry the operation.  
24008 Update (ID - %Id;) cannot be removed from the baseline %BaselineName;, it is not added to the baseline. Please make sure the update to be removed from the baseline is added to the baseline and retry the operation.  
24009 Assignment scope (ID - %Id;, ObjectType - %ObjectType;) is already assigned to baseline %BaselineName;. It can be assigned only once to the given baseline. Please make sure the assignment scope to be assigned to the baseline is not already assigned to the baseline and retry the operation.  
24010 Assignment scope (ID - %Id;, ObjectType - %ObjectType;) cannot be removed from the baseline %BaselineName;. It is not assigned to the baseline. Please make sure the assignment scope to be removed from the baseline is assigned to the baseline and retry the operation.  
24011 Software update (%Name; - %Id;) does not have license agreement. Please ensure the software update has license agreement that needs to be accepted before update can be deployed and retry the operation.  
24012 License agreement for software update (%Name; - %Id;) is already accepted. Please ensure the software update has license agreement that needs to be accepted before update can be deployed and retry the operation.  
24013 Unable to find the object requested Try refreshinglease ensure the software update has license agreement that needs to be accepted before update can be deployed and retry the operation.  
 
24014 License agreement for software update (%Name; - %Id;) needs to be accepted before update can be added to any baseline. Please ensure the software update license agreement is accepted and retry the operation.  
24015 Host - %VMHostName; is a clustered host. Individual cluster nodes cannot be assigned as a baseline scope. Please use a cluster as baseline assignment scope and retry the operation.  
24016 Host - %VMHostName; is not a Hyper-V host. Only Hyper-V hosts can be added as baseline assignment scope. Please ensure the host is Hyper-V host and retry the operation.  
24017 Cluster - %VMHostName; is not a Hyper-V cluster. Only Hyper-V clusters can be add ed as baseline assignment scope. Please ensure the cluster is Hyper-V cluster and retry the operation.  
24018 Baseline %BaselineName; is not assigned to %TargetType; %TargetName;. Please ensure the baseline is assigned and retry the operation.  
24019 %TargetType; %TargetName; has no baselines assigned. Please ensure at least one baseline is assigned and retry the operation.  
24020 No updates were found for compliance scan or remediation operation for %TargetTyp e; %TargetName;. Please ensure baseline has at least one update added to it and retry the operation.  
24021 Compliance scan of %TargetType; %TargetName; succeeded with warning - %DetailedErrorMessage; Try the operation again.  
24022 To enable Update Server, WSUS 3.0 SP2 console needs to be installed on VMM server. Please install WSUS 3.0 SP2 console on the VMM server and restart VMM service and retry the operation.  
24023 Update category - %Name; is not valid. Ensure update category is valid and retry the operation.  
24024 Update classification - %Name; is not valid. Ensure update classification is valid and retry the operation.  
24025 Language code - %Name; is not valid. Ensure update language code is valid and retry the operation.  
24026 Update Remediation of %TargetType; %TargetName; failed. Detailed error - %DetailedErrorMessage; Try the operation again.  
24027 Update Remediation of %TargetType; %TargetName; timed out. Try the operation again.  
24028 Update remediation of %TargetType; %TargetName; succeeded with warning - %DetailedErrorMessage; Try the operation again.  
24029 Update remediation orchestration for host cluster - %HostClusterName; failed as one or more nodes within the cluster are in the maintenance mode. Please ensure all nodes of the host cluster are out of maintenance m ode or use –BypassMaintenanceModeCheck switch and retry the operation.  
24030 Update remediation orchestration is supported only for Hyper-v clusters. Host cluster - %HostClusterName; is not a Hyper-v cluster.  
24030 Please ensure the host cluster is Hyper-V cluster and retry the operation.  
24031 Proxy server credentials configuration from VMM is supported only for Update Server in SSL mode. Please ensure the Update Server is configured for SSL communication and retry the operation.  
24032 Update Server %ServerName; is not configured to use proxy server. None of the proxy server related settings can be configured in this mode. Please ensure the Update Server is configured to use proxy server and retry the operation.  
24033 The host %VMHostName; does not belong to the cluster %HostClusterName;. Ensure the host belongs to the cluster and then try the operation again.  
24034 Software update %Name; is not added to the baseline %BaselineName;. Ensure the update is added to the baseline and then try the operation again.  
24035 Compliance scan failed with error - %DetailedErrorMessage;. Ensure the WinHTTP proxy settings are correctly configured for the communication with WSUS. If WSUS is configured to use SSL, ensure the WSUS certificate is installed in Trusted Root CA for the machine and then try the operation again.  
24036 Compliance state for software update %Name; as part of the baseline %BaselineName ; for %TargetName; is currently unknown. Adding or removing exemption cannot be completed. Please scan the baseline to determine the compliance state of the update and then try the operation again.  
24037 Softwaris currently unknown. Adding or removing exemption cannot be completed. Ensure the update is not marked exempt and then try the operation again.  
24038 Software update %Name; as part of the baseline %BaselineName; for %TargetName; is not "Exempt". Remove exemption cannot be completed. Ensure the update is marked exempt and then try the operation again.  
24039 VMM has changed setting on WSUS server to store the update binaries locally. Please ensure there is enough disk space to support this setting.  
24040 VMM has changed update language setting on WSUS server to %Name;. N/A  
24041 VMM has changed update binaries download setting on WSUS server to download the binaries when approved. N/A  
24042 Baseline name cannot be an empty string. Please use valid name for baseline and try operation again.  
24043 User %User; (User Role - %UserRoleName;) does not have permission to modify/remove the baseline %BaselineName;. Ensure user has sufficient permissions and then try the operation again.  
24044 Compliance scan or update remediation action cannot be completed on %ComputerName ;. Ensure the specified machine is managed by VMM server and has at least one baseline assigned and then try the operation again.  
24045 Error occurred in downloading End User License Agreement for Update %Name;. Ensure the network connectivity between WSUS and WU/MU and then try the synchronization operation again.  
24046 Update remediation operation cannot be performed on the cluster %HostClusterName; since node %VMHostName; is not in valid state. Ensure all the nodes in the cluster are in valid state and retry the operation again.  
24046 Update remediation operation cannot be performed on the cluster %HostClusterName; since node %VMHostName; is not in valid state. 24047 VMM agent installed on machine %ComputerName; does not support compliance scan or update remediation operations. Ensure the machine has latest VMM agent installed and retry the operation.  
24048 Proxy username for UpdateServer cannot be empty. Ensure the proxy username is valid and retry the operation.  
24049 Credentials cannot be specified when the proxy server access is set to be anonymous. Please do not specify credentials and retry the operation.  
24050 WSUS synchronization with WU/MU failed with error - %DetailedErrorMessage;. Ensure WSUS can reach WU/MU sites and retry the operation.  
24051 License agreement for update %Name; cannot be accepted at this time as the last attempt to download the license agreement has failed. Synchronize the update server and retry the operation.  
24052 VMM can store only %UpdateCount; updates from WSUS in its DB. The total number of updates VMM is trying to import from the latest synchronization and the count of its existing updates in DB exceeds this limit. Ensure the maximum update count is set correctly and retry the operation.  
24053 VMM target group %TargetGroupName; cannot be found on update server %ComputerName ;. Please remove the update server from VMM management and re-add it to VMM management. Please remove the update server from VMM management and re-add it to VMM management. 24053
24054 Error occurred in removing VMM target group %TargetGroupName; on update server %ComputerName;. Please remove the specified target group manually from WSUS console. Please remove the specified target group manually from WSUS console.  
24055 Configuration properties of update server %ComputerName; cannot be changed from V MM as this is a downstream WSUS server. Please ensure the configuration property changes are made for root WSUS server.  
24056 Update server %ComputerName; is configured to prevent any configuration property changes from VMM. Please ensure the specified update server is configured to allow such changes and retry the operation.  
24300 Object import failed. Schema validation failed with error: "%ActualException;" Fix validation error then try operation again  
24301 Virtual machine %VMName; has unsupported virtual system type "%Name;" Fix validation error then try operation again  
24302 Unknown resource type "%Name;" was found. Fix validation error then try operation again  
24303 Duplicate element with %Name; property "%Value;" Fix validation error then try operation again  
24304 Unknown processor type %Name; Fix validation error then try operation again  
24305 Cannot find virtual hard disk "%Name;" (family name:"%FamilyName;", release:"%Release;"). Disk binding (%BusType;, %Bus;, %Lun;) will not be created for virtual machine %VMName;. Fix validation error then try operation again  
24306 Cannot find ISO resource "%Name;" (family name:"%FamilyName;", release:"%Release; "). ISO will be removed from DVD drive with binding (%BusType;, %Bus;, %Lun;) on virtual machine %VMName;.  
Fix validation error then try operation again  
24307 Value "%Value;" of element "%Name;" has invalid format. Fix validation error then try operation again  
24308 Required element "%Name;" is missing. Fix validation error then try operation again  
24309 Value "%Value;" of element "%Name;" is invalid. The value should be between %MinLimit; and %MaxLimit;. Fix validation error then try operation again  
24310 Value "%Value;" of element "%Name;" is invalid. Value length should be between %MinLimit; and %MaxLimit;. Fix validation error then try operation again  
24311 Cannot find virtual floppy disk resource "%Name;" (family name:"%FamilyName;", release:"%Release;"). Virtual floppy disk will be removed from the floppy drive on virtual machine %VMName;. Fix validation error then try operation again  
24312 Logical network "%LogicalNetworkName;" cannot be found. Network adapter "%Name;" will be disconnected on virtual machine %VMName;. Fix validation error then try operation again  
24313 Object import failed. Operation failed with error: "%ActualException;" Fix validation error then try operatip> Fix validation error then try operation again  
24314 Failed to export object "%Name;". Operation failed with error: "%ActualException; " Fix validation error then try operation again  
24315 Failed to write to file "%FileName;". Operation failed with error: "%ActualException;" Fix the error then try operation again  
24316 Required attribute "%Name;" is missing. Fix validation error then try operation again  
24317 Unknown disk format found: "%Name;" Fix validation error then try operation again  
24318 Cannot find custom resource "%Name;" (family name:"%FamilyName;", release:"%Release;"). Custom resource will be removed from script command %Command; on virtual machine %VMName;. Fix validation error then try operation again  
24319 Cannot find custom resource "%Name;" (family name:"%FamilyName;", release:"%Release;"). Custom resource will be removed from script command %Command; in application deployment %ObjectName; on virtual machine %VMName;. Fix validation error then try operation again  
24320 Cannot find application package "%Name;" (family name:"%FamilyName;", release:"%Release;"). Application deployment %ObjectName; will be removed from virtual machine %VMName;. Fix validation error then try operation again  
24321 Cannot find answer file "%Name;" (family name:"%FamilyName;", release:"%Release;" ). Answer file will be removed from virtual machine %VMName;. Fix validation error then try operation again  
24322 Virtual Machine %VMName; refers to virtual hard disks with different virtualization platforms. Fix validation error then try operation again  
24323 Virtual Machine %VMName; refers to virtual hard disks with different virtualization platforms. Custom property %Name; is missing and will be created No action is needed  
24324 Custom property %Name; is missing member type "Service Template". "Service Template" will be added to the member list. No action is needed  
24325 Custom property %Name; is missing member type "Template". "Template" will be added to the member list. No action is needed  
24326 Service Template "%Name;", release "%Release;" already exists. Use -Overwrite option to overwrite existing service template.  
24327 VM Template "%Name;" already exists. Use -Overwrite option to overwrite existing template.  
24328 Cannot export object "%Name;". File "%FileName;" already exists. Use -Overwrite option to overwrite existing file.  
24329 Import operation failed. File "%FileName;" is not a valid template package. Fix the problem, then try operation again,  
24330 Import operation failed. File "%FileName;" is not a valid template package. Package data cannot be decrypted with the password provided. Check the password, then try operation again,  
24331 Password can only be specified for encrypted packages Remove -Password parameter, then try operation again,  
24332 A password must be provided when importing settings in encrypted packages. Provide a -Password parameter, then try operation again,  
24333 Cannot find element %Name;. Fix validation error, then try operation again,  
24334 Cannot decode value "%Value;". Base64 encoding is expected. Fix validation error, then try operation again,  
24335 Invalid encryption algorithm was specified: "%Name;" Fix validation error, then try operation again,  
24336 Run As account "%Name;" cannot be located for application deployment "%ObjectName ;" Run As account reference will be replaced with mandatory service setting.  
24337 Run As account "%Name;" cannot be found. Run As account reference will be removed from script command "%ObjectName;" Fix validation error then try operation again  
24338 Path %SharePath; is not on a library share that is managed by VMM Server. Provide a path on a library share.  
24339 Cannot find VIP template "%Name;". VIP template reference will be removed from computer tier template %TemplateName;. Fix validation error then try operation again  
24340 Local Administrator Run As account "%Name;" cannot be found. Run As account reference will be removed from VM template %TemplateName;" Fix validation error then try operation again Fix validation error then try operation again  
24341 Domain user Run As account "%Name;" cannot be found. Run As account reference will be removed from VM template %TemplateName;" Fix validation error then try operation again  
24342 User with Security Identifier "%SecurityIdentifier;" is not found. Reference to this user will be removed from object %Name;. Fix validation error then try operation again  
24343 Security Identifier "%SecurityIdentifier;" doesn't belong to user "%UserName;". Reference to this user will be removed from object %Name;. Fix validation error then try operation again  
24344 User role %UserRoleName; is not found for user %UserName;. Reference to the user will be removed from object %Name;. Fix validation error then try operation again  
24345 User %UserName; doesn't exist. Reference to the user will be removed from object %Name;. Fix validation error then try operation again  
24346 VIP template "%Name;" is found, but has different properties. Check VIP template properties in the package, create new VIP template if needed.  
24347
24346
VIP template "%Name;" is found, but has different properties. Specified library object cannot be modified or deleted. Make sure that you have necessary permissions to modify or delete th e object.  
24348 Cannot import package %FilePath;. The package is either corrupted or has an incorrect file type. Operation failed with error: "%ActualException;" Fix validation error then try operation again  
24349 Template package %FilePath; is invalid Check the contents of the file then try operation again  
24350 Agent Service Run As account %RunAsAccountName; cannot be located for SQL Server deployment %Name; on template %TemplateName; Run As account reference will be replaced with mandatory service setting.  
24351 Deployment Run As account %RunAsAccountName; cannot be located for SQL Server deployment %Name; on template %TemplateName; Run As account reference will be removed.  
24352 Reporting Service Run As account %RunAsAccountName; cannot be located for SQL Server deployment %Name; on template %TemplateName; Run As account reference will be removed.  
24353 SQL Server Service Run As account %RunAsAccountName; cannot be located for SQL Server deployment %Name; on template %TemplateName; Run As account reference will be replaced with mandatory service setting.  
24354 SA Run As account %RunAsAccountName; cannot be located for SQL Server deployment %Name; on template %TemplateName; Run As account reference will be removed.  
24355 Cannot find SQL Server Configuration file "%Name;" (family name:"%FamilyName;", release:"%Release;"). Answer file will be removed from SQL Server deployment %ObjectName; on template %TemplateName;. Fix validation error then try operation again  
24356 User role %UserRoleName; is not found. Reference to the user role will be removed from object %Name;. Fix validation error then try operation again  
24356 24357 Run As account "%Name;" cannot be found. Run As account reference will be removed from SQL Server script command in application deployment "%ObjectName;" in Template "%TemplateName;". Fix validation error then try operation again  
24358 Cannot find SQL Server script file "%Name;" release "%Release;". SQL Server script command "%CommandName;" in application deployment "%ObjectName;" in Template "%TemplateName;" will be removed. Fix validation error then try operation again  
24359 Storage classification "%Name;" cannot be found. Storage classification reference will be removed from disk (%BusType;, %Bus;, %Lun;) on virtual machine %VMName;. Fix validation error then try operation again  
24360 Capability Profile "%Name;" release "%Release;" cannot be found. Capability Profile reference will be removed from object "%ObjectName;" Fix validation error then try operation again  
24361 Release parameter cannot be empty. Please ensure release parameter is valid and try the operation again.  
24362 Password parameter is used to encrypt private settings and can only be specified together with SettingsIncludePrivate parameter. Specify SettingsIncludePrivate parameter and try the operation again.  
24363 VMM agent on library spt private settings and can only be specified together with SettingsIncludePrivate parameter. Specify SettingsIncludePrivate parameter and try the operation again.  
Ensure VMM agent on library server is in OK state and try the operation again.  
24364   Run the client (Cmdlet/Admin Console) with elevated administrator privileges.  
24365 Failed to Create BITS job on the client. Restart BITS service and try the operation again.  
24366 The BITS client job failed to succeed for %ResourceName; when attempting %CmdletName; resource with following error: %DetailedErrorMessage; Restart BITS service and try the operation again. Also make sure that the client has permissions on the source and the destination.  
24367 VMM server sent an invalid SSL cert for the HTTPS transfer to Library server. Check the presence of library server certificate on VMM server's Trusted People store.  
24368 Path %FolderPath; must be a valid directory accessible to client. Check the path specified and make sure that client has permissions to access it.  
24370 Resource %ResourceName; is on a library server that requires Encryption. Try the operation with Encryption option as the server only supports this mode  
24371 Resource "%Name;" already exists at %FolderPath;. Use -Overwrite option to overwrite existing resource.  
24372 Connected role %UserRoleName; doesn't have access to %FolderPath;. Contact Administrator to get access to the desired path or use the R /W path to which the role has access to.  
24373 Connected Administrator role did not specify a valid library Path for importing resource. Administrator roles must specify a valid path when importing resources into library.  
24374 Addition of default resources to library share (%SharePath;) failed. DetailedErrorMessage: %DetailedErrorMessage; Fix the problem,ify a valid path when import then try operation again.  
24375 Error occurred in communicating with the VMM agent on machine %ComputerName;. Ensure the agent is in responding state, then try operation again.  
24376 The client imported a resource %ResourceName; that library server agent doesn't recognize. The client should only import known resource types into the VMM library  
24377 User tried to specify both of IncludeAllLibraryResources and IncludeLibraryResources. Only one of these parameters is allowed at a time. Specify either one of IncludeAllLibraryResources or IncludeLibraryResources.  
24378 User tried to specify local file mapping for %ResourceName; package. Specify either one of IncludeAllLibraryResources or IncludeLibraryResources.  
24379 The cmdlet stopped as the pipeline execution was terminated. Try running the cmdlet again.  
24380 SA Run As account %RunAsAccountName; cannot be located for SQL Server deployment %Name; on template %TemplateName; Run As account reference will be replaced with mandatory service setting.  
24381 SA Run As account %RunAsAccountName; cannot be located for SQL Server deployment %Name; on template %TemplateName; Run As account reference will be replaced with mandatory service setting. The transfer did not succeed. The failure could be due to timeout on the server, client cancelling the job, or client cmdlet failure. Try running the cmdlet again.  
24382 Service Template "%Name;", release "%Release;" cannot be overwritten as it is not accessible under user role %UserRoleName; Use different name/release combination  
24383 Template "%Name;" cannot be overwritten as it is not accessible under user role % UserRoleName; Use different name.  
24384 To change identity properties of the library resources, all the specified resources must belong to the same namespace. Ensure all the specified library resources belong to same namespace and try the operation again.  
24385 Library resource %Name; is not valid for deployment. Ensure the object resides on library share under VMM management and try the operation again.  
24386 For setting identity properties on a group of objects, all objects must be of same object type. Ensure all objects are of same object type and try the operation again.  
24387 Multiple library resources were discovered during import of "%SharePath;" folder. This could be an issue if it occurred during importing a Service Template. Ensure that importing multiple resources was the intent. If this occurred during Service template import, check the Imported template before deploying it.  
24388 Run As account %RunAsAccountName; specified for service setting %Name; cannot be found. Run As account reference will be removed.  
24389 Invalid operation on object %Name; as it does not reside on any of the VMM manage d library servers. Ensure the object is a valid library object and try the operation again.  
24390 Template uses unsupported XSD schema version "%XSDVersion;" Upgrade Virtual Machine Manager and export template again or change template XML to conform to the schema.  
24391 The list of resources being imported is empty. Try specifying a non-empty resource list to be exported.  
24392 Unable to add default resources to library share (%SharePath;) on cluster library server %Name; as VMM agent is not installed on the current active node. Ensure that VMM agent is installed on the current active node of cluster library server and then try the operation again.  
24393 VHDs %Name; cannot be marked equivalent with family name %FamilyName; and release %Release; because they have different VHD formats. Ensure that the VHDs have the same VHD format before marking them as equivalent.  
24394 VHDs %Name; cannot be marked equivalent of VHD %ObjectName; (Family name: %Family Name;, Release: %Release;) because they have different VHD formats. Ensure that the VHDs have the same VHD format before marking them as equivalent.  
24700 The day of the week entered is invalid. Valid values are “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, and “Sunday”. Refer to PowerShell help on this cmdlet for more details.  
24701 The numeric form for the day of the week is invalid. This must be between 1 and 7 representing Monday through Sunday respectively. Refer to PowerShell help on this cmdlet for more details.  
24702 Unable to find the specified servicing window. The servicing window name may be incorrect, or the servicing window may have been renamed or deleted. Verify that the servicing window name is correct and try the operation again.  
24703 A servicing window named %Name; already exists. Provide a unique servicing window name and try the operation again.  
24704 Unable to find the specified servicing window subscription. The subscription, the servicing window or the subscribed object may have been deleted. Verify that the servicing window is correct and try the operation again.  
24705 This object is already associated with this servicing window. Select a different servicing window to associate this object with an d try the operation again.  

 

728x90
728x90

오류 (12711)오류 때문에 VMM 서버(HPVCluster)
에서 WMI 작업을 완료할 수 없습니다: [MSCluster_Resource.Name=&] 클러스터 리소스를 찾을 수 없습니다.
클러스터 리소스를 찾을 수 없습니다(0x138F)

권장 작업
문제를 해결한 다음 작업을 다시 시도하십시오.

클러스터 리소스를 찾을 수 없습니다.

이 문제를
해결하려면 Hyper-V 노드에 로그인합니다. 그리고 달려라.

1
2
#Replace VMNAME with your VM which give the errorcode
get-clusterresource | where {$_.ownergroup -match "VMNAME" -and $_.resourcetype.name -eq 'virtual machine configuration'} | Update-ClusterVirtualMachineConfiguration

이 후 복구 -> SCVMM에서 무시 및 새로 고침을 클릭 할 수 있습니다.

728x90
728x90

조짐

만료가 다가오고 있는지 어떻게 알 수 있습니까? Hyper-V-VMMS 이벤트 로그에 다음 경고가 표시됩니다.

로그 이름: 마이크로소프트-윈도우-하이퍼-V-VMMS-관리
원본: 마이크로소프트-윈도우-하이퍼-V-VMMS
이벤트 ID: 12510
작업 범주: 없음
수준: 경고
사용자: 시스템
설명: 서버 인증에 사용되는 인증서는 30일 이내에 만료됩니다. 인증서가 만료된 후에는 가상 컴퓨터에 대한 원격 액세스를 사용할 수 없습니다. 인증서를 갱신하거나 다시 만드십시오.

 

조치

1. 각 VMM 및 Host 서버에서 인증서 삭제

2. 아래 파워셀로 인증서 다시 등록

$Credential = Get-Credential
Get-SCVMMManagedComputer -ComputerName "vmm.contoso.com" | Register-SCVMMManagedComputer  -Credential $credential

3. 인증서 생성 확인

4. 연결 확인
Get-SCVMMManagedComputer | ft Name, StateString, RoleString,State,VersionStateString,AgentVersion,UpdatedDate,IsFullyCached,MostRecentTaskIfLocal

5. SCVMM 작업창에서 연결 확인

728x90
728x90

Its been a while with no updates and it's not that I haven't been working hard, it's that I have been doing a lot of stuff directly with the API of systems like WHMCS or NetBox, which have an extremely low appeal to anyone not working in the service provider space, so haven't been adding it all to the blog. If anyone wants me to add this stuff please just get in touch and I will put it on.

I was recently asked to create a function that would allow you to set the IP address of a virtual machine from the host in a Hyper-V environment.

Getting this working for Windows was pretty easy:

function Set-VMIp {
param(
$VMhost,
$VMname,
$Mask,
$GateW,
$IPaddress
)

Invoke-Command -ComputerName $VMhost -ArgumentList $IPaddress, $Mask, $Gatew, $VMname  -ScriptBlock {

[string]$VMname = $args[3]

$VMManServ =  Get-WmiObject -Namespace root\virtualization\v2 -Class Msvm_VirtualSystemManagementService

$vm = Get-WmiObject -Namespace 'root\virtualization\v2' -Class 'Msvm_ComputerSystem' | Where-Object { $_.ElementName -eq $VMname }

$vmSettings = $vm.GetRelated('Msvm_VirtualSystemSettingData') | Where-Object { $_.VirtualSystemType -eq 'Microsoft:Hyper-V:System:Realized' } 

$nwAdapters = $vmSettings.GetRelated('Msvm_SyntheticEthernetPortSettingData') 

$ipstuff = $nwAdapters.getrelated('Msvm_GuestNetworkAdapterConfiguration')

$ipstuff.DHCPEnabled = $false
$ipstuff.DNSServers = "8.8.8.8"
$ipstuff.IPAddresses = $args[0]
$ipstuff.Subnets = $args[1]
$ipstuff.DefaultGateways = $args[2]

$setIP = $VMManServ.SetGuestNetworkAdapterConfiguration($VM, $ipstuff.GetText(1))
}
}

I can't really claim this as all being my own work, I used a blog post from a Microsoft employee, head of product dev or something or other. Unfortunately, I can't seem to source the link right now to give proper credit. You dont really need to see it though. His post was pretty hardcore and mine is much easier, I promise.

728x90
728x90

There is nothing more annoying than when people leave ISO's mounted to VM's. It drives me mad.This little script will list machines that have ISO's mounted and then if you like you bulk unmount them. Enjoy

This will just list all your VM's and show you the status od the DVD drive :

$clusternodes = Get-ClusterNode

ForEach ($clusternode in $clusternodes)
{get-VM -ComputerName $clusternode.Name | Get-VMDvdDrive }`

If you want to bulk unmount them its the same command with a little bit at the end

$clusternodes = Get-ClusterNode

ForEach ($clusternode in $clusternodes)
{get-VM -ComputerName $clusternode.Name | Get-VMDvdDrive | Set-VMDvdDrive -Path $null}`

This will recurse through ever node in your cluster, so if you have a large environment, don't panic, it will take a while.

728x90
728x90

I have written a guide on testing storage with VM-fleet that goes well with this.

Generally speaking when testing something new I will build it and tear it down a few times before I'm happy. Then when I'm sure I know what I'm doing I will do a final build from a build checklist that I have made, or a script if it's appropriate. That way I can be sure that I have done everything I need to do, the hosts are consistent and I have a record for future reference.

This is round 2 of my cycle so there may still be some errors. I will correct later if I find anything in round 3.

hardware

Storage spaces direct (S2D) wants all the hosts to be similar, in that they have the same type and amount of disks, and I would also recommend the same CPU. The storage CPU load for each volume takes place on the host that owns that volume. I think having mismatched CPU's would probably affect the performance of that volume significantly. You also need multiple RDMA capable 10GB interfaces.

I have 3 hosts that look like this:-

HP DL380 Gen9
Dual E5-2640v5
256GB RAM
2 x Chelsio 10GB network cards
1 x HP P440 Raid controller.
2 x HP H240 HBA
16 x 480GB Intel enterprise SSD's
2 x SATA drives

Switching, I have a pair of Arista switches for the 10GB and some Aruba affair for the 1GB.

I should also point out that this is currently POC kit bought specifically for this and that once I am happy with it all we will likely use this same kit in our public cloud environment.

The physical architecture is your standard cluster with redundant networks. I'm not going to document that but here.

Installation

First thing is to install Windows Server 2016 and all its updates. It also a good idea to properly name all your NIC interfaces as that will make it a lot easier to identify them later on.

Next, we need to install all the windows features required for S2D. This script should get them all in one go

Install-WindowsFeature -Name "Data-Center-Bridging","Failover-Clustering","Hyper-V","RSAT-Clustering-PowerShell","RSAT-Clustering-Mgmt","Hyper-V-PowerShell" -Restart  

This will likely need a reboot.

Once all this is done we can start putting together the required networking. This requires a little thought.

Network

S2D uses switch embedded teaming (SET). This is not the same as the switch teaming you may have used before. It has no GUI and can only be done from PowerShell. You need to be using SET in order to use the RDMA feature of your network cards. Switch embedded teaming also has support for some other features not available in standard NIC teaming. Microsoft has written a lovely little guide for you here. I warn you it's pretty long...

Depending on your choice of NIC you may also need to do some additional switch config to get RDMA to work. I chose a Chelsio card that has an RDMA implantation called iWarp, that doesn't need any specific switch config. It seemed like the easiest thing to do.

Now we start. The first thing we need to do is to create a QoS policy and give SMB high priority and a guaranteed allocation. You don't need to do this but it makes sense, especially in a hyper-converged environment where there may be resource contention.

You need to execute the following commands on all the servers that you plan to be in your cluster.

New-NetQosPolicy "SMB" -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3

Enable-NetQosFlowControl -Priority 3

Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7

New-NetQosTrafficClass "SMB" –Priority 3 –BandwidthPercentage 30 –Algorithm ETS

The last line of that code essentially reserves 30% of the network specifically for S2D, which is what we want.

Now we need to enable the QoS policy on the relevant interfaces. To get a list of the NIC's run the following

Get-NetAdapter | FT Name, InterfaceDescription, Status, LinkSpeed

Which will give you something like this

  Name                  InterfaceDescription                         Status   LinkSpeed
----                  --------------------                         ------       -------
StorageNIC1           Chelsio Network Adapter #4                   Up           10 Gbps  
Ethernet 3            Chelsio Network Adapter #3                   Disconnected 0 bps    
VLAN 10               Microsoft Network Adapter Multiplexor Driver Up           2 Gbps   
StorageNIC2           Chelsio Network Adapter #2                   Up           10 Gbps  
Ethernet              Chelsio Network Adapter                      Disconnected 0 bps    
Embedded LOM 1 Port 4 HP Ethernet 1Gb 4-port 331i Adapter #4       Disconnected 0 bps    
Embedded LOM 1 Port 3 HP Ethernet 1Gb 4-port 331i Adapter #3       Disconnected 0 bps    
Embedded LOM 1 Port 2 HP Ethernet 1Gb 4-port 331i Adapter #2       Up           1 Gbps   
Embedded LOM 1 Port 1 HP Ethernet 1Gb 4-port 331i Adapter          Up           1 Gbps  

I need the policy on my 10GB storage interfaces, which I helpfully labeled during the hardware install. The other 2 are for migration and client traffic so won't be used for storage traffic and therefor don't need the policy.

Enable-NetAdapterQos –Name "StorageNIC1","StorageNIC2"

That bit is not done. We need to create the virtual switch and sort out the teaming (SET)

Again we will need the name of the storage NICs, which you should have from the previous step.

So we create the vSwitch

New-VMSwitch –Name vStorage –NetAdapterName "StorageNIC1", "StorageNIC2" –EnableEmbeddedTeaming $true

And now for the bit that I struggled to grasp for a while. Creating the vSwitch creates a single interface that has the name of the switch. This seems like it would be the vNIC you should be using. However, in testing, I have discovered that if I assign an IP to this vNIC and simulate failure in the physical NICS it does fail-over, but it takes a long time. Too long. So what we do is create 2 additional vNICs connected to the vSwitch, and map them to the physical. Essentially creating 2 diverse paths and allowing us to use the full 20GB of the network.

If one of the NIC's fails they IP will still fail-over to the other, and it still takes a long time, however, it doesn't matter due to the second path.

Add-VMNetworkAdapter –SwitchName vStorage –Name SMB_1 –managementOS
Add-VMNetworkAdapter –SwitchName vStorage –Name SMB_2 –managementOS
Set-VMNetworkAdapterVlan -VMNetworkAdapterName "SMB_1" -VlanId 48 -Access -ManagementOS
Set-VMNetworkAdapterVlan -VMNetworkAdapterName "SMB_2" -VlanId 48 -Access -ManagementOS

Once this is done restart the vNICs

Restart-NetAdapter "vEthernet (SMB_1)"
Restart-NetAdapter "vEthernet (SMB_2)"

And then we enable RDMA on these vNICS

Enable-NetAdapterRDMA "vEthernet (SMB_1)", "vEthernet (SMB_2)"

Finally, we assign them to a physical interface.

Set-VMNetworkAdapterTeamMapping -VMNetworkAdapterName "SMB_1" –ManagementOS –PhysicalNetAdapterName "StorageNIC1"
Set-VMNetworkAdapterTeamMapping -VMNetworkAdapterName "SMB_2" –ManagementOS –PhysicalNetAdapterName StorageNIC2"

Now we check if the relevant interfaces are set up correctly.

Get-SmbClientNetworkInterface

You should see this

Interface Index RSS Capable RDMA Capable Speed    IpAddresses   Friendly Name                                      
--------------- ----------- ------------ -----    -----------   -----------                                    

49              True        True         20 Gbps  {fe80::1964:a4a2:5f4d:b7e8,10.2.120.21}     vEthernet (SMB_1)                                  
53              True        True         20 Gbps  {fe80::ac59:19fa:1685:1247,10.2.121.21}     vEthernet (SMB_2)       

RDMA is enabled.

At this point, it's a good idea to assign your IP address and do some testing. Make sure things fail-over as expected, at the very least to make yourself familiar with what to expect from this sort of configuration.

That's the networking done, now we move onto creating the cluster.

Cluster

The first thing to do is some cluster tests to make sure we haven't forgotten anything.

Test-Cluster –Node MachineName1, MachineName2, MachineName3, –Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"

For me this threw up an error. The vNIC that is created when we created the switch I mentioned earlier has no IP config assigned. You can ignore this or better still disable that interface. Once I did this the cluster validation came back as OK. So now we can move on and create the cluster.

New-Cluster -Name clustername -StaticAddress x.x.x.x –Node MachineName1, MachineName2, MachineName3, –NoStorage

You need the -NoStrage argument as otherwise it will capture all the disks and add them to the cluster. You don't want this yet.

Now depending how many nodes you have you may want to create a witness for the cluster, in the form of another server of a quorum. I assume you know how to so that and will if needed.

S2D

Now we get to the part where we enable storage spaces direct and add the S2D compatible disks to the storage pool. According to Microsoft S2D wants "Clean" disks. No existing partition data on them and give you this script to clean your disks.

icm (Get-Cluster -Name <cluster or node name> | Get-ClusterNode) {

Update-StorageProviderCache

Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -
ErrorAction SilentlyContinue

Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -
Confirm:$false -ErrorAction SilentlyContinue

Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -
ErrorAction SilentlyContinue

Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue

Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? 
PartitionStyle -ne RAW | % {

$_ | Set-Disk -isoffline:$false

$_ | Set-Disk -isreadonly:$false

$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false

$_ | Set-Disk -isreadonly:$true

$_ | Set-Disk -isoffline:$true

}

Get-Disk |? Number -ne $null |? IsBoot -ne $true |? IsSystem -ne $true |? PartitionStyle -eq RAW | Group -NoElement -Property FriendlyName

} | Sort -Property PsComputerName,Count

Out of curiosity I tried to enable S2D with out doing this and unsurprisingly it failed. Don't skip this step, but also be aware this will flatten all the disks in the host. If you want to be more precise you may want to try using DiskPart.

Finally we enable storage spaces direct.

Enable-ClusterStorageSpacesDirect –CimSession <ClusterName>

And we are done. You can now create vdisks and Volumes from the GUI if you wish but I would recommend that you use New-Volume in PowerShell as there are some specifics you may want to add to you new disks.

I will write another guide on that next I think.

If you have any feedback on this please comment bellow.

728x90
728x90

This article explains the resiliency options available and outlines the scale requirements, storage efficiency, and general advantages and tradeoffs of each.

Overview

Storage Spaces Direct provides fault tolerance, often called "resiliency," for your data. Its implementation is similar to RAID, except distributed across servers and implemented in software.

As with RAID, there are a few different ways Storage Spaces can do this, which make different tradeoffs between fault tolerance, storage efficiency, and compute complexity. These broadly fall into two categories: "mirroring" and "parity," the latter sometimes called "erasure coding."

Mirroring

Mirroring provides fault tolerance by keeping multiple copies of all data. This most closely resembles RAID-1. How that data is striped and placed is non-trivial (see this blog to learn more), but it is absolutely true to say that any data stored using mirroring is written, in its entirety, multiple times. Each copy is written to different physical hardware (different drives in different servers) that are assumed to fail independently.

You can choose between two flavors of mirroring – "two-way" and "three-way."

Two-way mirror

Two-way mirroring writes two copies of everything. Its storage efficiency is 50 percent – to write 1 TB of data, you need at least 2 TB of physical storage capacity. Likewise, you need at least two hardware 'fault domains' – with Storage Spaces Direct, that means two servers.

 Warning

If you have more than two servers, we recommend using three-way mirroring instead.

Three-way mirror

Three-way mirroring writes three copies of everything. Its storage efficiency is 33.3 percent – to write 1 TB of data, you need at least 3 TB of physical storage capacity. Likewise, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers.

Three-way mirroring can safely tolerate at least two hardware problems (drive or server) at a time. For example, if you're rebooting one server when suddenly another drive or server fails, all data remains safe and continuously accessible.

Parity

Parity encoding, often called "erasure coding," provides fault tolerance using bitwise arithmetic, which can get remarkably complicated. The way this works is less obvious than mirroring, and there are many great online resources (for example, this third-party Dummies Guide to Erasure Coding) that can help you get the idea. Sufficed to say it provides better storage efficiency without compromising fault tolerance.

Storage Spaces offers two flavors of parity – "single" parity and "dual" parity, the latter employing an advanced technique called "local reconstruction codes" at larger scales.

 Important

We recommend using mirroring for most performance-sensitive workloads. To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

Single parity

Single parity keeps only one bitwise parity symbol, which provides fault tolerance against only one failure at a time. It most closely resembles RAID-5. To use single parity, you need at least three hardware fault domains – with Storage Spaces Direct, that means three servers. Because three-way mirroring provides more fault tolerance at the same scale, we discourage using single parity. But, it's there if you insist on using it, and it is fully supported.

 Warning

We discourage using single parity because it can only safely tolerate one hardware failure at a time: if you're rebooting one server when suddenly another drive or server fails, you will experience downtime. If you only have three servers, we recommend using three-way mirroring. If you have four or more, see the next section.

Dual parity

Dual parity implements Reed-Solomon error-correcting codes to keep two bitwise parity symbols, thereby providing the same fault tolerance as three-way mirroring (i.e. up to two failures at once), but with better storage efficiency. It most closely resembles RAID-6. To use dual parity, you need at least four hardware fault domains – with Storage Spaces Direct, that means four servers. At that scale, the storage efficiency is 50% – to store 2 TB of data, you need 4 TB of physical storage capacity.

The storage efficiency of dual parity increases the more hardware fault domains you have, from 50 percent up to 80 percent. For example, at seven (with Storage Spaces Direct, that means seven servers) the efficiency jumps to 66.7 percent – to store 4 TB of data, you need just 6 TB of physical storage capacity.

See the Summary section for the efficiency of dual party and local reconstruction codes at every scale.

Local reconstruction codes

Storage Spaces introduces an advanced technique developed by Microsoft Research called "local reconstruction codes," or LRC. At large scale, dual parity uses LRC to split its encoding/decoding into a few smaller groups, to reduce the overhead required to make writes or recover from failures.

With hard disk drives (HDD) the group size is four symbols; with solid-state drives (SSD), the group size is six symbols. For example, here's what the layout looks like with hard disk drives and 12 hardware fault domains (meaning 12 servers) – there are two groups of four data symbols. It achieves 72.7 percent storage efficiency.

We recommend this in-depth yet eminently readable walk-through of how local reconstruction codes handle various failure scenarios, and why they're appealing, by Claus Joergensen.

Mirror-accelerated parity

A Storage Spaces Direct volume can be part mirror and part parity. Writes land first in the mirrored portion and are gradually moved into the parity portion later. Effectively, this is using mirroring to accelerate erasure coding.

To mix three-way mirror and dual parity, you need at least four fault domains, meaning four servers.

The storage efficiency of mirror-accelerated parity is in between what you'd get from using all mirror or all parity, and depends on the proportions you choose. For example, the demo at the 37-minute mark of this presentation shows various mixes achieving 46 percent, 54 percent, and 65 percent efficiency with 12 servers.

 Important

We recommend using mirroring for most performance-sensitive workloads. To learn more about how to balance performance and capacity depending on your workload, see Plan volumes.

Summary

This section summarizes the resiliency types available in Storage Spaces Direct, the minimum scale requirements to use each type, how many failures each type can tolerate, and the corresponding storage efficiency.

Resiliency types

ResiliencyFailure toleranceStorage efficiency
Two-way mirror 1 50.0%
Three-way mirror 2 33.3%
Dual parity 2 50.0% - 80.0%
Mixed 2 33.3% - 80.0%

Minimum scale requirements

ResiliencyMinimum required fault domains
Two-way mirror 2
Three-way mirror 3
Dual parity 4
Mixed 4

 Tip

Unless you are using chassis or rack fault tolerance, the number of fault domains refers to the number of servers. The number of drives in each server does not affect which resiliency types you can use, as long as you meet the minimum requirements for Storage Spaces Direct.

Dual parity efficiency for hybrid deployments

This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for hybrid deployments which contain both hard disk drives (HDD) and solid-state drives (SSD).

Fault domainsLayoutEfficiency
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66.7%
8 RS 4+2 66.7%
9 RS 4+2 66.7%
10 RS 4+2 66.7%
11 RS 4+2 66.7%
12 LRC (8, 2, 1) 72.7%
13 LRC (8, 2, 1) 72.7%
14 LRC (8, 2, 1) 72.7%
15 LRC (8, 2, 1) 72.7%
16 LRC (8, 2, 1) 72.7%

Dual parity efficiency for all-flash deployments

This table shows the storage efficiency of dual parity and local reconstruction codes at each scale for all-flash deployments which contain only solid-state drives (SSD). The parity layout can use larger group sizes and achieve better storage efficiency in an all-flash configuration.

Fault domainsLayoutEfficiency
2
3
4 RS 2+2 50.0%
5 RS 2+2 50.0%
6 RS 2+2 50.0%
7 RS 4+2 66.7%
8 RS 4+2 66.7%
9 RS 6+2 75.0%
10 RS 6+2 75.0%
11 RS 6+2 75.0%
12 RS 6+2 75.0%
13 RS 6+2 75.0%
14 RS 6+2 75.0%
15 RS 6+2 75.0%
16 LRC (12, 2, 1) 80.0%

Examples

Unless you have only two servers, we recommend using three-way mirroring and/or dual parity, because they offer better fault tolerance. Specifically, they ensure that all data remains safe and continuously accessible even when two fault domains – with Storage Spaces Direct, that means two servers - are affected by simultaneous failures.

Examples where everything stays online

These six examples show what three-way mirroring and/or dual parity can tolerate.

  • 1. One drive lost (includes cache drives)
  • 2. One server lost

  • 3. One server and one drive lost
  • 4. Two drives lost in different servers

  • 5. More than two drives lost, so long as at most two servers are affected
  • 6. Two servers lost

...in every case, all volumes will stay online. (Make sure your cluster maintains quorum.)

Examples where everything goes offline

Over its lifetime, Storage Spaces can tolerate any number of failures, because it restores to full resiliency after each one, given sufficient time. However, at most two fault domains can safely be affected by failures at any given moment. The following are therefore examples of what three-way mirroring and/or dual parity cannot tolerate.

  • 7. Drives lost in three or more servers at once
  • 8. Three or more servers lost at once

Usage

Check out Create volumes.

Next steps

For further reading on subjects mentioned in this article, see the following:

728x90
728x90

Adding a Hyper-V host to SCVMM is pretty straight forward, I would only hope so, since they are both Microsoft products. Well, as quick as it is to add a Hyper-V host, adding an ESX/vCenter is just as quick. Here are the steps I took to add an ESX host and vCenter appliance to SCVMM 2012 R2.

Some prerequisites, well, I am assuming you have already deployed an ESX/ESXi server which also has a vCenter appliance installed and configured with a static IP and hostname. In my lab, I have vCenter installed on the ESX host itself. I am also assuming your SCVMM and ESX/ESXi environment(s) are able to communicate with one another.

  • Launch the SCVMM console
  • Create a Run As account, here I used the default VMware credentials (root/vmware)
  • Under the Fabric pane, and under the Servers > Infrastructure Node, right click on vCenter Servers, and add a new VMware vCenter Server

 

  • Input the vCenter IP address, leaving the TCP/IP port as default (443)
  • Also, specify the Run As account, select the one you created back at Step 2
  • Keep Communicate with VMware ESX host in secure mode enabled

 

  • Next, if the Run As account validated successfully, you should now get an Import Certificate prompt. Select Import

 

  • You can view the status of the new addition within the Jobs window

 

  • If all went smoothly, your vCenter appliance/server should now be within the vCenter Servers view!

  • Next, you will want to essentially the same steps above, but this time, we will add the ESX host
  • Select, Add VMware ESX Hosts and Clusters

  • Hopefully here it should auto populate the search with the host, if not, search for it, using its IP or hostname

  • If all went went, proper Run As account, etc. etc, then it should soon be visible within the Server > All  Hosts view. Confirm by viewing the Jobs window for any errors/messages.

 

728x90
728x90

Adding a Hyper-V host to SCVMM is pretty straight forward, I would only hope so, since they are both Microsoft products. Well, as quick as it is to add a Hyper-V host, adding an ESX/vCenter is just as quick. Here are the steps I took to add an ESX host and vCenter appliance to SCVMM 2012 R2.

Some prerequisites, well, I am assuming you have already deployed an ESX/ESXi server which also has a vCenter appliance installed and configured with a static IP and hostname. In my lab, I have vCenter installed on the ESX host itself. I am also assuming your SCVMM and ESX/ESXi environment(s) are able to communicate with one another.

  • Launch the SCVMM console
  • Create a Run As account, here I used the default VMware credentials (root/vmware)
  • Under the Fabric pane, and under the Servers > Infrastructure Node, right click on vCenter Servers, and add a new VMware vCenter Server

 

  • Input the vCenter IP address, leaving the TCP/IP port as default (443)
  • Also, specify the Run As account, select the one you created back at Step 2
  • Keep Communicate with VMware ESX host in secure mode enabled

 

  • Next, if the Run As account validated successfully, you should now get an Import Certificate prompt. Select Import

 

  • You can view the status of the new addition within the Jobs window

 

  • If all went smoothly, your vCenter appliance/server should now be within the vCenter Servers view!

  • Next, you will want to essentially the same steps above, but this time, we will add the ESX host
  • Select, Add VMware ESX Hosts and Clusters

  • Hopefully here it should auto populate the search with the host, if not, search for it, using its IP or hostname

  • If all went went, proper Run As account, etc. etc, then it should soon be visible within the Server > All  Hosts view. Confirm by viewing the Jobs window for any errors/messages.

 

728x90
728x90

This blog post should have been posted quite some time ago, however, after numerous revisions and the details in the post, you’ll understand why.

In this post I will demonstrate creating a converged network fabric in SCVMM 2012R2. This converged network will consist of logical network adapters, QoS, NIC (vNIC) teaming, and network adapters.

Step 1, Understand your infrastructure

To begin, my environment is using a Cisco UCS (B200 M4) back end, with Cisco Nexus 9K switches and of course Hyper-V (Windows 2012R2) as its hypervisor. The UCS profile used here, has been provisioned with 7 vNICs and dedicated VLANs for each vNIC to isolate the traffic between the networks. The 7 vNICs for the following jobs (see below). All vNICS have a 10GB interface.

  1. iSCSI-A (traffic to the SAN controller 1)
  2. iSCSI-B (traffic to the SAN controller 2)
  3. CSV-Heartbeat
  4. Live Migration
  5. Management
  6. Server-A (VM Production traffic)
  7. Server-B (VM Production traffic)

Server-A and Server-B vNICs we will team, but we will get into that later.

Step 2, we need understand what all these vNICs are intended for. The logical networks below illustrate the purpose of each network.

  1. SAN/Storage (1) (iSCSI-A) – This network will be for access storage via iSCSI on SAN controller 1. In this environment, we will have two VLANs for redundancy, thus two iSCSI networks.
  2. SAN/Storage (2) (iSCSI-B) – see above. This network will be for access storage via iSCSI on SAN controller 2.
  3. Live Migration – This network will be communication between the hypervisors to transfer VM memory, states, etc.
  4. CSV/Heartbeat – This network will be used by the cluster to communicate a healthy (online) state of the environment.
  5. Management – This network will be used to manage the Hyper-V/hypervisors. SCVMM will make use of this network to communicate to the Hyper-V nodes.
  6. VM Traffic (Server-A + Server-B) – This network will be intended communication for VMs and VMs only. This will be not only a redundant network, but a teamed network to allow additional I/O throughout. As mentioned, all vNICs are on a 10GB interface, teaming these two vNICs/networks will allow I/O to operate at 20GB/s.

Please refer to Microsoft article further details, HERE.

Step 3, SCVMM – Create Logical Network(s)

Within SCVMM, you will now need to create your logical networks within the Fabric pane. As mentioned, I am using VLANs to isolate my traffic. I am also planning to have 15 VM network environments with each having its own dedicated VLAN, VLAN 101 through 116, ie. 10.47.101-116.x. Likewise, dedicated VLANs for iSCSI, Live Migration, etc.

Here you need to specify the IP subnet and VLAN ID, and apply it to your Host(s) group.

Step 4, SCVMM – Create IP Pool(s)

Once you create all of your logical networks, you can now create IP Pools. IP Pools will allow you to manage your logical network, and ensure there are no duplicate IPs consumed. You can also reserve IPs for VIPs, etc. In the screenshot below, as you can see, within my “Production” VM network traffic, my IP range states at 10.47.101.100/24 and ends at 10.47.101.252. This allows 155 IPs to be used. If the IP Pool is soon to be exhausted, this setting configuration can be changed to increase the scope. But for now, I know 155 IPs is more than enough.

By right-clicking on the Logical Network you just created, select “Create IP Pool“.

You will need to bound the IP Pool to the Logical Network.

Choose, “Use an existing network site” and ensure the right network site and IP subnet populated.

Here, I am defining a range of IPs for my Pool. Although I know 155 IPs are more than enough, and will never need all 254 IPs, I am comfortable with the range starting at 100.

As you can see here, I have also specified the Gateway and provided 2 DNS servers for the IP Pool. When a new VM will be created, all of the IP Properties will be pulled from here and populated once the VM has been built.

At the end of all this, your Logical Network Fabric could look something like this, with your Logical Networks and IP Pools per network.

Step 5, SCVMM – Create VM Networks + IP Pools

Within the VMs and Services pane, we will now need to create VM networks. This will be assoicated to our Logical Networks we just created. Within the creation process, we will need to specify the Logical network bound to this VM network. Here I created IP Pools again. I find this process of IP Pools a bit odd/redundant. I have IP Pools in both the Logical Network and the VM Network.

 

Step 6, SCVMM – Creating Uplink Port Profile

Now we need to create the Uplink Port Profile for our VM Production Traffic. Unfortunately with SCVMM 2012 R2 UR8, SCVMM does not come with a default Uplink port profile, so we must create one. Microsoft best practice indicates using a Dynamic and Switch Independent for the Hyper-V workload.

Now we will need to bound all the networks we previous created to the Uplink Port Profile. Here VMM will tell the hypervisors how they are connected and mapped to the network fabric. iSCSI traffic, Live Migration, VM Production, CSV-Heartbeat, etc.

 

Step 7, SCVMM – Create Logical Switch

Now we will create the logical switch, or also known as a vSwitch. The logical switch is the last part of the fabric puzzle. This logical switch will contain the Uplink Port Profile along with the Virtual port profiles (if we chose to manage QoS via SCVMM).

Within the Logical Switches – Fabric, we will create a new Logical switch. In my scenario, I have not made use of SR-IOV (Single Root – Input Output Virtualization).

We will use the default Microsoft Windows Filtering Platform for our vSwitch extension.

Here will will specify the uplink port profile(s) that will be associated to the logical switch.  We will Team the mode, and add our Production Uplink/Network sites.

We will need to specify the port classifications for each virtual port for the logical switch. Here you can see we are using three classes, high, medium and low bandwidth. 

Step 8, SCVMM – Assign Logical Switch to Hypervisor

Finally, we now need to assign the logical switch to our hypervisor(s). Navigate to (each) the host group within the fabric work-space and within each hypervisors properties, navigate to the Virtual Switches. Select “New Virtual Switch“. Here we will specify which (in our case only 1) Uplink port profile to use on the physical adapter. Since my two vNICs will be teamed, I will have two (2) adapters bound to the same Uplink port profile.

 

Now you are ready to start building machines, making use of your network fabric, and maximizing System Center Virtual Machine Manager 2012R2’s  power.

 

If you have any questions, please drop me a line, and/or need some guidance.

728x90

+ Recent posts