Welcome to MSDN Blogs Sign in | Join | Help

Intriguing Spaces




Ravi Velpula
Hyper-V Clustering – Basic Facts
Hyper-V High Availability Clustering can be done either by (a) Hyper-V Guest or (b) Hyper-V Host Clustering. The main differences in the two types is basically where the Clustering Service is running and where the Clustering Service is managing.

  • Guest

  • In a Guest Cluster implementation, the clustering service runs on the guest operating system in the virtual machine. This type of clustering provides high availability for applications that are hosted within the virtual machines. Hyper-V Guest Clustering can be implemented with the VMs either deployed on a single physical server, or across multiple physical servers.

    VM A and B are running on the same server. In this scenario, the workloads being managed by the clustering service in the guest operating systems in the VMs will not survive a physical server outage or a crash of the parent partition. If the physical server fails or the Windows Server 2008 instance running in the parent partition crashes, all of the VMs running on this system fail, causing the clustered workloads within the VMs to also fail.

    Clustered virtual machines A and B are running on different physical servers. In this scenario, the workloads being managed by the clustering software within the VMs are able to offer continued service even in the case of an unplanned physical server downtime or parent partition outage. As in all cluster implementations, the Hyper-V Guest Cluster implementation also requires that the cluster service running in all the guest OSes have direct access to a common shared storage. In the case of Hyper-V Guest Cluster, the only way to provision shared storage that is accessible directly by multiple VMs is by using iSCSI based storage (Direct Attached SAS and Fiber Channel Arrays are not supported for Hyper-V Guest Clustering). With the iSCSI initiators running in the guest operating systems, Hyper-V VMs can directly talk to the iSCSI storage without going through the storage stack of the parent partition.

  • Host

  • Hyper-V host servers can be clustered by leveraging the Windows Failover Clustering feature in Windows Server 2008 x64 editions. Failover Clustering in Windows Server 2008 is a robust and mature third-generation clustering solution that has been significantly improved in Windows Server 2008. Leveraging this Failover Clustering feature allows Hyper-V to offer HA solutions on a wide array of storage solutions including Direct-Attach SAS, iSCSI, and Fiber Channel storage arrays.

    Hyper-V Host Cluster configuration with the Windows native cluster service running in the Windows Server 2008 x64 Parent Partition. In this scenario, the Failover Clustering service in the parent partition will manage the VMs as the cluster resources. The VMs running on either of these servers can be configured as highly available and does not require clustering capabilities in the guest operating systems in the VMs. The only requirement is that all the virtual machine files are on storage accessible by all the physical servers that are part of the cluster. In this document, we will refer to VMs managed by the cluster for high availability as "HA VMs". Windows Server 2008 supports a maximum of 16 physical servers in a single Failover Cluster configuration. Therefore a single Hyper-V Host Cluster Configuration can have a maximum of 16 physical servers. Hyper-V Host Clustering may be implemented on (a) Windows Server 2008 x64 Enterprise Edition (b) Windows Server 2008 x64 Datacenter Edition.
    PerfMon - Analysis - Automation : PC+A

    The performance monitor, or system monitor, is a utility used to track a range of processes and give a real time graphical display of the results, on a Windows system. This tool can be used to assist you with the planning of upgrades, tracking of processes that need to be optimized, monitoring results of tuning and configuration scenarios, and the understanding of a workload and its effect on resource usage to identify bottlenecks.


    Performance Troubleshooting requires tonns of data about the system. PerMon - Performance Monitor (Reliability Monitor - additional component in Windows 2008) is one such that provides tones of streamlined data through various counters defined into various categories. PerfMo provides a feature where a customised collection set [counters from various categories] can be configured and data can be collected to identify the performance issues - ranging from a certain workflow in the appication to the much bigger bottlenec in the system.  Simple so far…


    What makes this process of collecting the data challenging is – the nature of this tool that needs to be run on the system for it to accurately collected the information. Therefore, once the data is collected in a format desirable (.CSV, .BLG) we need to port this to local systems and spread in Excel to go through the ocean of decimal numbers to figure out what actually we want to conclude.


    Excel is one tool that can be run to get some graphs to show them the trend visually. PerfMon itself provide the feature to feed the .BLG file and repro the collection trace again off-line. Still doesn’t make us quite there…


    Application


    PC+A = I called it - Performance Collected PLUS Analyzer – is inspired by PAL (codeplex/pal

    ) and makes use of underlying scripts and templates. Extended it with a UI (Source code attached in zip format) that is capable of (i) configuring the collection set, (ii) running and stopping, (iii) importing the .BLG file locally, (iv) run the analysis against the selected template (SQL, IIS, BizTalk, Exchange, AD) to analyze the data against threshold already set in the template.  I am currently using the XML Template available with PAL – which has the feature to extend the template by providing threshold and even customizing the XML.

    Currently this tool is (Prototype/POC) customized for Microsoft IT environment for only SQL Server related Counters, but the given source code and templates (provided with this) can be customized to suite any enterprise production environment.  A great prototype that can be customized and extended to suite any enterprise (Windows Platform – 2003/2008/Virtual Server) shop.  Still in infancy so all the feature doesn’t work and not fully error-free.  The report and the source PAL tool are worth taking a look.

     

    This gives me an idea to club my Quick DMV tool concept with this to give a one tool for pure SQL Server performance analysis..I am going to try that in my free time for another 2-3 weeks for now.

     

     

    Site Content Generator Through RSS-Consume

    This might not be 'the' place for this tool, because I first wrote this tool to pull some user relevant content to my site and generate the 'adsense' content rightly relevant to the content user is viewing. RSS-Consume is generic tool that can be embedded with 'adcense' - Google, 'adcenter' - Microsoft, Chitika, Quigo, Live Search Cashback ,Yahoo! Publisher Network, AdBrite, Value Click Media and many more Online Advertiser providers subscriptions.

     

    Application


    RSS-Consume can be used on the content driven website to drive some very relevant online advertisements from variety of Online advertisers to your website. The beauty of this tool is it generates the HTML pages (this can be extended to generate dynamic .net or any platform pages). Provides the user to select custom style sheet for page layout and control the number of RSS Feeds per page. This can be further customized to directly embed in the online application for users to subscribe the content from various RSS/Atom feeds, which will in turn generate the relevant advertisements on the page.





    Architecture


    A CSharp class transforms the RSS/XML/Atom Feed to HTML. RSS-Consume takes the Page style sheet or HTML and the XML/RSS/Atom feed location as basic inputs. Then spits out the fully formatted target HTML embedded with the ads which can be directly uploaded to the site. This is just a bare bone fully working model and can be extend to any complex requirements and definitely be automated to all the task on the fly or schedule it.

    Windows Azure - Quick Facts -1

    Red Dog, Strata, Zurich -- All seem to be Settling with Azure. Everything came together as a robust platform for Development of services [On Demand comute and storage to host, scale and manage Web-application on the Internet through Microsoft Data Centers], Service hosting and Service Management.


    Windows Azure will -
  • Build, modify, and distribute applications to the Web with minimal on-premises resources.
  • Perform services (large-volume storage, batch processing, intense or large-volume computations, etc.) off premises.
  • Create, test, debug, and distribute Web services quickly and inexpensively.
  • Reduce costs of building and extending on-premises resources.
  • Reduce the effort and costs of IT management.


  • High Level Components:

    Azure - 'A Cloud Service Operating System' for running applications and storing dara on servers in Microsoft Data Centers which serves as Development, run-time and control environment for Azure Service Platform. Contrary to Windows Server, that addresses the on-premises and hosting market.

    .Net Services - suite of web services for customers with integration and business-to-business collaboration requirements; the services offered include workflow, access control, and service bus connectivity, and all run from the Azure Services Platform. Core components for these services are (i) Service Bus - connectivity to servicea and applications (Cross organizational communication); (ii) Workflow Service - simplifies complex code and business process by enabling interaction between services and application through workflows (pre-written activities); (iii) Access Control Service - access control rules and authorization as a webservice.

    SQL Services: SQL Data Services (SDS) offers highly scalable and Internet-facing distributed database services for storing and processing relational queries. It helps you develop and provision new applications quickly with REST and SOAP based web protocols. The services are built on robust SQL Server database and Windows Server technologies, providing high availability and security.

    SQL Data Services is a true scale-out distributed database service in cloud that enables database resource virtualizing across multiple tenants. Hosted database in cloud VM takes advantage of hardware and OS level virtualization to provide some economies of scale but database is not a distributed resource. SQL Data Services takes advantage of data partitioning to provide throughput and scale that is unmatched through hardware and OS level virtualization.
    Automatic failure detection and failover are core principles in SQL Data Services and provides high availability without sacrificing data consistency. Hosted database in cloud still requires a dedicated IT support. Software upgrades, tuning, patching and SLA’s are built-in SQL Data Services. Hosted database in cloud require IT support to manage business continuity, availability, upgrades, tuning etc.

    If you are developing a application that requires a highly scale-out file system blob storage then Windows Azure Storage Service will fulfill your need. On the other hand, if your application requires support for database queries then SDS will fulfill your need.

    Live Services: Provides framework for synchronizing data across desktops and devices. Cross Platform and Technology support to interact with Cloud Services.

    Dynamics: Microsoft Dynamics CRM currently runs on Windows Server and Microsoft SQL Server; you can choose to run the application on your premises or use Microsoft on demand CRM Online.

    SharePoint: Today you can write code in SharePoint that uses Web Services to make calls to Azure services. This can be achieved using out of the box SharePoint functionality like the Data View Web Part or in code using ASMX Web Services or WCF Web Services in a custom web part.

    Additional Links:
    SDK
    Tool Kit
    White Paper
    .NET Services

    Related Technologies:
    Innovative Fabric Controller Technology enables applications to scale seemlessly (on-demand). The Windows Azure Fabric is a scalable hosting environment built on distributed Microsoft data centers. The Windows Azure Fabric Controller manages resources, load balancing, and the service lifecycle based on requirements established by the developer. The Fabric Controller deploys the service and manages upgrades and failures to maintain availability.

    WASS-SDS - Windows Azure Storage Service is designed to be the lowest cost, most efficient solution for large scale data storage and retrieval in the cloud. It can store blobs, queues, and simple tables (non-relational). SQL Services is designed to bring the power of relational databases into the cloud and will provide rich querying over tables.

    Part-2 - will try to put some code samples/project. Happy Exploring Azure !!.
    CloudDB/SSDS - First Look

    BigTable on GFS. SimpleDB on AS3. SSDS on Windows. What are these anyways? Simple but versatile Web-based services that implement Representational State Transfer (REST)? APIs for interacting with an increasing list of web-based services? Highly Scalable, always available online (web-hosted) data storage and computing services? Scale-free storage, distributed computing and reliable data processing services?

    SSDS Offerings:

    ·          Unlimited scale – virtually no restriction on storage utilization

    ·          High availability – always available, from any location 

    ·          High quality of service – fast, reliable access, durable backup

    ·          Rich data services – offer a growing ecosystem of storage-related services

    ·          Easy to manage – easily deploy, change, and control your data

    ·          On-demand service – storage cost based on actual usage and SLA 

    ·          Low cost – based on commodity hardware and “lights off” operations

    ·          Geo replication – data available from geo-distributed locations to ensures business continuity

     

    SQL Server Data Service (SSDS) is a highly scalable and cost-effective on-demand data storage and query processing web service. It is built on robust SQL Server technologies and helps guarantees a business-ready service level agreement covering high availability, performance and security features. Microsoft SSDS is accessible using standards based protocols (SOAP, REST) for quick provisioning of on-demand data-driven & mashup applications.

     

    What is REST for? REST identifies data items (resources) by a unique Uniform Resource Identifier (URI) and accesses them by HTTP without requiring an additional messaging layer, such as SOAP. Browser-based Web apps that feeds on data through RESTful services are known as Rich Internet applications (RIAs - Mashups - Microsoft Popfly or Yahoo! Pipes, Interactive Asynchronous JavaScript and XML (AJAX), Microsoft Silverlight, or Adobe Flash/AIR applications).

     

    SSDS Get Started:

    To use SQL Server Data Services (SSDS), you first need to sign up for the service and acquire a user name and password. For this private beta release, you go to http://www.microsoft.com/sql/dataservices/default.mspx and register your request for the free beta. Customer invitations are sent via e-mail. Each invited customer receives an invitation id. These customers go to https://beta.mssds.com/public/Default.aspx, provide their invitation id, and then obtain the necessary credentials to access the data service. [MSDN]

    [Username : rvelpula123; Password: xxxxxxxxxxxxxxxxxxx

     

    You would also need to download and install SSDS SDK from SSDS Downloads. SSDS Explorer is a simple UI to perform basic operations like POST, PUT, GET, DELETE and QUERY on your interface (Authorities, Containers and Entities). SSDS Command Line utilities will give ability to quickly create Authorities, Containers and Entities.

    Creating Authority using SSDS Comand Line Utility.

    st create rvelpula-auth /host:data.beta.mssds.com /user:rvelpula123 /password: xxxxxxxxxxxxxxxxxxxxx

    Querying Authority using SSDS Comand Line Utility.

    st get rvelpula-auth /host:data.beta.mssds.com /user:rvelpula123 /password:xxxxxxxxxxxxxxxxxxxxx

    <s:Authority xmlns:s="http://schemas.microsoft.com/sitka/2008/03/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="http://www.w3.org/2

    LSchema">

      <s:Id>rvelpula-auth</s:Id>

      <s:Version>4249361</s:Version>

    </s:Authority>

     

    SSDS Explorer can also be used for this:

    Adding Northwind database to your Authority.

    Download SSDS Test Harness Tool from Visual Studio Magazine. Change the connection string parameter to point to your local database. Modify the User id/Password/ Authority/Container property values on the Main Form. Build SSDSNwindEntitiesCS solution and Run SSDSNWindEntitiesCS.EXE to upload Northwind Database.

    Further reference.

    PhluffyFotos

    LitWareHR

    LINQ ; LINQ Help

    MS-Word format of this document is attached with screen-shots.

    SQL Server DBA – Monitoring SCOM Way

    The default Management Pack that is shipped with SCOM has vast collection of scripts (VB Script, WMI Scripts, PowerShell Scripts) to monitor, manage both system and SQL Server resources. SCOM run these scripts to cater its functionality.

    Microsoft.SQLServer.2005.Discovery.xml is one such file that has some great scripts. Well, the entire framework of scripts is designed for SCOM, but you can tweak these code snippets into managed code components (Windows Form Application using VB.NET) and come-up with a customized tool to monitor your SQL Server environments.

    On a Windows 2003 Server where SCOM is installed, the typical path where you can find these Management Packs is – “C:\Program Files\System Center Operations Manager 2007\Health Service State\Management Packs”. Attached is a sample XML file that is available with SQL Server Management Pack.

    Slow Performance - Speedy Recovery : SQL Server DMVs+SMO

    This is just another blog (to add to many already existing) to sing the praise of another SQL Server 2005 (and SQL Server 2008) new feature - DMV. This time SQL-OS (Kernel layer) has been re-architected and internal structures and statistical data are exposed as relational rowsets through Dynamic Management Views. Prettymuch same as SYSPROCESSES that were existed in SQL Server 2000. There are hundreds of blogs, ariticles, forums where variety of DMV (both Views and Functions) have been discussed. I sincerely recommend all aspirant DBAs and Production Support Engineers to quickly get to the speed on DMVs and empower yourself with enourmous information these Views exposes.

    Being able to quickly analyze the workload and possible bottlenecks on a busy, mission-critical SQL Server is an extremely valuable skill, especially in a crisis situation that usually creeps at the end of the day/shift. Service requests start to pour in with frozen web-pages of critical app and you need to quickly identify the culprit.

    Another new and improved feature of SQL Server 2005 and SQL Server 2008 is two .NET based object libraries: SQL Server Management Objects (SMO) & Replication Management Objects (RMO). They completely replace SQL-DMO (COM based API that Enterprise Manager was built to manage SQL Server). SMO, a .NET based object model, ships with SQL Server 2005 in an assembly named Microsoft.SqlServer.Smo.dll. Some other supporting DLLs are also included in C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies folder.


    Quick-DMV-Data:

    Quick and Easy way to get a sneak preview on Dynamic Management View information without launching SSMS. This tool can be extended to include variety of custom queries by extending the input XML files. I have provided many customized queries to quickly get to the bottom of the trouble maker- rouge in the SQL Server through this stupid-but-intuitive tool. (Source Code Included – for extending and incorporating your favorite scripts – both at runtime or in input XML Script File).

    Tool is crude but very sleek/light and makes use of SQL SMO classes shipped for SQL Server 2005 and SQL Server 2008 with .NET 3.0/3.5. SQLSMO is what drives SSMS UI behind the scene. Application is built using VS2008 (VB.NET). Input scripts are in the XML format which can be extended to incorporate your custom scripts.

    Uploading the VB.NET Source Code with input XML Files (please make necessary changes to the hard-coded file paths in the code). Soon will be publishing a self installing .msi (as I am still figuring out how to build a setup package using VS2008 :-). Its just the first cut and might be jerky - so play with it). !!

    Page view tracker