Increase Dell MD3000i Virtual Disk Size

Date October 19, 2011

I needed to increase the size of a virtual disk on my Dell MD3000i. The MD3000i provides the storage space for my vSphere VM’s. The interface ‘Modular Disk Storage Manager’ does not provide a way to increase the size. To increase the size you must use the SMcli.exe (command line interface) provided with the Storage Manager client.

From the computer the ‘Modular Disk Storage Manager’ is installed on, open a CMD window and change to the following directory:

C:\Program Files\Dell\MD Storage Manager\client>

From this directory execute the following command (an explanation of the switches is below):

smcli -n Production_Storage -c "set virtualDisk [\"virtual_disk_name\"] addCapacity=26843545600;" -p "password"

Where ‘Production_Storage‘ is the name of your storage array, ‘virtual_disk_name‘ is the name of the virtual disk to increase, ‘26843545600‘ is the amount to increase the virtual disk in bytes (in this case 25GB, use this calculator to convert from GB to Bytes: Convert GB to Bytes), and ‘password‘ is the password to the storage array.

Once the operation is complete you will need to extend the Datastore in vSphere.

Locate the datastore, right-click the datastore, select properties and select the ‘Increase …’ button. Next you should see a selection of available devices and the same LUN should appear, select it and click next. Vsphere should see the additional free space and upon clicking next it will expand the volume.

Public IP

Date August 18, 2010

It seems as though every time I try to get my public IP address from a website I’m shown a slew of ads, messy formats and otherwise unattractive pages. I was looking for a VERY simple way get my public IP address added into a script I was creating and got frustrated with the options available.

I decided to create a very simplistic web page that cleanly displays IP addresses and also supports a back-end for displaying public addresses to the command line as needed. I also worked in a small proxy detector to test if the client is coming from a proxy and display what information it could gather from the client about the proxy.

I will be adding more one line commands to the page as I stumble across them, trying to keep the format of the commands as simple as possible.

My IP Address – Computerglitch Public IP Address Display

Port Relay With Relayd

Date August 6, 2010

I recently had a project where I needed to move an internal web server to the the external DMZ of the network. The setup originally was using PF to redirect all external connections to port 80 to the internal webserver on port 80. The decision was made to move the internal webserver to the external DMZ for security.

I had originally planned on setting up the new server in the DMZ giving it a public IP address, updating the DNS record and going happily about my business but I decided to try something a little different. OpenBSD has a very cool load balancing program named Relayd (which used to be called hoststated). It can be setup to forward, reverse, redirect or accelerate packets.

For my use I wanted Relayd to act as a tcp port relay and redirect all www packets bound for my public IP to be redirected to my webserver in the DMZ, you can see the traffic flow below:

internet  -->  relayd forward (box1)  -->  server (box2)

To achieve this I edited my /etc/relayd.conf as follows:

box1_addr="10.1.1.2"
box1_port="80"
box2_addr="10.1.1.3"
box2_port="80"

## TCP port relay and forwarder
#
protocol "tcp_service" {
                   tcp { nodelay, socket buffer 65536 }
           }

           relay "tcp_forwarder" {
                   listen on $box1_addr port $box1_port
                   protocol "tcp_service"
                   forward to $box2_addr port $box2_port
           }

Once my /etc/relayd.conf setting was in place I started relayd with the following command:

relayd -f /etc/relayd.conf

Additionally to make sure Relayd starts at boot time I added the following to my /etc/rc.conf.local file:

relayd_flags=""

And with that, all web traffic bound for my network is being successfully relayed to my external webserver in the DMZ, no changes to DNS were made.

References: http://www.openbsd.org/cgi-bin/man.cgi?query=relayd&sektion=8&format=html | https://calomel.org/relayd.html | http://www.openbsd.org/cgi-bin/man.cgi?query=relayd.conf&sektion=5&format=html

Synergy

Date July 14, 2010

Many of the Synergy instructions I found were redundant and not to the point. I have a CentOS box and a Windows XP box I wanted to be able to easily switch between. Instead of using a KVM switch I decided to use Synergy to switch between two monitors (I do a lot of monitoring from my Linux box and like to be able to view my graphs and charts 24/7).




To setup Synergy I first installed it on CentOS:

# yum install synergy

You may need to install the RPMforge repository. Details on how to do this are here:
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

Once Synergy is installed you must configure it. First edit /etc/synergy.conf
For reference my systems are: xp=WindowsXP Box | despina=CentOS Box (replace xp and despina with your system names)

# vi /etc/synergy.conf
section: screens
xp:
despina:

end

section: links

xp:
right = despina

despina:
left = xp

end

This tells Synergy that to access my Windows XP system, move the mouse off the right side of the screen on my CentOS system.

To make Synergy start at bootup I added the following to my /etc/rc.local file:

# vi /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

/usr/bin/synergyc -f xp &

This tells Synergy to connect to my Windows XP system at startup. I also wanted to have Synergy start at the very initial login page, to do that I had to do the following:

Edit /etc/gdm/Init/Default and add the following line at the very end but before exit 0 line:

/usr/bin/synergyc -f xp &

Now add the following to the very top (after the #!/bin/sh line) of the /etc/gdm/PreSession/Default file:

/usr/bin/synergyc -f xp &

Now to configure my Windows XP system. I simply downloaded and installed from http://synergy2.sourceforge.net/

Once it was installed I hit the Configure button and setup my screens like the following screenshot:




And that’s it. I can now move between systems simply by moving my mouse to the edge of the screen.

References: http://synergy2.sourceforge.net/ | http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

Disk IO

Date June 30, 2010

I recently had some disk IO issues with ESXi using a iSCSI datastore for VM’s. The storage device was a Buffalo Tech Terastation IS Model TS-RIGL/R5 F/W 1.01. This storage device was being used to house our VM’s including our production email server.


We started noticing high loads on the email server and noted that the processes weren’t causing high CPU usage and the memory available was more than enough. Once we ran various tests and eliminated a CPU or memory bottleneck we turned to disk IO. We knew we went out on a limb using cheaper hardware for our storage but had no idea the IO would be this terrible.

A good test to see what kind of write speeds you are getting is to write a file to the disk in question such as:

# time dd if=/dev/zero of=testfile bs=8192 count=488281

This command will write a 4GB file named ‘testfile’ to the current location. A good write should come off looking something like this:

# time dd if=/dev/zero of=testfile bs=8192 count=488281
488281+0 records in
488281+0 records out
3999997952 bytes (4.0 GB) copied, 103.593 seconds, 38.6 MB/s

real 1m46.786s
user 0m0.197s
sys 0m7.446s

However when I ran this command against our Terastation I was getting the following results:


We have since moved off of the Terastations and are using them solely for backup storage. For backup storage these systems fit the bill perfectly (cheap large capacity, sacrificing disk IO). We moved our production VM’s to a Dell Powervault MD3000i and performance has improved 10 fold.

You get what you pay for.

Helpful links:
http://www.linux.com/archive/feature/131063
http://it.toolbox.com/blogs/database-soup/testing-disk-speed-the-dd-test-31069

Nagios Monitoring

Date January 22, 2010

I use Nagios at work to monitor all of my critical production servers. We have a older Solaris 8 SPARC server that quietly sits handling database queries using Informix. Most of the time this server never needs to be touched but recently it has had some performance issues. Once we discovered the problem I decided to also add it to the pool of servers Nagios monitors. Needless to say, monitoring Solaris 8 with Nagios had its challenges to get setup.

I wrote up a detailed paper explaining the process and how to get around some of the problems I encountered while trying to get NRPE to play nicely with Solaris 8.

My Setup

Date December 16, 2009

I changed a couple of things around on my work setup I thought I’d share. First of all I moved to Fluxbox as my windowmanager on my Linux box. Fluxbox is lightweight, highly customizable and since I’m usually using a terminal to get things done it fits the bill perfect. I’m using conky as a lightweight system monitor to keep tabs on things like CPU usage, memory usage, network load, etc.

Below you can see my current Linux desktop. Conky is running on the bottom left of the screen with my customizations. My .conkyrc file can be found here.

As you can see I’m using two programs with conky. One to check my gmail account and another to check the current weather conditions. The perl script I’m using to check gmail can be found here. To keep up with local weather conditions I’m using a script that can be found here.

I also replaced my KVM setup in favor of having another monitor and using synergy to hop between systems. I’ll be writing a short paper on configuring synergy with a Linux and Windows system in the near future.

Reverse Shell

Date December 8, 2009

I was recently researching a simple way to create a reverse shell on a remote machine without having to install any additional tools. A general overview of what a reverse shell is may be in order, this page explains the process: http://www.plenz.com/reverseshell

While researching I stumbled upon a great discussion on various methods for doing this. My goal was to start a listener on my system using netcat, then connect to the remote system and establish a reverse shell to my system without using any installed tools on the remote system.

The discussion on the subject can be seen here: http://www.gnucitizen.org/blog/reverse-shell-with-bash/. As you can see many interesting ways of achieving this goal have been posted.

The method I ended up using can be seen in the screenshot below.

On the right you see I started netcat on my machine “despina” listening on port 8181. On the left I connect to the remote machine “backup” with an IP of 192.168.4.10. Once I’m on the remote machine I connect back to my machine “despina” using the bash command on the left. Once the command is executed I’m immediately greeted with a shell on my machine.

Observing

Date November 30, 2009

I had a client that needed to monitor multiple computers at the same time from one central location. Cost was a issue, so I started to research ways to do this “on the cheap”.

The first thing I stumbled upon was SmartCode VNC Manager. This looked like a nice product but was cost prohibitive. Digging further I found a project that was started by a teacher for his students computer lab. The projects website is http://thetechnologyteacher.wordpress.com/vncthumbnailviewer/. Once I got VNC installed on all of the client computers, setting up VncThumbnailViewer on the monitoring computer was simple.

Below is a screen shot of the thumbnail viewer with six workstations active and a example of the simple configuration file that can be used to load multiple workstations quickly.

     

If you’re looking for a cheap alternative to monitor multiple workstations from one central system I’d recommend giving this project a try.

Droid

Date November 23, 2009

My contract with Verizon was up last month so I decided I needed a new more robust phone. Lucky for me as soon as I started looking around for options in the smart phone market the Droid was announced. I ended up purchasing the phone two days after its release. I also purchased a clear case and a screen protector for about $30, the only complaint I have is with the screen protector. When it was first put on my fingers would “stick” to the screen so navigating around proved difficult. The odd thing is after two days the “stickiness” is gone so I can’t even call this a complaint anymore.

So far I really like this phone. The main feature I was looking for was a way to access client servers in a pinch remotely from my phone. So far the application market place for the Android is somewhat lacking but this is to be expected since this is a new release. I was able to find a SSH application called ConnectBot and it fits the bill perfectly. Another feature I was focused on was email. I wanted a system where I could incorporate all of my accounts into one central area and be alerted on my phone when a new email was available. Gmail’s integration with the Droid was flawless and works perfectly.

     

The screen on this phone is stunning. The display is clear, crisp and bright. I’m not fond of the physical slide-out keyboard, it’s a little cramped for my tastes. I usually resort to the virtual keyboard which works great.

Overall if you are due for a phone upgrade I would consider the Droid one of the top choices in terms of smart phones.