Today was actually my second day of the new job. Just no time to post anything last night.
I signed a lot of non-disclosure agreements to get this job and even though I’m effectively anonymous on this blog I’m not going to actually mention the name of the company, the city or anything else that could possibly definitively identify who I am working for. I will in broad terms describe what I am doing.
Yesterday I showed up at 10am as instructed but my contact or what I later found out to be my “team lead” hadn’t arrived yet so a co-worker came out to show me in. The first hour or so was him trying to track down a hardware issue with a particular PC.
But lets back up a minute. Firstly I got there a little early, 9:50 I think, and went to the security desk and told them who I was and that I was starting. The security guard took my picture, printed it and gave me a badge in like minutes. I was very impressed. Then he had me go up to an iris scanner and look into it to identify me by my iris.
Okay I’ve never worked some place where I could get in and out of places simply by staring into a special mirror. A little recorded voice even says something like identification complete and the door unlocks. I know that novelty will eventually wear off but I think it’s really, really cool.
Any way I tried as best I could to offer ideas to this co-worker who was trying to troubleshoot this one particular computer.
Basically there’s thousands of computers in racks all containing between I think 10 and 24 hard drives each. Two mirror the OS, two are for parity and the rest is for mirrored data. Apparently the machines are booting off the RAID controller.
So this particular PC’s RAID controller was not being detected at POST and the co-worker was trying to get it to work by trying various things.
Oh and this is a huge data center full of computers that are maintained by other companies, each section of computers are completely enclosed by basically a chain link fence. All sides and even over head. I don’t know if the over head thing for security so no one climbs over or if it’s a Faraday cage thing. Or both. I don’t know.
So eventually my actual contact shows up and he’s actually the team lead of for this particular area I’ll be working. He makes the call it’s a hardware issue and we just replace the PC, being very careful to put the drives into the new unit in the exact order they were in in the old unit. So that was fun.
As you can imagine with thousands of computers running it’s a bit noisy. It’s hard to hear anything over that sound like people talking for instance. So I made it through all of yesterday some how. It actually seems quite similar to a past job I had but this ones on a much much larger scale.
Also, apparently, this job will be giving me a work laptop and a work-related blackberry. Seems I just can’t escape the blackberry. Although I don’t know in what instance I will be called for it. I can see how it would be good to emails on it but I’m a by-the-hour contractor. I think I’m going to be charging them if they go and ask me work-related stuff in my off-hours. Seriously.
Today was more or less similar to yesterday except I got to meet another co-worker who was not there yesterday. He showed me a bunch of stuff I hadn’t yet learned and seemed remarkably full of energy for somebody doing a relatively low-energy job.
I learned a lot about the square wholes in server racks that separate out the “U”s. As in a “3U server chassis”.
Oh and this particular center is almost entirely Linux-based. All CLI stuff, too. Then the RAID cards have there own CLI. I think I’m going to be very CLI-full for the next 6 to 12 months.
I think I went over some of this but over the weekend I did get back into that whole automate XP install thing. I keep getting wrapped up in it and thinking of different ways to do it. My latest thoughts involve creating that simple config file of 7zip=1 type lines, one per line, then in the main batch file during install time it there would be a IF statement at each line to test if that particular program’s variable was a 1 or 0. That would decide if that program was even written to the RunOnceEx registry in other words, thus deciding which programs would be installed and which weren’t.
So I’d go in and just set to 1′s and 0′s myself manually ahead of time. During install a batch file would run a for-loop against the config file basically concatenating “SET ” (set with a space) with the variable part (7zip=1) thus setting up all the variables. Then in the RunOnceEx.cmd file is all the registry entries for the set up commands of the applications. Each line with a IF statement to see if each program is set to install like if 7zip=1 then install, else skip to next statement. Break. Whatever. Well I have to read up on IFs I guess.
So I got that on one end and on the other is just an interface to creating the directory structure for new OS installs, or “projects” as I call them. I really need to change something because I’m already running out of space on my 500 gig drive.
I was also thinking about ways to modularize the install process. Like have IE with all the associated updates (or updates slipstreamed where possible), .NET 1.1 and 3.5 also with updates. In other words these packages and there updates would would be one single unit associated with each other and not necessarily installed at one point in particular. Like with updates as a first thing or last if so desired. And I have to do the same thing for the VC++ 2005 and 2008 runtimes. Why some form of this isn’t included with Windows 7 I have no idea. I thought we left the runtime requirements behind when the popularity of VB started to (apparently?) fade.
And I’m still noodling the whole replacement for my WHS as well. This new job and it’s redundant disk arrays with VMs has me thinking about it again. It would be so nice to have WHS virtualized so I at least didn’t have to worry about the hardware changing. I can upgrade or I guess downgrade the PC it’s on and the VM would just keep on chugging. I could also relatively easily backup the virtual hard drives for both the data and the OS to other locations. And there’s all my data. I’m going to use virtualbox in this case because of VirtualPC’s seemingly irrational and arbitrary limitations (only three disks? 160 gig limits? really?). And actually you can mount VDIs as drives as per this forum link. Although that won’t work for dynamically expanding type disks which I was thinking about using actually.
Well maybe I’ll just make lots of 250 gig virtual drives and spread them across a bunch of drives maybe even over multiple physical machines. Gotta keep them redundant after all. Of course if those VDIs were backed up then there’d probably be no need to tell the virtual WHS to duplicate data as well. And I can only hope this would eliminate my WHS’s current habit of telling me there are conflicts. Of course I probably would have trouble mounting a 250 gigabyte VDI file over the network. Even if it is a 1Gbps network. Unless there’s some way to mount it on the host and use it as a share or something. Now that would be something.
So another question is what would I use as the host OS? My almost instant answer to this jumps to FreeNAS actually. Mostly because of it’s presumably smallish memory footprint thus freeing up that much more for the VM. Of course for this to really work I would need to most likely upgrade both the CPU and the memory of the host computer anyway. I would be using the 64 bit FreeNAS so I’d most likely go past 4 gigs “just because”.
Even though I can almost see myself buying a new motherboard as long as I’m buying new memory and possibly a new CPU anyway I think I’m going to avoid doing that this time. This motherboard seems fine to me and I think I can stretch a little bit of life out of it still. I don’t think a couple of gigs of memory and a slightly faster CPU preferably with the VM extension will cost all that much. Even if I did buy a new motherboard I would have to buy a new CPU and several gigs of memory anyway. So I may as well just limit it to the CPU and memory.
I’ll probably end up buying more 1TB hard drives before all is said and done as well. And as I probably said splitting up the virtual disks across all the physical ones. A 1TB drive is actually 931 GBs so I could divide that by four for roughly 232 GBs. And probably leave some extra room available so the OS doesn’t freak out or whatever so maybe…. a whole bunch of 220 GB virtual disks per physical disk. Obviously fewer on whatever 500 gig drives I decide to use and closer to four if not four on the 1TB drives. And perhaps have them mirror either with a roughly written script and sync utility or something a little more auto-magic that’s built in to BSD or FreeNAS or whatever. Over the network that is. So I imagine if I had four 1TB drives in the main PC with four VDIs per disk that would be 16 VDIs total, at least. Okay so lets drop that. I have to limited to the number of redundant copies. If I had four 1TB disks I would have four 500 gig drives. So that’s 8 VDIs I could back up at any one point and possibly two of those would be for the OS. So really 6 VDIs for the data storage. So 220 x 6 is 1320 GBs, which is roughly 1.29 TBs of data. If I did my calculations correctly which I may not have considering I am getting more and more tired and later I stay up. Of course the OS VDI doesn’t have to be the whole 220Gigs. I could it smaller like 80 or 120 or something.
So the six VDIs would be for storage, 1 for the OS of much smaller size. Okay that makes more sense so it screws up the calculations from above but I don’t feel like doing it over again. And all them are mirrored, by which I mean copied/synced as VDI files, over the network to the 500 gig drives. Now if I could figure out some kind of auto-switch over thing so if a 1TB drive failed or wasn’t detected or whatever then two 500 gig drives would just flip into place as a replacement…well that would be pretty cool but perhaps not very likely.
Ya now that I think of it this seems a little unsafe. I mean what if a 1TB drive went bad? If I’m limited by the 500 gig drives anyway would it make more sense to use the four 500 gigs as the primary VDI storage and when one of them fails slip in the back up 1TB? Then at least I could keep working until a new 500 gig could be put into place.
Okay I’m too tired to keep writing and I should have been in bed a long, long time ago. So night.