Create Azure Storage Account – New-AzureStorageAccount : StorageAccountAlreadyTaken


I was trying to create an Azure Storage Account using PowerShell cmdlets over the weekend and was welcomed by bunch of errors.

Error Message:

PS C:\> New-AzureStorageAccount -ResourceGroupName “TestAvaGRP” -Name “teststorage” -Type “Standard_LRS” -Location “East
US”
New-AzureStorageAccount : StorageAccountAlreadyTaken: The storage account named teststorage is already taken.
At line:1 char:1
+ New-AzureStorageAccount -ResourceGroupName “TestAvaGRP” -Name “teststorage” -Typ …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureStorageAccount], CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Management.Storage.NewAzureStorageAccountCommand

I quickly checked the Syntax of New-AzureStorageAccount from the following MSDN link https://msdn.microsoft.com/en-us/library/azure/dn495115.aspx and it says “The New-AzureStorageAccount cmdlet creates an account that provides access to Azure storage services. A storage account is a globally unique resource within the storage system. The account is the parent namespace for the Blob, Queue, and Table services.”

In simple language, this means, if some one else who is not related to your subscription has created the storage account with same name – the command will fail to create the storage account. Your storage account name should be unique because New-AzureStorageAccount runs in global context and not under your subscription. Hopefully Microsoft will get around this as it might cause naming standards issue when creating accounts (if someone else has created the similar storage account else where with same name).

Error Creating Azure Storage Container


Was working on an Azure Storage is fun and it does require hands on experience to understand Azure storage capabilities. This post is targeted on creating an Azure storage account and container. I was successful in creating Azure storage account and face palm with bunch of errors while creating containers. Will dive into the scenario.

Error:

AzureStorageContainer error

Prerequisites: 

This activity assumes your environment has

a) Azure PowerShell modules installed

b) Azure Subscription

c) Co-Admin / Service Administrator access to the subscription

Troubleshooting

  1. Verify your subscription details using Get-Azuresubscription -Current -ExtendedDetails. Verify “IsDefault” & “IsCurrent” set to True.
  2. Verify CurrentStorageAccountName is set to VALID name.

New-AzureStorageContainer. When you run the following command for creating Azure Storage Container, the command use the value defined under CurrentStorageAccountName. In my scenario, i was trying to create a storage container on a Storage Account which didnt exist.

Confusing:

AzureStorageContainer error2

From the above screenshot, it is evident that PowerShell settings takes precedence over GUI.

Windows 2012 R2 PoolMon


Introduction:

There are 3 different types of temporary storage that can be used by a driver such as

a) Kernel Stack

b) Non paged pool

c) Paged pool

Non Paged Pool: Driver routines running at elevated IRQL’s need to allocate temporary memory called as Non Paged pool. Non paged pool memory is always physically resident.

Paged Pool: Virtual memory available to the driver routines running below DISPATCH_LEVEL IRQL such as driver cleanup , driver initialization, dispatch routines and kernel mode threads.

The most common function to use is ExAllocatePool (which is obsolete) and should use ExAllocatePoolwithTag instead. At a high level ExAllocatePoolwithTag is similar to heapalloc or malloc at user mode programming. The tag is used to identify the block memory / blocks allocated by the driver. To track the pool usage using the tags, you need to enable pool tagging using gflags

Non paged pool and Paged pool memory usage can be viewed using Poolmon.exe. There are several memory debugging tools which can be used in adjacent with Poolmon such as Windbg, Perfmon etc. Poolmon.exe dynamically updates the output for every few seconds and users who are familiar with the commands still valid with Windows Server 2012 R2

P- Sorts tags list by Paged, non-paged and mixed

B- Sort tags by maximum byte usage

T – Sort tags by tag name

M – Sort tags by maximum byte allocation

E – Displays Total Non paged and paged pool allocation at the bottom of the poolmon.exe window

S – Sort tags with the difference of allocs and frees

Q – Quit

F – Sort by Free

Installation:

Download the binaries by following below link and follow the instructions to download Poolmon.exe

http://www.microsoft.com/download/details.aspx?id=7911

Launch:

This is straightforward, simply click poolmon.exe and run the above commands after it displays the allocations.

When To Use:

This is interesting question, Poolmon should be used in conjunction with Perfmon / Windbg to understand the issues related to system performance. Collect the data and analyse the trend before using poolmon. With the help of Perfmon, identify the nonpaged pool leaks and paged pool leaks and run the poolmon logs .

With the help of poolmon, identify which tag is consuming most bytes.

for Eg:

Tag  Type    Allocs          Frees         Diff   Bytes      Per Alloc

———————————————————————–

Test   Paged    1473 (   0)    1002 (   0)    281 1972392

ipdc  Paged   12485 (  10)    5648 (   4)   4027  40395

CM28  Paged    6662 (   8)    5571 (   6)   1691  1745

MmSt  Paged     614 (   0)     441 (   0)    173   83456

From the above example Test is consuming 1972392 bytes which is highest. Use findstr to find the driver associated with Test tag. When using Windbg debugger can use !poolused /t5 2 and then !for_each_module s -a @#Base @#End “Test” and then load module against the address ( lm <address ) to find the driver

Hope this helps !

DNS Default Server : unknown


DNS Default Server: Unknown , this is the most common message Users see when they enter nslookup. This message means the DNS server which is configured on the client is not able to resolve itself / there is no pointer record configured for the DNS server.

DNS Server Unknown

To resolve the error, DNS administrator should ensure, there is an associated PTR record registered in the zone’s reverse lookup zone and test the nslookup command which should populate the DNS server name

Installing Stand Alone Root CA – Server 2012


Introduction:

Depending on the CA hierarchy to be designed, this article focus on the steps required to install offline root CA on Windows Server 2012. Following are the assumptions

a)      Server will not be joined to the Active Directory domain

b)      Root CA is configured as Offline

c)      CAPolicy.inf is created under C:\windows and configured as per the CA hierarchy

d)     Networking and Storage considerations are considered

e)      Provision of User accounts are done ( local administrator permissions are configured accordingly )

 

Download File

Installing Stand Alone Root CA Server 2012

Windows Server 2012 Hyper-v Cool Features / Capabilities


Last week Microsoft released Windows Server 2012 RC. Microsoft has engineered some of the cool features / capabilities of Hyper-v includes

  • Ability to configure 320 Logical Processors per Hyper-v Host
  • Support upto 4 TB Memory per Hyper-v Host
  • Support upto 64 virtual CPU per Virtual Machine
  • Support upto 1 TB of Memory per Virtual Machine
  • Support upto 64 TB per Virtual disk
  • Support upto 255 Virtual disks per Virtual Machine which supports 16320 TB ( 15.93 Peta Bytes ) per Virtual Machine
  • Support upto 64 nodes per Cluster
  • Support upto 4000 Virtual Machines in a Cluster. 

Business Considerations For Exchange Design


      Business Requirements For Exchange Implementation

 

 

 

This guide will not target on the core technical aspects of exchange , rather concentrate on the business model which is vital and important while designing any solution.

 

I am keeping this guide as a solution and later go into technical details as necessary. This guide will be useful for anyone who wish to design their infrastructure , either new or modify the existing infrastructure.

 

User Modes

 

Possible Modes of User Requirement

 

  • Cached Exchange Mode : used for low-bandwidth environments
  • OWA : outlook web access
  • OMA : outlook Mobile access , receiving emails on mobile

 

 

Design Modes

 

Exchange falls into 2 design modes

 

  • Physical Mode
  • Logical Mode

 

 

Under physical mode we decide placement of the exchange server , its proximity , placement etc..

 

Under logical mode , exchange highly depends on the AD so AD infrastructure should be sound.

 

PS : Design Active directory keeping Exchange in design.

 

 

 

Infrastructure Considerations

 

Even before jumping to install the exchange and work on it , there are very major considerations one has to understand such as

 

Company detailed architecture diagram :

One should understand the architecture of the company , only when a complete solution can be designed, if you miss any of the part then you will end up doing messy stuff. So as a First Aid box , every Architect, Systems engineer , Administrator should have the detailed architecture diagram .

 

This blue print should give

  • Number of geographical spanned locations of your organization
  • Number of branch offices configured
  • Number of regional offices configured
  • Connectivity information between these locations
  • Number of servers installed on each location , including mixed mode servers.
  • Mobile users
  • Wireless users
  • Routers , switches details.

 

 

 

 

 

Connectivity :

This would be the next step after you have basic architecture diagram of your company , you have to concentrate of the connectivity and few basic checks would be

  • How are the devices at each location has internet connectivity
  • Internet connectivity provider information
  • Bandwidth information , you need to get bandwidth information for every site.
  • Leased Line information
  • MPLS VPN information
  • MPLS LogicalLeased line information
  • DSL connectivity information

 

I have listed the connection methods which are widely used today. So now you would have detailed understanding about the architecture and the bandwidth information handy.

 

 

Network Information :

This falls as my 3rd option which is very important with respect to design perspective. You have to understand the network layout of your organization which gives you more understanding of servers placement and security implementation. Some of the key points would be

  • Perimeter network
  • Wireless network
  • Bastion host
  • Placement of routers
  • Placement of firewall

 

I would say most of the network design consideration would fall into this model. Such as do you want to design wireless network , do you want to design bastion host , DMZ network are one of the major design considerations even before you bring in the servers.

 

So understanding about connection / bandwidth , we can judge what type of routers / networks to be configured.

 

 

 

Data Center :

This would constitute information about the cabling , rack space, power , logistics etc. Understanding these would give you detailed understanding of placements of the routers and switches or any hardware devices in the organization.

 

 

After understanding the above design aspects , one can move ahead and start designing for the exchange server.

 

Active Directory Considerations:

Every datacenter uses exchange server, and organizations are very much dependent on the exchange servers and the only reason is exchange is easy to manage, secured , integrates with AD. So one remembers Alt+s  easily !.

 

After understanding the network , perimeter information , hardware information , you have to plan AD which is not an friendly component of Microsoft. AD by the name makes people to think , think and think , its vast and complex. So you need to understand how is your AD forest implemented , you need to think if you need a new forest to install Exchange or can existing AD forest accomplish this. So the next step would be to note down

  • Number of forests
  • Number of domains
  • Number of sites in each domain
  • Subnet configuration
  • Users information

 

Understand the number of domain controllers, Global catalog servers deployed in each domain in a forest , this information is useful in managing the GAL and used for exchange server objects replication.

 

 

 

As a personal experience I have seen that administrators try to implement latest software an example would be if Exchange 2010 is introduced in market , they want to implement but fail to evaluate

  • Is there a real need for the new software implementation
  • Does current network infrastructure is feasible
  • Migration cost
  • Planning and implementation

 

 

I will be continuing this article focusing on AD planning for Exchange in my future posts.