Removing old vCD agent from ESXi

Just a note to myself. I picked up how to do this from http://vmwire.com/tag/esxi-vcd-agent-uninstall/ (thank you Hugo).

I was in the situation where a vCD install had been trashed by an I/P re-address. When re-installing vCD, it couldn’t put its agent back on the hosts because the old one was still there.

I’ve now removed the old agent as described above, rebooted the host and “prepared” it from vCD.

 

Virgin Superhub Woes

I decided to upgrade by fibre from 10Mb/s to 30Mb/s because the cost was almost the same from Virgin media (£25 and £28). I filled in the relevant part of their website and awaited a call to be told the price. The first problem was that they processed this query as an order and the next thing I knew, they had shipped a “superhub” and sent me an email saying that would be £37 a month, thank you very much. Strike one.

As soon as I noticed this I phoned them up and they did reduce the price to £28. The next thing that happened was that my 10Mb/s broadband stopped working because they had altered the circuit before my new hub had arrived. That’s strike two.

The “superhub” duly arrived and I plugged it in, turned it on and phoned in the activation. This all worked quite smoothly, at least, but left my network in an odd configuration. As I already had a Netgear wireless-N router which was previously connected to the modem, it had become redundant by Virgin’s router and modem in the “superhub” package. My own router ended up with an I/P address from the “superhub” via DHCP as it was now on the LAN side of a network. My router acted as a DHCP server for the 20 or so devices in the house. Luckily the range I had set up on my router did not overlap with the range on the “superhub”. Nevertheless it was an odd config so I decided to transfer by DHCP scope to the “superhub” (the hardware is arguably better).

However, as soon as I tried to add a host to the superhub DHCP scope, it rebooted. A second host add rebooted it again. This would take all night. In an effort to speed up the process, I disabled DHCP. This totally killed the “superhub”. I could no longer connect via any method on the LAN side although the WAN side was working fine (according to the helpdesk). So now I have no internet for a couple of days. Strike three.

Despite many hours of fiddling and factory reset attempts, the “superhub” did not want to play so I had to wait for the engineer to turn up and reach the same conclusion as me: it was broken. He quickly put in a new “superhub” which worked straight away.

My conclusion is that the hardware of the “superhub” is good but the software is very flaky. I’m leaving my router in the LAN, keeping all my devices attached to it (I use the wireless only for special circumstances) and touching the superhub as little as possible. Hopefully it won’t add too much latency to my network. DNS lookups might be slower, or it might be my imagination. In any event I wanted to set up a home DNS server anyway. A pity neither hub offers this functionality. I guess I will have to do this on MacOS, as the machine which is up the most.

Hopefully can blog on my progress with that.

LOSUG February – DTrace

Finally. I have a chance to write up the interesting introduction to DTrace given to a well attended group by Jim Mauro. This man loves to talk about DTrace, a fact which came across quickly on the night (and he also told us the same)!

I’ve hardly used DTrace myself, having spent the latter part of my Unix sysadmin career mainly on Linux platforms. All the text below is straight from my notes of Jim’s talk. Inaccuracies will be all mine.

First of all: the shameless plug. Yes, The DTrace Cookbook will be available soon – 1200 pages of DTrace tips and recipes. See www.dtracebook.com (actually can’t find this but turned up some youtube videos with Jim talking about the book).

Jim wanted a main take-away from the talk to be that DTrace was complicated, but by neccessity as it was designed to look at complex systems. It is like an MRI scan. The output is complex but, like an MRI scan operator you don’t need much experience to use or learn. Interpreting the output is where experience counts.

Within the DTrace toolkit, which is all open source, you get DTrace plus perl or shell scripts. The three main DTrace components are Probes, Providers and Consumers.

Probes can insert codes dynamically to unmodified running code by altering it’s image in memory. Typically this is done at the entry or exit point of functions.

A Provider is a library of probes and used to manage probes with sensible names, e.g. IO. In Jim’s experience 50% of problems are due to IO. There is a lot of code written to do disk IO and a key question is often who is starting the IO.

Blank fields in a provider specification match all four probe fields. (Unfortunately I didn’t get the examples down. Incidentally the slides should be available from the losug website http://opensolaris.org/jive/forum.jspa?forumID=64).

Consumers are the commands: dtrace, lockstat, plockstat and intrstat.

DTrace User Components: comprise predicates and actions. Traditional performance analysis involves gathering a lot of data followed by 80% of the effort pruning the data down and 20% of the time looking at the resulting good data. Predicates in DTrace do this pruning for you.

A D program: syscall is a very useful provider. e.g. collect some data on entry point of all syscalls. Use D when the cli gets complex. DTrace has aggregating functions and variables. “@” indicates and aggregating variable which are akin to associative arrays – the index is a dtrace variable.

Getting Started: DTrace was created to debug production systems. Previously the right tools were not available. You had to core dump a running system! DTrace is safe and the probe effect is minimal. It has a built-in watchdog which turns DTrace off if it detects problems. DTrace is not necessarily the first tool to use.

Performance Metrics: How Fast (throughput) / How Long (latency) / How Many (IOPS) / How Much (utilisation).

DTrace – Getting the Big Picture: After the “stat” tools, use the “big” providers.

Getting Strated One-Liners: looking at CPU: profile provider, time based data collection. Use an odd number (because housekeeping is done every 10ms). tick can exit a script after a period. Even if you can’t read stack traces, you can get useful hints from looking.

System Metrics – Example: sysinfo procider.

Memory One-Liners: vminfo.

DTrace can “connect the dots”.

Well, that is the end of my notes, which doesn’t seem like much for 90 mins of fast chat. In my defence, Jim is a difficult talker to make notes on and there were a lot of examples! I noticed a camera at the back of the room on my way out so perhaps a video of the event is available from LOSUG.

There is, of course, a wikipedia entry for DTrace which can be found at http://en.wikipedia.org/wiki/DTrace.

While DTrace is undoubtably brilliant, the main drawback is of course that it is not available for more systems.

Haggis

“Fair fa’ your honest, sonsie face”, as the first line to Burns’ “Address to a Haggis” goes. I mention it because I have just given my annual addressing the haggis at the Friends of Heath House (school) meeting. And in case you haven’t guessed, this post has nothing to do with IT. At least, I haven’t thought of an IT angle for Burns night yet.

(As I mentioned before, I spend all my working day living an breathing cloud, which is great, but working under conditions of client and employer confidentiality means I cannot yet blog about all the good stuff RedPixie are doing.)

So I am taking another blog as my inspiration, that of Julie Kertesz who I/we met at a Christmas dinner party at our house (school connection again). I try to read her (daily) blog on the train in the morning after City AM. She writes about life in general, and is a great example of the blogging medium.

This is a great way to use an iPhone, even if the connection is a bit flakey on the train. Unfortunately, this gives me less time for my other past-time, reading (particularly sci-fi). I am eager to finish off “The Seige of Wonder” my Mark Geston, an author I stumbled upon completely by accident by picking up “Out of the Mouth of the Dragon” from a second hand book stall in Spitalfields Market. The latter only came about because of the RedPixie connection, thus demonstrating the perfect way my professional life fits into my lifestyle.

So I’ve gone from Robert Burns to Mark Geston in the space of a few lines which I hope demonstrates there is a life for this blog outside of virtualisation.

New hobby needed

Not so much a new hobby, but a new blogging subject to fill the gap while I spend all my time working on vCloud for clients. Sure, we have turned up some interesting aspects of the product but they are not suitable to blog about!

If I had the time, I would be playing around with 3D photography. My weapon of choice is the http://www.fujifilm.com/products/3d/camera/finepix_real3dw3/. Always been a fan of fujifilm cameras. I went and bought the first 1million pixel camera, a fujifilm finepix for £750 back in the day.

Danger – Cloud at Work

No blogs for a while, I’m afraid, not due to lack of topics but lack of (priority of) time. I have recently started working on a major cloud project at a large investment bank in the City (of London). This is using vCloud Director and some other nascent products from VMware. All very interesting and challenging and I certainly hope to blog about it when I have the time!

Puppet Labs

I attended (in the line of duty one might say) a couple of talks from the folks at Puppet Labs last Thursday (2nd) after they had finished a training course in London. A couple of interesting things occured to me as a result.

Firstly Puppet Labs could be a version of RedPixie in the future. They have grown from 4 people startup a year ago to 30ish now doing product development and professional services to a number of large organisations.

Secondly, R.I. Pienaar gave a talk on m-collective, recently acquired by Puppet Labs. What struck me about this is that it is very, very similar to a product that myself and a colleague wrote six years ago. Methinks ours was better because it did not require an agent to be installed on each client :-). Functionally it looked 99% the same, from what I could tell from one rather short talk.

UKOUG/LOSUG November

Recently I’ve been very busy experimenting with vCloud Director in the office lab. It’s a complex beastie and many thanks to Duncan Epping for his excellent turorials. When I get more experience, I may blog on it but as I have a dozen things to do on my ever growing list, it seems unlikely. One quick note to self though: the strange error I got about a host already being controlled was due to agent confusion and I had to run vslad-uninstall.sh and re-install to fix.

Now, on to the subject. Alastair Lumsden introduced this months UKOUG/LOSUG speakers Tom Kranz and Peter Tribble attended by the usual suspects in the audience. Tom talked about “Exploring Solaris Auto Registration” – that part of Solaris in Update 9 which sends all your machine details to Oracle over the internet, oh yes. Now in 99% of cases you don’t want it to do this so he explained how to disable it and some of the commands involved: stclient, stlisten, stdiscover. All worth reading up on for the professional Solaris Admin.

Peter Tribble’s talk was titled “Sar – past present and future” and, lets face it, “past” is the key word here. No-one was arguing with that point of view but Peter showed a good, simple idea to allow people to keep historical data and use it to assist in problem diagnosis and as a source of graphs for management. Keeping historical data was/is one of sar’s useful aspects. Peter simply keeps kstat -p output and stores it in compressed format for future use. The storage required is not that large and you can quite easily keep a couple of years worth. He has written some tools to scan the compessed logs and mimic the output of stat commands so you can see what “mpstat 10” would have produced at midnight on February 20th last year, if you want.

Perhaps we’ll get a talk on sar’s older brother, process accounting one month 🙂 No, please, just joking.

Next month Alastair is planning workshops, running from late afternoon which could be interesting and in January Jim Mauro is in the country promoting the new dtrace book and we can look forward to a talk from him!

Naming Revisited

Yes! It’s time for another post on naming conventions! Specifically, naming servers but there are many many objects to be named when setting up layered systems since vSphere, vCloud director etc. But lets stick to servers.

I may have stated the (obvious) requirements before but no harm to do it again. The most important rule is that names need to be:

a) unique

thats the really only hard and fast rule and is pretty obvious since you don’t want to end up with six servers all called “fred”.

Of course even that simple statement leads to my meta rule: even if the name is unique, it should also

b) sound unique.

Unless it sounds unique then when people (or alarmpoint) use the name to communicate there’s no point in it being unique. For example “unipro1” and “unibro1” are unique but rubbish since they sound the same.

The implicit assumption is that the names will be communicated orally, and I’ve never come across an organisation where that is not the case. It implies my next rule which is the word must be:

c) sayable

Now uniqueness can be got pretty easily with numbers but as mentioned before you should only use a given number once in any name. For example prodserver0001 and devserver0001 are unique and sound different but both use 0001, which to me adds a level of risk.

What information can you encode in your name? Well, it depends. On personal taste and the priorities of an organisation.  Consequently no two systems will be the same. What you need to do is decide the three most important things for you or your organisation and use codes for that. If three bits of information compromises “sayability” then go back to two and use your CMDB to hold information on your server (you do have one, right?)

As an aside, one popular system is to use proper nouns. We used Scottish Islands when I was at Uni and people use things like Simpsons characters. These systems have several drawbacks. Typically you run out of names. Some may sound the same. Most of all it is a wasted opportunity because even if you put one piece of information in a name, that’s better than nothing.

Back to codes. Popular ones are location, operating system, function, support level. If you are a virtualisation company, say, it might be important to know if a server is physical or virtual. This is an example of a scenario when two totally different naming conventions might be useful. There’s no need to squeeze everything into one size of shoe, provided there’s no danger of overlap. I would be wary of more than three systems in one org though.

Personally I like location and OS in a physical server, and whether it is Unix or Windows. Consequently I would end up with:

lonuni0001
lonuni0002
lonuni0003
lonwin0004
lonwin0005
lonwin0006
sanuni0007
sanwin0008

It would be nice to get in prod/dev/qa but it makes it unsayable but you could get creative and carve ranges out of 0001-9999.

Location is not as important in a VM so we could sneak in prod, dev, qa:

uniprod0001
unidev0002
uniqa0003
winprod0004
windev0005
wintest0006

Now you might find it hard to remember what server does what but I would always advocate creating a CNAME (without any rules) which makes sense to you; that’s what they’re for! e.g:

speeddb -> uniprod0001
vclouddir -> unidev0002

fred -> wintest003
virtualcenter -> winprod0004

dnsserver -> winprod0005
paulsserver -> windtest0006

But enough rambling from me. I really should do some proper work as the list grows longer and the solutions do not. But don’t cop out and say names are not important. They are.

If names are not correct, language will not be in accordance with the truth of things.  ~Confucius

Names are not always what they seem. The common Welsh name BZJXXLLWCP is pronounced Jackson. ~ Mark Twain.