Pages

Friday, 27 June 2014

Configuring and testing VXLAN within a nested environment

In this post I'm going to show you how I managed to get VXLAN working (Which is required for NSX) within my test environment that I'm currently using to learn more about NSX.  My homelab currently consists of:

3 x HP ML310e G8
1 x RouterBOARD RB751
1 x Linksys SRW2016 16 Gigabit Switch
1 x Synology DS412+

Within the Production cluster I run all my home production services but I also run a Nested ESXi lab that I previously used for vCNS and now NSX as per the screenshot below:


My Test cluster contains three hosts and the vCenter Server Appliance.  I installed NSX manager outside of this cluster as I didn't want it to take up the nested lab resources.  My Test cluster looks like this:


I've deployed a single NSX controller in this cluster as I'm not too bothered about redundancy and would rather save the resources for VM's.  So, now onto the blog post.  In order for VXLAN to work you need a dedicated VLAN and the MTU needs to be set to 1600 end to end.  First step was to enable jumbo frames on my Linksys SRW2016 switch.  This simply involved ticking a box and rebooting the switch.  This was a pain as I had to power down all VM's and hosts but I also took the opportunity to upgrade my Synology DS412+ to the latest firmware.  To enable jumbo frames on the Linksys switch you simply browse to the admin interface, select Admin and then tick the option next to Jumbo Frames and then reboot the switch:


Next step was to create a new VLAN dedicated for VXLAN traffic and ensure the MTU was set to 1600.  I use a RouterBOARD RB751 as my router / Layer3 switch which I highly recommend.  This was simply a case of creating a new VLAN, I used 15, setting the MTU to 1600 and assigning it to the bridge-local interface:


It was then a case of creating the same VLAN within the Linksys switch and passing this VLAN down the trunks to the three ESXi hosts.  Once the VLAN was presented to the three ESXi hosts I then needed to set the MTU on both the Production and Test cluster Distributed Virtual Switchs as by default they are set to 1500.  To do this simply go to Networking, right click on the DVS and select Edit Settings.  From there, select Advanced and then change the MTU to 1600


It's then a case of configuring VXLAN for the cluster using VLAN 15, ensuring the MTU is set to 1600 and configuring an IP pool for the VMK nics:


In order to test network connectivity from one host to another you can use the following command after SSH'ing into the host:

ping ++netstack=vxlan -d -s 1600 -I vmk5 <IP ADDRESS>

In my case when pining another host with the MTU set to 1600 it failed:


After reading this article by Kamau Wanguhu (Blog | Twitter) I found the the actual VXLAN packet size is 1572.  I then pinged another host with the new MTU size and it worked fine:


So, hopefully that's VXLAN all configured in my NSX Test cluster.  Big thanks to Dan Watson (Twitter) and Geordy Korte (Blog | Twitter) for their help.  I'm sure I'll be harassing you more and more  in the coming months.

Thursday, 19 June 2014

Getting started with NSX

This week I've been on an internal training course with VMware on NSX.  In case you haven't heard of NSX, this is a network virtualisation solution offered by VMware (My Employer).  I've already deployed NSX in a nested lab but this blog post is just going to quickly show you my current setup and how to grant specific user accounts admin rights within NSX and also how to stop accidentally locking yourself out of access to vCenter with the distributed firewall.  Expect more blog posts on NSX as I become more familiar with it and use it in the lab.  Firstly, This is how my physical lab looks like which hosts all my home production VM's:


As you can see I run a nested environment consisting of three virtual ESXi hosts and the vCenter Server Appliance.  The NSX Manager is running outside of the test cluster as I didn't want to consume resourced within the nested environment.  The nested environment simply has a three hosts, an NSX controller and a few simple web servers:


Once you've deployed NSX manager and deployed your first controller your probably going to want to grant your admin account permissions within NSX so you don't have to keep logging is as the local admin of the vCenter Server Appliance (This is just the way I like to work).  To grant your admin account access, simply log into the web client and select Networking & Security from the menu option:


From the NSX menu screen click on NSX Managers:


Click on the NSX manager link that you want to make changes to:


Click on the Manage tab and then the Users tab and simply click the green plus:


Enter the user or group name of the active directory object that you wish to add and click Next:


Select the role for the user or group and click Next:


Set the scope limit and click Finish:


You should now be able to access NSX Manager as the user or the user of the group that you just added.  Another operation that you should probably perform is to exclude vCenter from having any policies being applied to it as you can quite easily lock yourself out.  In my case it shouldn't be an issue as the vCenter Appliance does not reside in the same cluster as the one I'm going to be applying policies to but if yours does then simply browse to the NSX Manager, select Manage and then Exclusion List:


Click on the green plus and then form the drop down menu, select your vCenter server object.  As mentioned, in my case the vCenter does reside in the same cluster so I should be OK.  Once added simply click OK:


So, that's as far as I am at the moment.  I need to make some physical changes to my switch to allow jumbo frames (or MTU of 1600) for the VXLAN traffic and unfortunately I can't do that remotely without taking down the entire lab and my access so I'll be doing that over the weekend.

Sunday, 8 June 2014

Great North Run 2014 Sponsorship

It’s that time again when everyone is asking for sponsorship for the Great North Run in September so I National Autistic Society.  I already have my place secured so I don’t need to raise a specific amount to guarantee entry.  I’m doing this more for personal reasons as a great friend’s son was recently diagnosed with Autism and it also runs in my family.  I’m also doing this for a little bit of financial motivation (More on that later).  I’ve always wanted to complete the Great North Run in under 1h 30m but have failed twice so far, once by around 7 minutes and last year by around 2.  In my defence last year I was training for a marathon and just used the Great North Run as another training session.  If you know me I’m definately not built for running but do have the knack and more importantly, enjoy it.  In order to complete this half marathon distance in under 1h 30m involves an average pace of 6m 51s and currently my last 5 mile run averaged around 7m 40s so I’ve got some serious training to do.

So, what is the financial motivation for this?  Well,  For every £100 donated I’ll stump up £50 (Up to a maximum of £250) if I fail to beat 1h 30m.  I’ll be going off the official time by the Great North Run organisers and will post my time up when finished.  So, to sum it all up:

If I get £300 worth of donations and I fail, then I’ll top that up with £150
If I get £700 worth of donations and I fail, then I’ll top that up with £250
If I get £130 worth of donations and I fail, then I’ll top that up with £100

You get the idea.  So dig deep everyone and pray that I fail.  Once again, for the people who know me, I hate loosing and I’m tight so bring it on!!

So, if you'd link to sponsor me then just follow the URL below and leave a "Hope you fail" message:

http://www.justgiving.com/Michael-Armstrong5

Thanks for taking the time to read this and hopefully donating.

Michael

Thursday, 5 June 2014

North East VMUG - 07/08/2014

Registration for the next North East VMUG event is now open and you can register here.  The event will be held on Thursday 7th August and will now take place at the International Centre for Life.  There are two community sessions planned as well as sessions from VMware on the vCloud Hybrid Service and PernixData on their FVP solution.  The agenda will be as follows:

11:00 - EUC Round Table
12:00 - Lunch and Registration
12:30 - Welcome and Agenda - VMUG Leadership
12:45 - Community Presentation - Duncan Simpson
13:45 - Pernix Data Presentation
14:30 - Break
14:45 - Community Presentation - James Rankin
15:45 - vCHS - Dave Hill
16:45 - Closing Statement and Raffle
17:00 - vBeers

Big thanks to PernixData and Zerto for sponsoring these events so they can be free to attend.

Gold Sponson:
Silver Sponson:


Wednesday, 7 May 2014

The North East VMware User Group Wants you!!!!

Do you:
  • Work or are looking to work with VMware technology in the future?
  • Want to improve your public speaking skills?
  • Give back to the North East VMware community?
  • Want free beer?

The North East VMware User Group are looking for community speakers to present at events in the North East.  Slots are normally 45 minutes long including any Q&A that the topic may generate.  The topic can be based on anything relevant to VMware and / or your experiences designing, installing, using or supporting the software stack.

These are great events to network with like minded people in the North East who work with VMware and virtualisation technology in general and a great platform to improve on your public speaking skills in a comfortable and familiar environment.  If you have an idea and would like to put your name forward then please let me know and I will put you in touch with the leaders.  There is also a mentoring program called FeedForward whereby seasoned public speakers are willing to give up their time to help you with your presentation content and give advice and tips with the delivery of the content.  Mike Laverick (Blog | Twitter) has a post regarding this.  We may be able to offer some bribes prizes for all community presenters who present at an event.

Tuesday, 29 April 2014

BetterSnapTool (OS X)

I thought I'd point people out to this application that I found about a month ago that gives you the snap to window functionality that was introduced in Windows 7 in OS X.  Since I moved to a Mac Book Pro 15' as my primary work device with multiple monitors I really struggled with the ability to move windows across multiple screens and constantly having to resize windows to fit.  I found BetterSnapTool on the app store and and for a small cost of £1.49 it's possibly been the best purchase I've made.

There are a wealth of options available to configure how the application works with regards to snapping to specific area's of the screen as well as right clicking on the close, minimise or maximise window buttons:


The below screen shot shows you a notepad application being dragged into the top left hand side of the screen and the application being automatically resized to fit accordingly:


If you miss the snap to windows functionality from Windows 7 then I advise you to check the application out, especially if you use multiple monitors.

Friday, 25 April 2014

Restoring a SQL Database with VDP Advanced

In a previous article I showed how to backup a SQL database with the VDP Advanced agent.  This article is going to show you how to restore a database from backup in the event that you accidentally deleted the database or want to restore over the top of the existing database.  For this test I created a new database called TestDB in simple recovery mode and created a table called dbo.Test:


I then performed an application backup of the SQL server to capture the newly created database:


Performing a restore of a deleted database

In the first example I am going to delete the database and then perform a restore from backup.  As you can see, I've now deleted the database from the SQL server:


In order to perform a restore simply navigate to the VDP plugin and click the Restore tab and navigate down the tree structure until you find the database that you wish to restore.  Check it and then click the Restore button:


Verify the database that you have selected is correct and click Next:


Leave the Restore to original location check ticked and expand the Advanced Options and uncheck the Tail-log backup option.  The tail-log backup option is only used for databases that use the full or bulk-logged recovery model.  Once finished click Next:


Verify your settings and click Finish:


The restore job should start and you can monitor this via the Tasks pane within the web client.  Once it's completed you should see the database has been restored with all data (Refresh SQL Management Studio if you left it open):


Performing a restore over an existing database

In this example I'm going to show you how to restore a database over the existing database.  This is handy if you've accidentally deleted some data or some data is potentially corrupt.  For this example I'm going to delete the dbo.Test table and then perform the restore over the top of the existing database.  As you can see the table has been deleted:


Perform exactly the same steps as per the previous example and then monitor the job to ensure it completes successfully and then referesh the view in SQL Management Studio and you should see the returned data:


If you are experiencing any issues with the restore then check out the log files on the client at the following location:

C:\Program Files\avp\var

Below is an example of a log file with a successful restore:

<logheader platform="Windows Server 2012 Datacenter Server Edition (No Service Pack) 64-bit" process_id="avsql" version="7.0.182-99" tz="GMT Daylight Time" />

--------------------------------------------------------------------------------------------------------
-----  START avsql log 2014-04-25 10:54:41 GMT Daylight Time  [7.0.182-99 Windows Server 2012 Datacenter Server Edition (No Service Pack) 64-bit-AMD64]
--------------------------------------------------------------------------------------------------------

2014-04-25 10:54:41 avsql Info <5008>: Logging to C:\Program Files\avp\var\MOD-1398419682252-3006-SQL.log
2014-04-25 10:54:41 avsql Info <6673>: CTL listening on port 56549
2014-04-25 10:54:41 avsql Info <10684>: Setting ctl message version to 3 (from 1)
2014-04-25 10:54:41 avsql Info <16136>: Setting ctl max message size to 268435456
2014-04-25 10:54:41 avsql Info <17376>: Working on stand alone environment.
2014-04-25 10:54:41 avsql Info <7838>: - Adding user exclude "*/tempdb"
2014-04-25 10:54:42 avsql Warning <14282>: Option "Handle SQL services automatically" can only be used with option "Restore system databases."
2014-04-25 10:54:42 avsql Info <18824>: Compare hostname 'sql01.m80arm.local' with current machine hostname 'sql01'.
2014-04-25 10:54:42 avsql Info <7062>: Targets count 1
2014-04-25 10:54:42 avsql Info <7063>:     target[0] = '(local)/TestDB/f-0'
2014-04-25 10:54:42 avsql Info <7065>: Working on target '(local)/TestDB/f-0'
2014-04-25 10:54:42 avsql Info <14293>: Creating a database task for '(local)/TestDB/f-0' (hcount 328)
2014-04-25 10:54:42 avsql Info <14245>: Creating a thread pool with 1 worker threads.
2014-04-25 10:54:42 avsql Info <14248>: Executing task: (local)/TestDB/f-0 --> vd_streams[1]
2014-04-25 10:54:42 avsql Info <14250>: VDI SQL Instance: 
2014-04-25 10:54:43 avsql Info <14266>: Executing the data transfer task: (local)/TestDB/f-0.stream0
2014-04-25 10:54:43 avsql Info <9552>: Spawning 'C:\Program Files\avp\bin\avtar' (avtar --case_sensitive="false" --max-streams="1" --cacheprefix="avsql_t0" --ctlcallport="56549" --ctlinterface="3006-MOD-1398419682252#1" --check-stdin-path="false" --logfile="C:\Program Files\avp\var\MOD-1398419682252#1-3006-SQL.avtar.log" --vardir="C:\Program Files\avp\var" --bindir="C:\Program Files\avp\bin" --sysdir="C:\Program Files\avp\etc" --acnt="/clients/VDPApps/sql01.m80arm.local" --id="restoreonly" --ap="****************" --server="vdp.m80arm.local")
2014-04-25 10:54:43 avsql Info <6686>: Process 2552 (C:\Program Files\avp\bin\avtar) for workorder MOD-1398419682252#1 started
2014-04-25 10:54:43 avsql Info <10684>: Setting ctl message version to 3 (from 1)
2014-04-25 10:54:43 avsql Info <16136>: Setting ctl max message size to 268435456
2014-04-25 10:54:43 avsql Info <7732>: Waiting for avtar to finish
2014-04-25 10:54:43 avsql Info <6688>: Process 2552 (C:\Program Files\avp\bin\avtar) finished (code 0: success)
2014-04-25 10:54:43 avsql Info <6446>: SQL VDI transfer of '(local)_TestDB_MOD-1398419682252-3006-SQL' to '(local)/TestDB/f-0' successful
2014-04-25 10:54:43 avsql Info <14275>: There is no more tasks to process.
2014-04-25 10:54:43 avsql Info <14271>: Waiting for worker threads to finish ...
2014-04-25 10:54:43 avsql Info <16256>: Creating process summary ...
2014-04-25 10:54:43 avsql Info <16257>: Inserted task: 1, completed: 1, aborted: 0.
2014-04-25 10:54:43 avsql Info <7271>: Final summary generated subwork 1, cancelled/aborted 0, snapview 1, exitcode 0
2014-04-25 10:54:48 avsql Info <6451>: avsql returning with exitcode 0

--------------------------------------------------------------------------------------------------------
----- END avsql log 2014-04-25 10:54:48 GMT Daylight Time  (1 warning, 0 errors, 0 fatal errors)
--------------------------------------------------------------------------------------------------------