Monday, October 8, 2012

ESEUTIL, Unitrends UEB and my own stupidity

So I just recently got a copy of the Unitrends Enterprise Backup appliance for vmware installed and licensed over the weekend. Now me being me, I just had to try and dive in head first. Couldn't get a lot of things working, but I did get exchange backups working- which is a massive plus in my book.

So, verified the backup, and it cleared my exchange logs- yay! Talk about making me happy. Until a nagging voice at the back of my mind reminded me of recent experiences with backup exec (and the fact that there's no corresponding restore exec). A restore was needed! So I went through the process- but I wanted to restore only a single mailbox. Talk about a nail biter- as I'm going through the options, I created the restore share by selecting my mail db backup, selecting the option of "Next (Select Files/Items)" and...
Waiting. 16GB db plus about 30GB in log files- takes awhile. Cool thing is, this restores to a local samba share, which you then access from your exchange box.

Which is where the stupid on my part comes in- you'll see it soon.
So, I check the db and start trying to bring it to a clean shutdown state- (for those of you who don't know how to do this, check out this blog: ExchangeServerPro, excellent write up!) when I started running into trouble- my db checked the way I expected it to, my log files were good, however during the recovery phase...

Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use)

And it doesn't tell me which file. Of course, since I'm such a genius, I decide that it must mean the db is locked... nope, db's not locked.

Oh! right, the samba share is read-only! Why didn't I realize this sooner?
So I move the db to a directory I've got read/write access to, and it's all good, right?

Oh hell no.

Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access fi le, the file is locked or in use) exchange 2010

Now, I get a bit irritated and throw handle and process explorer (both from sysinternals, good stuff!) only to find out that db is never locked. In fact, the restore process gets to ~90% before failing without ever opening a log file or the db!

WTF?

Well, turns out that the log directory needs to be read/write accessible too... something I would've figured out almost 10 minutes sooner had I just checked the event logs for the ESE errors...

So, while the samba mount is cool, it's not as useful as I had hoped. But it does make it easier to get at the files and use the standard microsoft tools for manipulating the files (powershell, robocopy, xcopy and all the rest)

Problem solved, files copying, face red with shame.
Hopefully this sheds a bit of light on the problem in case anyone else is as dense as I can be.

Friday, October 5, 2012

NFS in android- why isn't this built in?

This seems like such a no brainer- right now using fileshares with android devices tends to be fairly painful, even with utilities such as astro, es file explorer, etc.

Why? Because none of those let you actually mount filesystems.

You want to view/use a file on a network share, you have to copy it to your device, work on it and then copy it back. That's such a waste, especially considering how long linux has had access to smbmount, nfsmount and the like. And they are so easy to setup. I mean, incredibly easy. But yet for an android device, this is a nightmare of rooting, installing apps (not that I've got anything against CIFS manager mind you, except that you've got to root your device to use it, and it's got to be running CM7), and running a gauntlet of compatibility issues.

NFS/SMB read capabilities are right there at the OS level, literally compiling in NFS support for the kernel is a check box or switch during compile time, and it takes pretty much no effort to supply. Not giving us this ability means that device storage built into our devices is getting wasted needlessly. Filesharing is a common every day solution for a lot of things, and even in the home user market no less. Network attached storage is even an option now on some routers- so the technology is being made easily available.

By including this is in the stock android deployments, we could get much easier use from our devices, and it would be yet another step to making BYOD less of a headache for system's administrators- ie, the data your users are using is still locked on the fileserver, and not on their devices.

Sunday, September 9, 2012

Equallogic SAN + VMWare ESXi 5.0 == annoying at times

I know a lot of you will laugh at me for this, but I'm hoping at least a few people find this useful. If you've got monitoring setup correctly on your EQL boxes (and you are running at least 5.0.5 firmware), you might be getting emails like this:
-----


ERROR event from storage array DABIGDISK
subsystem: MgmtExec
    event: 7.4.3
     time: Sat Sep  8 23:37:04 2012

iSCSI login to target 'xxx.xxx.xxx.xxx:3260, iqn.2001-05.com.equallogic:0-8a0906-19f16ee02-6040000003b487d0-vss-control' from initiator 'xxx.xxx.xxx.xxx:58885, iqn.1998-01.com.vmware:FEEKYFEEKY-07e33139' failed for the following reason:
                Initiator tried to bypass the security phase but we cannot.

-----
yup, sorry vmware, no biscuit.
It's an error, and it's kind of a stupid one, but it's not vmware's fault, it's actually a slight flaw (or duh, actually) on the equallogic side. There's two settings that need to be correctly configured, one of which is under Group Discovery -> iSCSI (refer to pic)



As you can see, it's a pretty simple check box. The other location is under VDS/VSS, in which case you simply don't give your vmware boxes permissions to use VDS/VSS unless you've already got the means in place to support it. 

Simple, stupid fix- and I was stupid enough to not even notice it until I actually ran into the headache tonight.

Thursday, August 16, 2012

Quick Update, yes I'm alive

Just posting a quick update- two of the projects I've been working on are completed, however (as usual) that's only opened the door to new problems, er... projects.

However, if you've got a moment, check this out! The team over at spiceworks has released version 6, with tons of new features. The next latest being worked on is iLO support, something I'm incredibly excited about!

Anyway, still alive, still busy.
Technically, still posting.

Sunday, May 6, 2012

The inherent dangers in prototyping

So I've been working on a few projects, one of which is requiring snmp functionality for a power/ups monitoring solution. One of the headaches I have is finding components- I've got digikey, mouser, newark, jameco and sparkfun... out of all of those, the only one that sensible names things is sparkfun, except that consistency in naming isn't something they're known for. But their site is incredibly easy to navigate, pictures and posts that relate to the items tends to be very useful. Not quite the same with digikey and mouser. I had ordered a ton of parts from digikey just a few days ago, and actually got two sets of headers that were completely wrong. I had misread the specifications, and assumed when I saw 2.54mm across to mean the same thing as 2.54mm spacing... boy was I wrong. One item will partially work, the other (a 2x10 2mm spacing female header) is about completely useless. And I've got 10 of them. And I made the mistake of telling the rather nice customer service lady that my order was fine, and I would be getting the parts used immediately.

Now I find that I've had to re-order three sets of parts, from two different houses (digikey and sparkfun this time) in order to have any hope of meeting my time frame. While I realize this isn't any fault of the distributors, it still doesn't make it easy to know that I've got to really squeeze my debug time in order to make sure I've got time to get it finished before my impending trip to alaska.

In case anyone's interested-
SparkFun- www.sparkfun.com
Digi-Key- www.digikey.com
Mouser- www.mouser.com
newark/element14 - www.newark.com
and jameco- www.jameco.com

Sunday, April 22, 2012

Still alive

Just been hectic, as I had expected. Besides the monitoring system, I've been given a couple of new tasks- one of which is to learn a new voip system. I've got to say, I'm not too terribly interested in it, as I've not been really impressed with voip. While technically it's a real time encode/decode network system, everything I've seen and experienced has led me to believe that most solutions are just barely ready. While I will admit, it's a lot easier to setup and maintain than a pbx (I still have nightmares involving analog pbx's, and horrible voicemail configurations), it just doesn't hold any real interest for me. What I'd rather be working on is the two new storage devices that we've had commissioned, plus my company's impending move to a new location. With network connections to be migrated, new services to be configured and integrated, plus new employees to train, I'm fairly excited. Unfortunately, someone's decided that voip is my new responsibility, which strikes me as a bit strange, as I've been doing firewalls, virtualization, storage and design for years. I realize I'm going to have to do this to continue being employed, but it doesn't make me want to do it any more than if I wasn't getting paid for it.

Another thing I'm hoping for is that some of my work becomes postable- right now, I can vaguely talk about it, but I can't give real specifics, or pictures. I had hoped at one point to show off some of the stuff I'm working on just because of how cool it is. Maybe in the new few months, I'll have that permission. 

However, for now I've still got the usual- fires to put out, monitoring systems to maintain and build, network maintenance and storage. I want to add to that list, but so far the only thing to add is one of the things I truly don't like. Oh well, I'll do my best to try to update, but as usual... I'm swamped.

Wednesday, April 11, 2012

Custom designing monitoring hardware

I don't know how much use this will be, but...

Current project, and probably one of the definitely more interesting ones! I get to take an atmel atmega chip, and design a monitoring system around it. Considering the price of the chip, and how easily I can get boards made (I've got a stack of custom mistakes just sitting around waiting for me to figure out what to do with them), I decided to go the route of making my own arduino compatible board (note, only compatible... it's not technically an arduino).

First task I've gotten working is monitoring temperature, power, and lock status. So far so good. Then I found the Agentuino library... which is interesting to say the least. At the moment, it only really implements two functions, namely snmp_get and snmp_set. I'll be trying to get snmp_get_next working, which would probably end up being followed by snmp_get_bulk.

Why does this even matter? Well, this system is network attached for one thing. Currently it drops it's data via a post to a LAMP server- a simple php script picks up the data and stuffs it into a mysql db. pretty simple stuff. and it does it in less than 10K of rom space. I wish I could say the same for the snmp version, as it loads out at a minimum of 14K so far. I know most people are used to working in the megs and gigs realm of storage, but I started programming on systems that had less than 16K of ram, and stored their data on tapes... I find that reducing/optimizing code to fit in the smallest of space to be an almost elegant art form. And yes, I always hear that old obi-wan quote about "An elegant weapon, for a more civilized age" whenever I think about coding for space. I would've liked to have said I would be reducing the footprint further, but with having to add roughly 30 OIDs I don't think that's going to happen.

Considering I've got about 30K of space to work with, I'm hopeful to just get that far. Adding in the fact that I'm more than likely going to have to get at least get snmp_get_next working, I may have to opt for a far bigger chip than the atmega 328. I've seen some based on the atmega2560, which has about 256K of rom, versus the 32K I'm using now. I'll have to check out the price difference as well, but I don't think it will be enough to worry about. That alone should get me a hell of a lot more space for adding in new features.

As far as why I need to get snmp_get_next working? snmpwalk and most automated NSMs require snmp_get_next in order to walk to the MIB tree. For those of you who don't know, the MIB (Management Information Base) is a specific set of data points to be returned by the device in question. Considering how many MIBs there are right now, and the fact that anyone who puts snmp support in a device tailors their own, that's a lot of MIBs in this world. And they all work off of OIDs (Object IDentifiers). The OIDs let you request specific data, and the MIB tells you how to read that data. pretty simple, right? Well, like anything out there, it's been made convoluted enough to give me a headache.  There's a lot more information on the wiki about this, and described far better than I can.

Suffice it to say, I'm busy once again.