VMware EVO:RAIL

VMware have announced their Hyper-Converged Infrastructure Solutions package, called EVO:RAIL. EVO stands for an evolutionary technology. It’s very much the vSphere in a box solution that other vendors have been threatening to produced over the years, some have had some success with it.

However, after watching the youtube presentation here, it’s looking like a very accomplished piece of engineering and automation. Something that I continually advocate to anyone who sits still long enough!!

There’s also an offering called EVO:RACK, which is for a larger implementation of the same technology, more of a private/public vCloud data centre in a box approach. For more information, see the official VMware CTO blog here.

Be Sociable, Share!

{ 0 comments }

Goodbye vCHS – Hello vCloud Air

Not that I’m claiming that VMware are copying from the same homework as Apple, but I’ve already got an iPad with the same name…

At last they have seen the light and gotten rid of that terrible brand, vCHS.

VMware announced their newly branded on-demand cloud as ‘vCloud Air’. There are two data centres in the UK, the latest opening in October 2013.

If you want to get your hands on this, via the Hands on Labs, take a look here.

The official VMware press release is available here.

Be Sociable, Share!

{ 0 comments }

VMworld 2015 – Dates and Locations

The dates and locations for the VMworld 2015 have been announced as follows;

VMworld US will be in San Francisco again, August 30th – September 3rd 2015

VMworld Europe will in Barcelona again, October 13th – 15th 2015

Be Sociable, Share!

{ 0 comments }

vSphere Hardening Guides

Security is usually the last thing that gets considered in a design or when you are implementing a new virtualised environment. However, there are lots of industries and government organisations where security is their first and foremost concern.

As I’ve worked in both finance and Central/Local Government organisations, the main question you will often hear, is how do I ensure that this is secure…?

Security is a multi-layered approach and is more of a journey, rather than a destination. There is no magic silver bullet solution and one size does not fit all. Every environment and organisation has different requirements and their approach to risk is unique in each case.

If security is a concern in your environment, I’d advise on hardening the vSphere environment as one of the many layers of defence. VMware publish hardening guides for their platform. Click on the link below for further information.

http://www.vmware.com/security/hardening-guides.html

Be Sociable, Share!

{ 0 comments }

Using PowerCLi with vCloud

I’ve been looking at using PowerCLi with vCloud. I use it extensively with vSphere, so how much different can it be? The answer is subtly different. The methods of connecting are similar, but the commands used are reassuringly familiar!

First of all you need to connect to a vCloud Director Server;

Run Connect-CIServer with the server name and valid credentials.

Connect-CIServer -Server cloud.example.com -User ‘MyAdministratorUser’ -Password ‘MyPassword’

 

To create a vApp from a template

Retrieve the organization vDC to which you want to add the new vApp.

$myOrgVdc = Get-OrgVdc -Name ‘MyOrgVdc’

Retrieve the source vApp template for your new vApp.

$myVAppTemplate = Get-CIVAppTemplate -Name ‘MyVAppTemplate’

Create your new vApp.

$myVApp = New-CIVApp -Name ‘MyVApp’ -VAppTemplate $myVAppTemplate -OrgVdc $myOrgVDC

By default, the vApp is powered off.

Renew the runtime lease for the new vApp and set it to 12 hours.

Set-CIVApp -VApp $myVApp -RuntimeLease “12:0:0″ –RenewLease

To set leases, you can use the days.hours:minutes:seconds syntax.

Start the new vApp.

Start-VApp -VApp $myVApp

 

Power on all virtual machines in all vApps with names starting with MyVApp.

Get-CIVApp -Name ‘MyVApp*’ | Start-CIVApp

Suspend all virtual machines in all vApps with names starting with YourVApp.

Get-CIVapp -Name ‘YourVApp*’ | Suspend-CIVApp

Power off all virtual machines in the vApp named MyVApp1.

Get-CIVapp -Name ‘MyVApp1′ | Stop-CIVApp

Shut down the guest operating systems of all virtual machines in the vApp named MyVApp2.

Get-CIVapp -Name ‘MyVApp2′ | Stop-CIVAppGuest

Restart the guest operating systems of all virtual machines in the vApp named MyVApp3.

Get-CIVapp -Name ‘MyVApp3′ | Restart-CIVAppGuest

Reset all virtual machines in the vApp.

Get-CIVapp -Name ‘MyVApp4′ | Restart-CIVApp

 

Retrieve all virtual machines with names starting with MyVM and power them on.

Get-CIVM -Name ‘MyVM*’ | Start-CIVM

Suspend all virtual machines with names starting with YourVM.

Get-CIVM -Name ‘YourVM*’ | Suspend-CIVM

Power off the virtual machine named MyVM1.

Get-CIVM -Name ‘MyVM1′ | Stop-CIVM

Shut down the guest operating system of the virtual machine named MyVM2.

Get-CIVM -Name ‘MyVM2′ | Stop-CIVMGuest

Restart the guest operating system of the virtual machine named MyVM3.

Get-CIVM -Name ‘MyVM3′ | Restart-CIVMGuest

Reset the nonresponsive virtual machine named MyVM4.

Get-CIVM -Name ‘MyVM4′ | Restart-CIVM

 

Playing around with the PowerCLi vCloud commands make administration of vCloud infrastructure a lot easier and quicker then via the standard GUI, especially if you already utilise PowerCLi for the administration of vSphere.

 

Be Sociable, Share!

{ 0 comments }

AT&T Synaptic Compute as a Service

A while ago I was asked by a client to evaluate AT&T’s cloud computing service, marketed as ‘AT&T Synaptic’. They utilise VMware’s vCloud Director, with their own customised interface, utilising the vCloud API programmable interface.

They offer the following;

  • Cloud Storage
  • Content Delivery Network
  • Deploy Servers
  • DNS Management
  • File Storage
  • Firewalls
  • Load Balancing
  • VPN Access

They offer two types of OS:

  • Windows
  • Linux

AT&T Synaptic Cloud

You also have the ability to create virtual data centres based in different geographical physical data centres, which given AT&T’s global reach, is a good thing for data centre resilience!

However there are some negative aspects to the actual implementation of this VMware vCloud Director platform. First of all, it’s version 1.5, which is just about obsolete, also, it’s installed onto a single SQL server instance, so it has a single point of failure in the entire infrastructure. Ideally, I’d be looking for multiple instances of the infrastructure elements, having the main database residing on a single node, with no actual clustering at the back end, makes me question the strategies of the cloud provider. In this case AT&T seem to have fallen short.

Single points of failure aside, there is a bigger issue at hand. The hand crafted interface is badly designed, hard to use and has obscure navigation. I had a meeting with the AT&T sales representatives about this lack of usability, getting one of their network techs, who hadn’t used their Synaptic Cloud before, to navigate their customised interface. After 15 minutes of him trying and failing to locate any virtual machines, they admitted that it needed further work…

Using VMware vCloud Director is a good strategy for offing tenanted cloud infrastructure. Implementing version 1.5 and creating their troublesome interface is not.

Be Sociable, Share!

{ 0 comments }

LiveDrive Cloud Based Backup

LiveDrive markets itself as ‘Cloud Storage for everyone’. It’s been going for 6 years now and I’ve been using them myself for around 5 years. From a small startup, it’s built up over 1 million customers and the growth of this cloud storage company is gathering pace all the time.

They offer online file editing and streaming of both music and movies. You can also directly stream movies and music through the web browser. If you have the data allowance, you can also use the mobile app to stream directly from LiveDrive onto your smart phone.

LiveDrive Cloud based backup

LiveDrive Cloud based backup

 

LiveDrive offers a briefcase facility, which allows you to place files into the briefcase and have those same files shared amongst multiple computers. A similar type of service to Dropbox, you can also share out files and folders, emailing the link to your intended recipients.

 

LiveDriveApps

 

If you’ve ever wanted to start your own cloud based backup service, you can sign up for a reseller account and be able to create an unlimited number of accounts, all for £39.95 per month. You can have your own brand, or utilise the LiveDrive brand or both.

I’ve been a user of LiveDrive for a long time and I’ve got nothing but praise for the quality service and the unlimited amount of storage I can have. My current usage stands at just over 3.5 TB and as I use this as my secondary, offsite backup method, as a compliment to my USB hard drive backups, it gives me peace of mind to know I’m safe with LiveDrive.

Be Sociable, Share!

{ 0 comments }

PowerCLi – Getting Virtual Machine Information

This is the fifth in a series of blog posts about getting information out of the vSphere environment in timely fashion. There are times when you need to get information from your vSphere infrastructure and put it into a spreadsheet. This customised script allows you to get further information that you need for the operations team to continue building out their Configuration Management Database (CMDB).

This script is really useful for getting detailed information about all of the virtual machines in your vSphere environment.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
 
<#
.SYNOPSIS
Retrieves info on Virtual Machines 
 
NB.
This script can be run against each vCenter Server on an individual basis or across multiple vCenter Servers.
 
.DESCRIPTION
Retrieves information on VMs'
 
.PARAMETER  None
 
.EXAMPLE
 
.EXAMPLE
Usage - .\CI-VMInventory.ps1 | Export-Csv c:\CI-VM-Inventory.csv –NoTypeInformation
 
.NOTES
Author: Graham F French
Date: 28/11/2013
Email: 
Twitter: @NakedCloudGuy
#>
 
 function Get-VMinventory {  
 function Get-RDMDisk {  
   [CmdletBinding()]  
   param (  
     [Parameter(Mandatory=$True)]  
     [string[]]$VMName  
     )  
         $RDMInfo = Get-VM -Name $VMName | Get-HardDisk -DiskType RawPhysical, RawVirtual  
         $Result = foreach ($RDM in $RDMInfo) {  
          "{0}/{1}/{2}/{3}"-f ($RDM.Name), ($RDM.DiskType),($RDM.Filename), ($RDM.ScsiCanonicalName)     
         }  
         $Result -join (", ")  
 }  
 function Get-vNicInfo {  
   [CmdletBinding()]  
   param (  
     [Parameter(Mandatory=$True)]  
     [string[]]$VMName  
     )  
         $vNicInfo = Get-VM -Name $VMName | Get-NetworkAdapter  
         $Result = foreach ($vNic in $VnicInfo) {  
           "{0}={1}"-f ($vnic.Name.split("")[2]), ($vNic.Type)  
         }  
         $Result -join (", ")  
 }  
 function Get-InternalHDD {  
   [CmdletBinding()]  
   param (  
     [Parameter(Mandatory=$True)]  
     [string[]]$VMName  
     )  
         $VMInfo = Get-VMGuest -VM $VMName # (get-vm $VMName).extensiondata  
         $InternalHDD = $VMInfo.ExtensionData.disk   
         $result = foreach ($vdisk in $InternalHDD) {  
           "{0}={1}GB/{2}GB"-f ($vdisk.DiskPath), ($vdisk.FreeSpace /1GB -as [int]),($vdisk.Capacity /1GB -as [int])  
         }  
         $result -join (", ")  
 }  
 foreach ($vm in (get-vm)) {  
     $props = @{'Name'=$vm.Name;  
           'IP Address'= $vm.Guest.IPAddress[0]; #$VM.ExtensionData.Summary.Guest.IpAddress  
           'PowerState'= $vm.PowerState;  
           'DNS Domain'= ($vm.ExtensionData.Guest.Hostname -split '\.')[1,2] -join '.';     
		   'Comments' = ($vm | Select-Object -ExpandProperty Notes); 
           'CPUs'= $vm.NumCpu;  
           'Memory (MB)'= ($vm.MemoryGB * 1024);  
           'Disks size (GB)'= $vm.ProvisionedSpaceGB -as [int];  
           'HDDs(GB)'= ($vm | get-harddisk | select-object -ExpandProperty CapacityGB) -join " + "            
           'Datastore'= (Get-Datastore -vm $vm) -split ", " -join ", ";  
           'Partition/Size' = Get-InternalHDD -VMName $vm.Name  
           'Real-OS'= $vm.guest.OSFullName;  
           'Attributes' = $VM.ExtensionData.summary.config.guestfullname;  
           'EsxiHost'= $vm.VMHost;  
           'vCenter Reference' = ($vm).ExtensionData.Client.ServiceUrl.Split('/')[2].trimend(":443")  
           'Hardware Version'= $vm.Version;  
           'Folder'= $vm.folder;  
           'MAC Address' = ($vm | Get-NetworkAdapter).MacAddress -join ", ";  
           'VMX' = $vm.ExtensionData.config.files.VMpathname;  
           'VMDK' = ($vm | Get-HardDisk).filename -join ", ";  
           'VMTools Status' = $vm.ExtensionData.Guest.ToolsStatus;  
           'VMTools Version' = $vm.ExtensionData.Guest.ToolsVersion;  
           'VMTools Version Status' = $vm.ExtensionData.Guest.ToolsVersionStatus;  
           'VMTools Running Status' = $vm.ExtensionData.Guest.ToolsRunningStatus;  
           'SnapShots' = ($vm | get-snapshot).count;  
           'Location' = $vm | Get-Datacenter;  
		   'Subcategory' = $VM | Get-Cluster;
           'vNic' = Get-VNICinfo -VMName $vm.name;  
           'PortGroup' = ($vm | Get-NetworkAdapter).NetworkName -join ", ";  
           'RDMs' = Get-RDMDisk -VMName $VM.name   
           }  
 
     $obj = New-Object -TypeName PSObject -Property $Props  
	  Write-Output $obj | select-object -Property 'Name', 'CPUs', 'Memory (MB)', 'Disks size (GB)', 'Attributes', 'DNS Domain', 'MAC Address', 'Subcategory', 'vCenter Reference', 'IP Address', 'Location', 'Comments'
 
   }  
 }  
 Get-VMinventory   
 
#

Here is the code in a text file format, rename it .ps1 instead of .txt in order to be able to run it.

CI-VMInventory.txt

In the example, you will notice that I use “–NoTypeInformation” at the end of the syntax, this removes the unnecessary type information being added into the CSV file.

Be Sociable, Share!

{ 0 comments }

PowerCLi – Getting Basic Datastore Info

This is the fourth in a series of blog posts about getting information out of the vSphere environment in timely fashion. There are times when you need to get information from your vSphere infrastructure and put it into a spreadsheet. This customised script allows you to get further information that you need for the operations team to continue building out their Configuration Management Database (CMDB).

This is a very small script that gets some quick information about the datastores, their sizes and how much capacity is left.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
<#
.SYNOPSIS
Retrieves info on DataStores.
 
NB.
This script can be run against each vCenter Server on an individual basis or across multiple vCenter Servers
 
.DESCRIPTION
Retrieves information on Datastores
 
.PARAMETER  None
 
.EXAMPLE
 
 
.EXAMPLE
Usage - .\CI-DataStore.ps1 | Export-Csv c:\CI-Datastore.csv –NoTypeInformation
 
.NOTES
Author: Graham F French
Date: 04/11/2013
Email: 
Twitter: @NakedCloudGuy
#>
 
ForEach ($DataStore in Get-Datastore) {
$DataStoreName = $DataStore.name
$DataStoreCapacity = [math]::round($DataStore.CapacityGB,2)
$DataStoreFreeSpace = [math]::round($DataStore.FreeSpaceGB,2)
 
 
#Write-Host "DataStore Name:" + $DataStoreName
 
New-Object PSObject |
Add-Member -Pass NoteProperty "DataStoreName"  $DataStoreName |
Add-Member -Pass NoteProperty "DataStoreCapacity(GB)"  $DataStoreCapacity  |
Add-Member -Pass NoteProperty "DataStoreFreeSpace(GB)"  $DataStoreFreeSpace
}
 
#

Here is the code in a text file format, rename it .ps1 instead of .txt in order to be able to run it.

CI-DataStore.txt

In the example, you will notice that I use “–NoTypeInformation” at the end of the syntax, this removes the unnecessary type information being added into the CSV file.

Be Sociable, Share!

{ 0 comments }

PowerCLi – Getting Basic Cluster Info

This is the third in a series of blog posts about getting information out of the vSphere environment in timely fashion. There are times when you need to get information from your vSphere infrastructure and put it into a spreadsheet. This customised script allows you to get further information that you need for the operations team to continue building out their Configuration Management Database (CMDB).

This is a relatively small script, but the information can be very valuable.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
<#
.SYNOPSIS
Retrieves Host info for VMware clusters. 
 
NB.
This script can be run against each vCenter Server on an individual basis or across multiple vCenter Servers.
 
.DESCRIPTION
Retrieves basic capacity info for VMware clusters, looks up all Clusters, then loops through each one in turn
 
.PARAMETER  None
 
.EXAMPLE
 
 
.EXAMPLE
PS C:\> CI-ClusterInfo.ps1 | Export-Csv C:\CI-ClusterInfo.csv –NoTypeInformation
 
.NOTES
Author: Graham F French
Date: 12/10/2013
Email: 
Twitter: @NakedCloudGuy
#>
$myCol = @()
ForEach ($Cluster in Get-Cluster)
    {
        ForEach ($vmhost in ($cluster | Get-VMHost))
        {
            $VMView = $VMhost | Get-View
                        $VMSummary = “” | Select HostName, ClusterName, MemorySizeGB, CPUSockets, CPUCores
                        $VMSummary.HostName = $VMhost.Name
                        $VMSummary.ClusterName = $Cluster.Name
                        $VMSummary.MemorySizeGB = [int]($VMview.hardware.memorysize / 1024Mb)
                        $VMSummary.CPUSockets = $VMview.hardware.cpuinfo.numCpuPackages
                        $VMSummary.CPUCores = $VMview.hardware.cpuinfo.numCpuCores
                        $myCol += $VMSummary
                    }
            }
$myCol 
 
#

Here is the code in a text file format, rename it .ps1 instead of .txt in order to be able to run it.

CI-ClusterInfo.txt

In the example, you will notice that I use “–NoTypeInformation” at the end of the syntax, this removes the unnecessary type information being added into the CSV file.

Be Sociable, Share!

{ 0 comments }