• Converged Fabric in Windows Server 2012 Hyper-v

     

    Converged Fabrics tends to simplify data center management by consolidating all communication (Management, LiveMigration, iSCSI, CSV and Cluster heartbeat & CSV) onto a single fabric for ease of management and better utilization of high availability features like Teaming.

    In this post we will create multiple virtual communication networks over two 10 Gbps  physical NICs teamed to form “LAN01-Team”, as shown in the following diagram:

     

    Before proceeding with converged networks creation and QoS configuration some terminologies has to be described first

    ·         MaximumBandwidth<Int64>:Specifies the maximum bandwidth, in bits per second, for the virtual network adapter. The specified value is rounded to the nearest multiple of eight. Specify zero to disable the feature.

    ·         MinimumBandwidthAbsolute<Int64>: Specifies the minimum bandwidth, in bits per second, for the virtual network adapter. The specified value is rounded to the nearest multiple of eight. For predictable behavior, you should specify a number larger than 100Mbps.

    ·         MinimumBandwidthWeight<UInt32>: Specifies the minimum bandwidth, in terms of relative weight, for the virtual network adapter. The weight describes how much bandwidth the virtual network adapter intends to have in relative to other virtual network adapters connected to the same virtual switch. The range of the value is 0 and 100. Specify zero to disable the feature.

    ·         DefaultFlowMinimumBandwidthAbsolute<Int64> “To be used with Virtual Switches only set-vmswitch”: Specifies the minimum bandwidth, in bits per second, that is allocated to a special bucket called “default flow.” Any traffic sent by a virtual network adapter that is connected to this virtual switch and does not have minimum bandwidth allocated will be filtered into this bucket. Specify a value for this parameter only if the minimum bandwidth mode on this virtual switch is absolute.By default, the virtual switch allocates 10% of the total bandwidth, which depends on the physical network adapter it binds to, to this bucket. For example, if a virtual switch binds to a 1GbE network adapter, this special bucket can use at least 100Mbps. If the value is not multiples of 8 it will be rounded down to the nearest number that is. For example, input 1234567 will be converted to 1234560.

    Now we will start to create and Virtual Switch, different virtual networks with different QoS bandwidth allocation for each network as per the below table;

     

    VMSW01

    Management

    Guest Access

    Live Migration

    iSCSI

    Cluster

    MaximumBandwidth

     

    1000000000

    5000000000

    1000000000

    2000000000

    500000000

    MinimumBandwidthAbsolute

     

     

     

     

     

     

    MinimumBandwidthWeight

     

    20

    40

    20

    20

    20

    DefaultFlowMinimumBandwidthAbsolute

    20

     

     

     

     

     

     

    1.       First step to configure the above network requirements is to create the virtual switch VMSW01 and set the DefaultFlowMinimumBandwidthAbsolute to be 20, to do so in windows PowerShell run the following command "This switch will be used by Virtual Machines for guest networking access":

    New-VMSwitch "VMSW01" -MinimumBandwidthMode weight -NetAdapterName “LAN01-Team” –AllowManagement 1

     

    Set-VMSwitch "VMSW01" -DefaultFlowMinimumBandwidthWeight 20

    2.       Now we will create the Management, Live migration, iSCSI and Cluster network, to do so in windows PowerShell run the following commands:

    Add-VMNetworkAdapter -ManagementOS -Name "Management" -SwitchName  VMSW01"

      

    Add-VMNetworkAdapter -ManagementOS -Name "Live Migration" -SwitchName "VMSW01"

     

    Add-VMNetworkAdapter -ManagementOS -Name "iSCSI" -SwitchName "VMSW01"

     

    Add-VMNetworkAdapter -ManagementOS -Name "Cluster" -SwitchName "VMSW01"

     

    3.       Then the final step is to set the QoS bandwidth allocation limits on each of the created networks, to do so in windows PowerShell run the following commands:

    Set-VMNetworkAdapter -ManagementOS -Name "Management" -MinimumBandwidthWeight 20 –MaximumBandwidth 100000000

      

    Set-VMNetworkAdapter -ManagementOS -Name "Live Migration" -MinimumBandwidthWeight 20 –MaximumBandwidth 1000000000

     

    Set-VMNetworkAdapter -ManagementOS -Name "iSCSI" -MinimumBandwidthWeight 20 –MaximumBandwidth 2000000000

     

    Set-VMNetworkAdapter -ManagementOS -Name "Cluster" -MinimumBandwidthWeight 20 –MaximumBandwidth 500000000

     

    To get all of the created virtual network adapters settings run the following PowerShell command:

    Get-VMNetworkAdapter -all -Name * | fl 

    Other Examples of configuring virtual networks while separating the management interface

    Example1: No high availability for any type of traffic.

    Example2:


     

    I hope you found this post helpful.

     

     

  • System Center 2012 Configuration Manager–Part7: Software Updates (Deploy)

    In our last article Part6: Software Updates (SUP), we’ve configure the Software Update point and ran the synchronization with Microsoft Updates server.

    As a result of this process, we’ve got the Software Updates metadata synchronized and the result can be viewed from the Configuration Manager console

    16

    Throughout this article, we will select few updates and deploy them to a collection of Windows 7 machines. Before we do that, it would be nice to review the Software Update policy to make sure its properties satisfy our business needs.

    From the Client Settings in the Administration tab, Click Software Update

    image

    If you are planning to use Software Update point to patch your environment, make sure you do not configure domain policy for client computers to receive updates from WSUS through Group Policy Settings. The group policy settings used by Windows Update Agent (WUA) on client computers will override any machine policy sent from Configuration Manager and hence the client agent will retrieve the updates specified by the “unmanaged” WSUS.

    Deploying Software Updates to client machines is simply the process of adding software updates to a software update group and then deploy the software update group to clients. There are actually two methods to deploy updates. The first one is a manual process where we select updates from the console and deploy it to a collection of machines and the second method is automatic by using an automatic deployment rule or by adding software updates to an update group that has active an deployment.

    At your initial install, you might need to use first the manual method to get your devices up-to-date with required software updates and then you create an automatic deployment rule to manage your ongoing monthly software update deployments.

    As you’ve seen in our first screenshot, there are hundreds of updates in the console. The first step here would be to filter the updates by criteria.

    To do so, from the Configuration Manager console, click Software Library.

    Expand Software Updates and click All Software Updates.

    In the search pane, click Add Criteria and select the criteria that you want to use to filter software updates and click Add

    22

    Click Search to filter the Software Updates

    23

    Select the updates you wish to deploy, right click on your selection and click Deploy

    27

    On the General page, specify the name of the deployment, the software update group name and the collection where the updates will be deployed

    28

    On the Deployment Settings page, make sure Required is selected as the Type of deployment to make sure the updates will be mandatory with an installation deadline and Minimal for Detail level.

    On the Scheduling page, select Client local time, on the Software Available Time, select As soon as possible to make sure clients are notified for updates installation as soon as their next policy polling cycle and on the Installation deadline, specify a time where the software updates will get installed automatically

    30

    On the User Experience page, you can keep the default settings and click Next

    31

    On the Alerts page, configure how Configuration Manager and Operations Manager will generate Alerts

    32

    On the Download Settings page, when a client is connected to a slow network or is using a fallback content location, specify whether the client will download and install the software updates and when the content for the software updates is not available on a preferred distribution point, you can specify whether to have the client download and install the software updates from a fallback distribution point and on the Allow clients to share content with other clients on the same subnet: specify whether to enable the use of BranchCache for content downloads

    33

    On the Deployment Package page, select to create a new deployment package and specify its properties

    34

    On the Distribution point page, select the distribution point to host the software update files.

    35

    On the Download location page, select to Download software updates from the internet

    36

    On the Language selection page, select the languages for which the selected software updates are downloaded.

    On the Summary page, review the settings and click Save As Template to save the settings for a future deployment

    38

    Click Next and on the Completion screen click Close.

    At this stage, you would need to wait for the next policy polling cycle on the client machine or you can force the client machine to retrieve the machine policy by double clicking the Configuration Manager Client Agent found in Control Panel.

    From the Actions tab, select Machine Policy Retrieval & Evaluation Cycle and click Run Now

    image

    After few seconds, you will notice a notification message

    40

    From the Software Center, you can check the Software Updates deployment settings

    41

    Once the updates get installed, you will be able to view the installed updates with a description of each update

    42

    This comes to the end of this article where we’ve discussed the required steps to deploy Software Updates to devices. We will be discussing in a future article the automatic deployment rule when it comes to Endpoint Protection.

    “This article can also be viewed from my blog

  • Hyper-V Resource Metering in Windows server 2012 “Server 8 Beta”

     

    IT organizations need tools to charge back business units that they support while providing the business units with the right amount of resources to match their needs. For hosting providers, it is equally important to issue chargebacks based on the amount of usage by each customer.

    To implement advanced billing strategies that measure both the assigned capacity of a resource and its actual usage, earlier versions of Hyper-V required users to develop their own chargeback solutions that polled and aggregated performance counters. These solutions could be expensive to develop and sometimes led to loss of historical data.

    To assist with more accurate, streamlined chargebacks while protecting historical information, Hyper-V in Windows Server 2012 “Server 8 Beta” introduces Resource Metering, a feature that allows customers to create cost-effective, usage-based billing solutions. With this feature, service providers can choose the best billing strategy for their business model, and independent software vendors can develop more reliable, end-to-end chargeback solutions on top of Hyper-V.

    Metrics collected for each virtual machine

    §  Average CPU usage, measured in megahertz over a period of time.

    §  Average physical memory usage, measured in megabytes.

    §  Minimum memory usage (lowest amount of physical memory).

    §  Maximum memory usage (highest amount of physical memory).

    §  Maximum amount of disk space allocated to a virtual machine.

    §  Total incoming network traffic, measured in megabytes, for a virtual network adapter.

    §  Total outgoing network traffic, measured in megabytes, for a virtual network adapter

    To enable Hyper-V resource metering on hyper-v host HV01 run the following PowerShell commands:

    Get-VM -ComputerName HV01 | Enable-VMResourceMetering

    By default the collection interval for Hyper-v metering data is one hour to change this interval the following PowerShell command can be used “value used in the command below is one minute”:

    Set-vmhost –computername HV01 –ResourceMeteringSaveInterval 00:01:00

    To get all VMs metering data run the following PowerShell command:

    Get-VM -ComputerName HV01 | Measure-VM

    To get a particular VM “test01” metering data run the following PowerShell command:

    Get-VM -ComputerName HV01 -Name “test01” | Measure-VM

     

  • Prepare SharePoint Farm – Part 1 Prepare Windows Cluster

    This part demonstrate how to configure windows cluster for two server, to be used as SQL Cluster. 

    image

    Before you start

    · You need to have two network adapters on each node, one Public and one Private(for heartbeat communication).

    · Shared storage (like SAN storage) should be present and connected to both cluster nodes  with at least:

      • Quorum Disk (5GB)
      • DTC Disk (1GB)
      • SQL data files and log file disk(s)

    · domain user account (SPSadmin): add SPSadmin user as administrator on both servers

    · Prepare a preserved static IP and Cluster Name to be used.

    · Prepare a preserved static IP and DTC Name to be used.

     

    Windows Cluster Configuration

    1. Install latest windows updates on all server nodes.

    2. Install Application role and IIS role on both SQL DB server nodes

    image

    3. Install Fail over clustering feature on both SQL DB server nodes.

    image

    4. Provide a Cluster Name and Cluster IP for the database nodes:

    image

    Note: make sure that the public network is used here not the private (heartbeat)

    5. Below are the servers info

    image

    6. Cluster Disk files are configured as the following:

    image

    7. Configure DTC as clustered service , this is a pre requisite for SQL Cluster installation

    image

    8. DTC cluster configuration

    image

    9. Assign the DTC a cluster disk

    image

    10. Create SQL Group which is a logical group to include all SQL resources in :

    image

     

     

    Part 2 - Install and configure SQL Cluster

    Part 3 - Install and Configure NLB on WFE

    part 4 - Install and configure SharePoint farm (3-tier)

     

  • Web Performance and Load test in VS 2010 Ultimate, Part1

    Visual studio 2010 ultimate enable you to measure, improve and verify web application performance, Web performance test and load test only shipped with VS 2010 ultimate edition, i would like to mention that i will divide this topic into serial of blogs to be able cover all important technical points that web performance and load test covers,

    Part 1: Overview of the web performance and Load test

    Part 2: How to configure your visual studio environment to start web performance and Load test

    Part 3: Run results and how to analyzing the load performance result

    Part 4: Tips and Tricks

     

    Part1: Overview of the web performance and Load test

    Web performance Test enables verification that a Web application’s behavior is correct. They issue an ordered series of HTTP/HTTPS requests against a target Web application, and analyze each response for expected behaviors. You can use the integrated Web Test Recorder to create a test by observing your interaction with a target Web site through a browser window. Once the test is recorded, you can use that Web performance test to consistently repeat those recorded actions against the target Web application. Then you can customize your test by adding any extraction, validation rule, context parameters data sources (used to read randomize parameters) and make call to another web tests

    Load Test is used to verify that your application will perform as expected while under the stress of multiple concurrent users. You configure the levels and types of load you wish to simulate and then execute the load test. A series of requests will be generated against the target application, and Visual Studio will monitor the system under test to determine how well it performs.

    Load testing is most commonly used with Web performance tests to conduct smoke, load, and stress testing of ASP.NET applications. However, you are certainly not limited to this. Load tests are essentially lists of pointers to other tests, and they can include any other test type except for manual tests and coded UI tests. When you create a new Load Test, you are presented with a wizard that guides you through the necessary steps.

    By the wizard you will able to configure your load test by the following configurations:

    · Scenario Information

    o Load pattern (constant load, step load)

    o Test Mix Model based on (total no. of tests, no. of virtual users, user pace or sequential test order)

    o Test Mix (add no. of previously created web tests and determined the distribution %)

    o Network Mix (add multiple network types and determined the distribution %)

    o Browser Mix (add multiple browser types and determined the distribution %)

    · Counter sets

    o You add the computers that you want to monitor and the performance counters you are interested in (you can monitor your Database Server and IIS)

    · Run Settings

    o You can specify the test duration or test iterations

     

    Prerequisite steps to start your Load test:

    · Start to record many web performance tests that reflect your test cases that cover the user business cases

    · Each web test should cover only one test case (Flow)

    · Check and validate each flow separately

    · Existence of “LoadTest” DB

    When you run the load test, you will see the Load Test Monitor; by default it will show the Graphs view.

    How to prepare your scenarios:

    Before start working with Visual studio, you need to set the test scenarios and workflows, that you will be used through your web performance test and then build your load test depending on these scenarios. Here under I designed the below table to assist you to prepare your flows and then construct your different scenario and determine the weight for each scenario.

    image

     

    The above table contains the following information:

    Flow category: in this column you will list all the flow categories which group all your flows; I put one example for the first flow category (Login) which contains one flow (User Login flow).

    Flow Name: in this column you will list all the flows which construct your flow category; as example if we have flow category named “Internet banking transaction list” for internet banking portal, we will find the following flows included:

    · View latest Transaction for Current accounts

    · View latest Transaction for Saving accounts

    · View latest Transaction for Loan accounts

    · View latest Transaction for card accounts

    Scenarios: each scenario should composite from selected flow depend on the business cases from the customer prospective.

    Weights: you need to set two weights, user % weight (which indicate the percentage of usage this flow with every user) and Scenario weight (which indicate the percentage of executing this scenario per users).

    After completing the above table, now it seems you be ready to start working with visual studio and create your first test Project.

    Will continue in (Part 2: How to configure your visual studio environment to start web performance and Load test)