Tuesday, December 30, 2008

Nobilo Pinot Gris

It had been a while since I'd had a Pacific Rim wine, so I grabbed this one on a whim. This was a New Zealand wine, bragging that it was from the east coast. That surprised me, as I expected west-- but what do I know about trade winds?

The bottle was impressively designed, which showed great forethought. It was not oaky like Aussies and far less acidic than Chileans. It had a bold flavor, but not overpowering.

It was more expensive than most of my 'every day' wines, so it gets 5 of 10.

Monday, December 29, 2008

Ruffino Chianti

Can't argue with a classic: consistent flavor at a reasonable cost. I usually keep a couple of these on hand. 7 of 10.


For contractual reasons, I can't tell you what that means. I did the hard work and figured out the hack. Now you get to figure out how to implement it.

Who could forget memory specs?

Oops. I learn the hard way.

I wanted to upgrade the memory of one system, and take the old memory from that system to upgrade another. Seems that at some point, the number of pins on the SIMMS changed. I've got so many old systems laying around, I didn't realize there was such a divergence of desktop memory.

It was easy back in the 168 pin days of the turn of the century. In the '90s, we had PC33, PC66, and PC100. After Y2K, we got PC133. For the most part, any chip could run a grade lower. Thus, PC133 could run in a PC100 system. In the case of Celeron and Pentium III CPUs, it was even possible to use PC133 and PC66 interchangeably... Not that it was a good idea.

Then we moved to the 184 pins. This was for the radically faster front side bus speeds that were being inovated by AMD. Soon the industry standard was 400Mhz, rather than 133Mhz. The 184's were also called DDR followed by a speed indicator of 266, 333, 400, or 500. In keeping with tradition, each had a PC moniker, unfortunately there is no logical relationship between the DDR and PC values.

Next came DDR2. This is the one that burned me, as it now has 240 pins. Speeds range from 400Mhz to about 1.2Ghz. Beyand the gigahertz barrier, it was necessary to move to DDR3, which starts at 1Ghz and is passing the 2Ghz mark. Oddly, it uses the same 240 pins and DDR2.

Here it is in easy to digest table form:
168 pin
  PC33, PC66, PC100, PC133
184 pin
  DDR-266, DDR-333, DDR-400, DDR-500
240 pin
      400, 533, 667, 675, 800, 900, 1000,
      1066, 1100, 1142, 1150, 1200
      1066, 1333, 1375, 1600, 1625,
      1800, 1866, 2000, 2133
This list is, of course, no where near complete.

Sunday, December 28, 2008

Kickstart and LVM, Pt 2.

I previously lamented the lack of documentation on reusing LVM after a kickstart. Scenario One involved keeping a partition and wiping out the LVM. This time, we want to keep one or more LVM.
clearpart --none
part /boot --fstype ext3 --onpart sda3
part pv.8 --onpart sda5
volgroup hvg --pesize=32768 pv.8 --noformat
logvol /            --fstype ext3  --name=root --vgname=hvg
  --size=4096 --useexisting
logvol swap     --fstype swap --name=swap --vgname=hvg
  --size=2048 --useexisting
logvol /home   --fstype ext3  --name=home --vgname=hvg
  --size=1024 --useexisting --noformat
Since both the /boot and LVM exist, we are specifying their partitions. Notice the use useexisting and noformat. It seems we need useexisting on all the LV's or they will be recreated, leaving the previous LV's unmounted, but taking up space.

Wednesday, December 24, 2008

VMware S2 Console Under Linux

I really don't like the Web UI on the VMware Server 2. What I really don't like is how poorly console access works from a Linux machine. What complicates matters further, is that the server is hosted on Linux! Luckily, the VM's can be made to use VNC... Just like KVM and Xen! Yeah.

To the VMX file add:
RemoteDisplay.vnc.enabled = "TRUE"
RemoteDisplay.vnc.port = "5910"
This will cause the console to listen as VNC connection 10.
(That's 5910 - 5900. Getit?)

Now issue:
vncviewer localhost:10 > /dev/null 2>&1 %
Now we have a detached viewer, with no need to launch a browser.

In my opinion, this product just transitioned from useless to viable.

Thursday, December 18, 2008

Marcato I Prandi Soave

I found a couple bottles dated 2003 for an Italian Soave on a trip south of the border. (That's Virginia, BTW) Compared to most Souaves, it was golden, which was unique. Turns out, it was a Chardonnay blend, but that of its own would not have accounted for the rich golden color. I save one bottle for the wine cellar. 6 of 10

Cloud Computing

I've had several people ask me about Cloud Computing, and have tried over and over again to explain that their is no such thing. It's just an industry buzz word that can be used somewhat whimsically. Seems I not the only one that thinks so.

Sunday, December 14, 2008

St Martin Chardonnay

I use to pay about $25 a bottle for this label around Y2K. I hadn't seen it for years and grabbed it when I found it in Delaware. Much to my surprise, it was only $7 and had a screw top. Further, it went from a very good white to adaquet. Good enough for a 5 of 10, especially compared to the other French whites I've been drinking lately.

Bellini Toscana Sangiovese

This is one of my stable wines: I always keep a few bottles around. A good red. 6 of 10

Sunday, December 07, 2008

Chateau Belingard

Somehow, I lost the picture of this one... Technology is just SO complicated. Here's the review anyway.

This Frech Bergerac wine is from the Comte de Bosredon winery. I got this one with several other French white burgandies. I managed one glass before I was overcome with a horrible hangover. Yes... After one glass. In all fairness, I suspect it was because this was a blend that contained Semillon, to which I am alergic. (Along with Merlot, and others.)

On its own, I would rate it as very acidic, much like a Chilean. That seems to be the trend for these French whites. 4 or 10

Tuesday, December 02, 2008

Force Kickstart from a MAC Address

The NetworkManager application has always sucked. I understand that for the beginner their are some nice wireless features and perhaps it is good for laptop users, but from a server perspective, it sucks. So now, they went and integrated it into Anaconda. Unfortunately, they didn't have time to test it, so they deployed it broke. The good news is that you can't fault them-- it was part of the project plan to release it "broke".

The problem is that Anaconda's version of NetworkManager will only use about four different NIC drivers. If you don't have that type of card, it will fail. Luckily, if you will acknowledge the error, it will fall back to "the old way", and will work. This process, however requires manual intervention.

Since I need the ability to do completely unattended, remote, installs, I need to use one of those four drivers. Turns out the Intel E100 works. I swapped a bunch of cards, but needed to ensure it booted from the Intel and not the Realtek. The solution is ksdevice with a MAC address specification:

boot: linux ks= \

Sunday, November 30, 2008

Kickstart and LVM

There are no examples of reusing an LVM partition after a kickstart. So here we go. Two scenarios: In the first we keep a partition, but blow away the LVM. In the second, we retain one or more of the LVs.

Scenario 1:
# fdisk -l /dev/sda
--- output truncated ---
  Device       Start       End       Blocks   Id   System
/dev/sda1         1        13      104391   83   Linux
/dev/sda2       14      1033   8193150   8e   Linux LVM
/dev/sda3    1034     1670    5116702   83   Linux
We want to keep /dev/sda3, so we can't do a clearpart --all.
The kickstart code:
clearpart --none
part /boot --onpart /dev/sda1 --fstype ext3
part pv.16 --onpart /dev/sda2
volgroup vg0 pv.16 --pesize=32768
logvol swap --fstype swap --name=swap --vgname=vg0
logvol / --fstype ext3 --name=root --vgname=vg0
logvol /var --fstype ext3 --name=var --vgname=vg0
logvol /tmp --fstype ext3 --name=tmp --vgname=vg0
Take note of the --onpart statements. Since all the listed items include --fstype, they are all formatted. Since /dev/sda3 was not formatted, we need to have /etc/fstab mount it at boot time. In the post add:
echo "/dev/sda3   /home   ext3   defaults   0 0" >> /etc/fstab

Thursday, November 20, 2008

Falesco Sangiovese

This is a central Italian wine, from the Umbria region. It was nice, for cheap wine. Heavy and dark. It probably would have gone well with chocolate ice cream.

I probably won't get it again, but I had a coupon! 4 of 10.

Domaine Roger Luquet Macon-Villages

After a ridiculously long absence due to Blogger technical issues, I've got some new wine posts.

I got this French white on a recommendation from one of the wine store guys. While not bad, it really wasn't that good, which is aggravating, because it was slightly more expensive than I normally spend for a casual bottle of wine. I found it to be acidic, reminiscent of Chilean wines.

I'm only giving this a 4 of 10. It could be a low five, if it was half the price.

Another Attempt At "mail-to-blogger"

Much to my astonishment... This worked rather quickly:
This feature has been uniformly unreliable in the past, but since their picture post mechanism is offline, I thought I'd try this again, as a alternative.  Normally it takes "a day or two" for the posts to show up.  Pretty pathetic, huh.  Lets time it:

Post sent 11/20/2008 09:54am Eastern

PS: I sent this from my gmail account.  This will be our control value, as it too is under the Google umbrella.

It showed as a draft, even though it is set to publish immediately. Next, an "external address".

To make life easier, I've combine the results in one post.
This one from a Yahoo account.
Post sent 11/20/2008 10:06am Eastern

Both Google and Yahoo took about two minutes.
From My Mobile E-mail
Post sent 11/20/2008 10:12 AM Eastern
About four minutes on this one.

Since the mobile post made it (to drafts, any way), I attached a picture, and tried again. The image took about twelve minutes to process. It was the first time I have been able to post an image in about six months.

Wednesday, November 19, 2008

KVM "TCP/IP error: VNC"

I got an error when attempting to use virt-manager to connect to the console of a virtual machine. TCP/IP error: VNC connection to hypervisor host got refused or disconnected! This seem to be from spawning a new console too fast after closing a console to the same machine. Here's a work-around:
[root@adama qemu]# virsh vncdisplay valk-b
[root@adama qemu]# vncviewer
This assumes you have X Window support.

Monday, November 17, 2008

GigE Benchmark, Pt. 3

More performance tuning, this time using FTP instead of NFS.
Adama from Scully:
a. 100M, 962,465,792 11.2M/s in 82s
b. GigE, 962,465,792 13.4M/s in 68s
Mulder from Scully:
c. GigE, 962,465,792 14.4M/s in 64s
Adama from Mulder:
d. GigE, 962,465,792 21.0M/s in 43s
Look at the performance difference between "a" and "d" simply by downloading from a 1G rather than a 300M CPU. But... I have one more trick up my sleeve.

Mulder had an overclocked Celeron running at 1G, but with a front side bus at 66mhz. I swapped the CPU with a PIII 600, with a front side bus speed of 133mhz. I don't think this will help us on the PCI, but let's give it a try:
Adama from Mulder w/PIII:
e. GigE, 962,465,792 21.7M/s in 43s
Any performance gain was insignificant. One last test:
Mulder w/PIII from Adama:
f. GigE, 962,465,792 19.0M/s in 52s

GigE Benchmark, Pt. 2

I added a third node to the GigE backbone. Benchmarks for Adama and Mulder copying from Scully via NFS. Test file is an ISO of slightly under 1G size. The goal of the test it to determine the effect of processor speed on GigE throughput.

[root@mulder ~]# echo -n "`date +%T.%N` - "; \
  cp /mnt/isos/RHEL4-dvd-docs.iso .; date +%T.%N

09:40:46.403907606 - 09:42:23.930183317
[root@adama ~]# echo -n "`date +%T.%N` - "; \
  cp /mnt/isos/RHEL4-dvd-docs.iso .; date +%T.%N

14:08:53.343940918 - 14:10:12.375121976
(Obviously, somebodies clock is out of sync.)

Given that Scully is our "control value", we get:
  mulder = 1:37.53
  adama  = 1:19.03
Mulder has a 1G CPU and Adama has a 2G CPU. A minor difference that could have been caused by several factors. Now the big test. Scully is a PII 300Mhz. Lets see the transfer rate between Adama and Mulder.
  from mulder to adama = 1:22.48
  from adama to mulder = 1:03.18
Bottom Line
A system's CPU has a effect its transfer rate. Paradoxically, the best speeds come from having the faster system on the server side, rather than the client side. Of course the problem with this is that, in this case, the high speed system is needed for the application.

KVM virt-clone

One of the things I love about Vmware is the ability to deploy a VM from a template. Linux has never had the same capacity, but there is a clone feature. Just as with Vmware, the original VM must be powered off. This is because we can't copy and image file if the VM is making live changs to the image.

Unlike Vmware, we have the advantage of being able to use Logical Volumes in Linux, rather than image files. An LVM image provides better performance that a flat file because we are "closer to the bare metal" of the drive, rather than inside a file system. We can resize an LMV image using native Linux commands, rather than using a third party tool. Unfortunately, this mean cloning requires one extra step: we have to preallocate the LogVol. That should take about 10 seconds.
[root@adama ~]# lvcreate -L 5G img -n vm06f8
  Logical volume "vm06f8" created
[root@adama ~]# virt-clone -o vcl02 -n vcl03 \
  -f /dev/img/vm06f8 --force

Cloning from /dev/img/vm05f8 to /dev/img/vm06f8
Cloning domain... |         5.0 GB     02:55
In this example, we created the image LogVol, /dev/img/vm6f8, and replicated Dom vcl02 as vcl03. Since we were using a preallocated volume, we needed the --force. (No, it is not smart enough to make the the LogVol. Yes, I tried.)

Our big problem now is that both VMs have the same hostname and IP address. Since vcl02 is down, we can bring vcl03 up, and make the changes with out an conflicts. If... You had used LVM inside vcl02, and you used a different VG name than on Dom0, then you could use kpartx to mount the root filesystem, and change the config files directly.

Saturday, November 15, 2008

Vista & D-Link -VS- Samba

I'm going to blame this on Vista, but I think it may be D-Link's fault. For the last few weeks, the three Vista laptops have not been able to access the FC4 Samba server. The four XP machines can. When attempting to access \\Scully\Samba i got the message: the network or server is unreachable. (NOTE: If I connect the laptop via LAN cable, everything works.)

I stumbled across a similar post regarding Ubuntu and Belkin where the solution was to use the IP address of the server rather than the name, in other words: \\\Samba This works.

That means the problem is either DNS or or Windows Name Resolution. From CMD, I can ping scully, so it has to be on the Windows side (PNRP or LMhosts?) When I map to \\\Samba, the drive is available. Just for fun, I added the IP address to the hosts file, and now the name works.

Since this is Vista, however, we cannot simply add the IP to the hosts file:
1. Click the Vista icon (or press [Ctrl][Esc])
2. In the Start Search box, type CMD.
3. An icon will appear under Programs.
4. Right click on the icon, and select Run as administrator.
5. Confirm all warnings.
6. At the command prompt, type:
    notepad C:\Windows\System32\Drivers\etc\hosts
7. Add the IP address and Windows machine name.
Now, we can map network drives by host name.

Thursday, November 13, 2008

IPtables Port Foprwarding

I'm battling a firewall issue. Machine "A" can not see machine "B", so I want to bounce through machine "C". Unfortunately, it has to be a selective redirect, as "A" needs services from "C", as well. Three steps, executed on machine "C":
[root@c]# echo 1 /proc/sys/net/ipv4/ip_forward
[root@c]# iptables -A PREROUTING -t nat -i eth0 -p tcp
    --dport 3389 -j DNAT --to

[root@c]$ iptables -A FORWARD -p tcp -m state --state NEW
    --dport 3389 -j ACCEPT
First step enables forwarding. Second step takes all packets for port 3389 (machine "C" doesn't run MS terminal services), sends them to, and twists them to 9833. Thirds step fires them back out.

Wednesday, November 12, 2008

Reverse Hex Dump

Here's a nasty hack. I needed to automate a VNC user password in a kickstart file. The password, generated by vncpasswd was not easily transportable. Consider this example:
[doug@vinci .vnc]$ vncpasswd
Password: password
Verify: password
[doug@vinci .vnc]$ cat passwd
That's a mess. How are we going to get that into an ASCII file?
[doug@vinci .vnc]$ hexdump passwd
0000000 d8db fd3c 7a72 5814
Okay: that's hex. But how do we get it back to ASCII?
[doug@vinci .vnc]$ for HEX in d8 db fd 3c 7a 72 58 14; do echo -en "\x$HEX" | awk '{printf "%c", $1}'; done
With a few stategically placed spaces, it's back into hex.

Ah... It's not quite right. Look at the characters. They're out of order
[doug@vinci hexdump -C passwd
00000000   db d8 3c fd 72 7a 14 58     |..<.rz.X|
[doug@vinci .vnc]$ for HEX in db d8 3c fd 72 7a 14 58; do echo -en "\x$HEX" | awk '{printf "%c", $1}'; done
Much better. Dare I say perfect. And we don't even need to add the spaces.

Obituary for E-mail Spam

I can not believe this isn't the lead story for every major news venue. Am I the only one that noticed? I actually had to check my e-mail server this morning to ensure it was online. Why? Because there was no spam in my Inbox. I could see spam being denied from Europe, Russia, and Asia-- but no American spam.

Where had it gone?

After checking all my normal news outlets and finding no reason for this great event, I checked in on Brian Krebs' Security Fix at the Washington Post. He is normally a part of every Monday, and slow Thursdays, but not only did he have the answer... but he was the answer.

Turns out, Monday, Brian Krebs solved the American spam problem. He found that all the spam in a the US was coming from one system and he had it disconnected. (It was actually about 75%.) Since then, no spam to my server. Unfortunately, this is only a temporary reprieve as they will be back online by week's end. And then... It will be Blue Frog all over again.

Happy No Spam Day!

error: stdio.h: No such file or directory

I had problems compiling a program under Fedora 9 which resulted in the message:
error: stdio.h: No such file or directory
I didn't find a resource that explained the dependencies for this package, so... I guess its up to me to make one. Obviously, we need gcc, but also:

CAUTION: For some reason, YUM would not install glibc-headers properly. I had to manually install it.

Friday, November 07, 2008

F10-beta Kickstart Memory Reservation

Got another glitch for you. If you'll recall, one of my saddest moments in my work with F10-beta KVM was when I realized that we had lost the ability to dynamically control guest memory. It bit me again.

When attempting a kickstart, I was allocating 256 Meg of memory. The process would reach package number 10 (I think it was gcc... but who needs that) and freeze. Eventually, I found that by allocating 512, it continued the install. This man have nothing to do with KVM at all, but my have been an issue on a physical machine of less than half a gig of RAM.

There may be a sweet spot between 256 and 512, but I did not investigate any further.

Bottom line: Install at 256, then move down from there.

Thursday, November 06, 2008

F10-beta Error Kickstarting VM

Here's a tremendously perplexing bug. When attempting to kickstart a VM install from the command line, the kickstart dies with any error that it can not read from /dev/sdb.

First oddity is a warning that "The partition table on device sdb was unreadable" and needed to be initialized. This message has always been a anomoly solved by simply responding "Yes". Unfortunately, this time it is for a non-existent /dev/sdb.

After a too long delay, the second warning states "Input/output error during write on /dev/sdb" with the options of Retry / Ignore / Cancel. When I ignore, Anaconda throws exception for KeyError: 'sdb'.

For some reason, virt-install was reserving 3876 MB of disk space for an sdb partition, but not creating the sdb1.

A dozen attempts at a kickstart %pre work around later, broke for dinner, and watched a free HD OnDemand Bond movie (Dalton). When I walk back to the system, the kicktart had worked. It turns out, this time, the kickstart worked. This one, however, was executed via the gui wizard. I examined the log files, and found the difference.

Doesn't work:
virt-install -n vinci -r 256 -f /dev/img/vm02f8
-l /vinf/ISO/Fedora-8-x86_64-DVD.iso -b virbr1
-x "ks="

virt-install -n vinci -r 256 -f /dev/img/vm02f8
-l -b virbr1
-x "ks="

Can you see the difference? Look at -l. The first (bad) is attempting a local install from an ISO. The second (good) is using an extracted image via FTP.

Now the sad part: I can't report it as a bug, since I can't solve the problem. I do however have a work around, which moves me forward. It doesn't help the developer's with their code problems, but then I'm not a programmer.

Wednesday, November 05, 2008

F10-beta Network Bridge

With a little direction from a fellow Fedora'r, I've finally got the last piece of the F10-beta virtualization suite working.

By default, KVM (I hate that name... a KVM is a type of switch) creates a bridge process between the physical NICs and the virtual machines. The bridge process handles DHCP on an internal subnet and NATs the VMs to the physical world. In other words, virbr0 emulated a Linksys or D-Link home router. This works fine for outbound communications, but does not lend itself to connecting to virtual servers.

What is needed is the ability to route from an external address to a VM. This means slaving an ethernet to a bridge, assigning them to the same network, and establishing a route between the physical card and the bridge. To accomplish this, I created the following script:
[root@adama network-scripts]# pwd
[root@adama network-scripts]# cat ifcfg-virbr1


brctl addbr $BR
ifconfig $IF
brctl addif $BR $IF
ifconfig $BR $NET.$HOST netmask up
route add -net $NET.0 netmask $BR
route add default gw $NET.1 $BR

exit 0
First the script location. By placing it in network-scripts, it is sourced at boot and service network restart. The name is not relevant except for the minor detail that the ifcfg's are executed alphabetically, so the filename has to start with letter FOX or higher.

Second, the script uses variables for portability. Notice that $NET.$HOST form an IP address. This will end up being the primary interface on the system, as the last command will switch the server's default route to the bridged interface.

Fianlly, I would suspect there is a way to embed this into the virtlibd subsystem. At this time that is not a priority and I think this may provide more flexibility. I say that because adding this script to a kickstart is simply the addition of a cat >> x << EOFcommand in post.

Tuesday, November 04, 2008

Palm Centro: Documents To Go Registration

My Palm Tungsten had a nice feature called Documents To Go that allowed Excel spreadsheets (and Word, et al) to be modified and synchronized with a Windows desktop. When I found that Sprints version of the Palm Centro came bundled with the product, I was very please. Everything worked flawlessly, until about a month ago.

The Centro displayed a notification that there was a new version of Documents To Go, and I should click "OK" to be automatically upgraded over the air. Being a good user, I clicked "OK". The upgrade bumped me up to V10, then prompted for the Registration Number or Activation Key. Of course, I had neither, so by handheld dropped to the eval mode. So sad.

Contacted vendor DataViz. Waste of time. Contacted Sprint. One very smart lady suggested I redownload the software from the Sprint website and reinstall. Good idea! Unfortunately, it wanted a Registration Number or Activation Key, also. Called Sprint again. Waste of time. They didn't have the keys.

At first I though I'd delete the application and install the Tungsten version.
1. Press the Home key.
2. Press the Menu key, and select Delete...
3. Scroll to "Documents" and click Delete.

I decided to factory default the box and start over. And a funny thing happened-- It didn't work, yet it fixed the problem. Here's what I did:
*** WARNING *** HotSync First ***
1. Remove back of handheld.
2. Pull data card.
3. Press and hold the red power button on the front of the phone.
4. When the screen goes black, continue to hold the power button, and remove the battery.
5. Say the "Mary Had a Little Lamb" ryhme.
6. Insert the battery.

When the handheld booted, I expected it to have lost all my info, but it was still there. Further, when I went to Documents To Go, it was back in the registered mode. It seems the reset as listed above replaced the factory default binaries, but left my data. Yeah!

The moral of the story: Document your registration number:
1. Press the Home key.
2. Goto Main, select Documents.
3. Press the Menu key, and select Options.
4. Scroll to Registration Info...

Monday, November 03, 2008

D-Link DIR-628 Wireless Router

It's taken a while, but I think I've got the new router fully operational. I had a Linksys WRT54G, but its WAN link died. (Second one, each lasted about a year, the "B" version might have lasted two years.) I was reluctant to get another Linksys, so I went to Best Buy to get a NetGear. Turns out the D-Link was about $30 less.

Discounting a configuration error on my part that cost me almost two hours, most of the set-up went well. I did get frustrated by the fact that the firmware upgrade did not seem as obvious as it should have been. In this case, it is imperative the firmware is patched. Try this:
1. From the top menu (horizontal) select Tools.
2. From the left menu (verticle), select Firmware.
3. Click Check Now, and follow the onscreen instruction.
Simple, huh. Can't explain it, but it took me a while to find that.

The one other D-Link issue that perplexed me, requires a picture:Without going into the details as to why my network is segmented, the problem was that only the stations on the D-Link local loop could see each other. Kitten and Hyperbole are wireless, and Doggett is plugged directly into the hub. Therefore, their OS's could recognize each other.

The other three systems are behind two ethernet switches. Neither the XP system or the two wireless Vista stations could see the others. As two are XP and Scully FC6, I couldn't blame this on Vista.

I knew it had to be a firewall issue, and after thinking about it, I realized that all stations could ping each other. The problem was simply a Windows thing-- that meant NetBIOS. If NetBIOS broadcasts were not being relayed, the IP's would talk, but Windows could not do WINS name resolution.

Sure enough: clicking Setup and Network Settings lead to a NetBIOS Announcement checkbox. After the reboot needed by many of D-Link's features, all the systems could see each other. All is right with the physical world. Now, back to the virtual...

Add a Shared Printer to Vista

Argh! Since I replaced the Wireless router, I have to redo all the printer configurations. I love the way Vista has created a new verity of printer that never existed before. We use to have local printers and remote printers. Now Vista subdivides remote printers as network and shared.

Ok... fine. A local printer is plugged into you computer. A network printer is a standalone device that you communicate with by IP address. A shared printer is connected to the back of someone else's computer, and we talk to it remotely across the network. And here's the brilliant part: the shared printer is considered local, because it is local to somebody. WTF?

I hacked these instructions from WugNet:

1.) Verify that File and print sharing is turned on and properly configured on the XP machine.
2.) Locate and notate the Win XP computer name (i.e. "Desktop") (Found in System Properties in the Computer Name tab)
3.) Locate and notate the printer share name on the XP computer (i.e. "Printer") (Found under the Sharing tab on the Printer Properties page)
4.) On the Vista machine launch the "Add a Printer" wizard
5.) Choose "Add a local printer"
6.) Select "Create a new port" radio button and choose "Local Port" from the drop down menu
7.) Press Next
8.) In the "Enter Port Name:" box enter the following: \\Desktop\Printer
where "Desktop" = the computer name from step 2 and "Printer" = the printer share name from step 3.
9.) Select the Printer driver from the list provided or use the "Have Disk" button to install the correct Vista driver if it is not in the built-in list. It is critical that the driver you use is Vista compatible.
10.) Press next
11.) Give the printer a distinct name and choose whether to set as the default.
12.) Press Next
13.) Print a test page to verify functionality.
14.) Press Finish
15.) Enjoy network printing !!

Sunday, November 02, 2008

Vista Blocks Wireless Connections

Thank you Vista from saving me from myself. It astounds me at the things that goes through the 'softies heads. Upon replacing my wireless router, the Vista laptops refuse to connect because the wireless access point's security setting (or something) had changed. Of course there is no way to override and no way to delete the previous information.

I found a link at Intel that suggested that if it doesn't work, try it again. It didn't say how many times. Not too helpful. Even more interesting is the fact that the only reference on Microsoft's site is people posting to a forum. No helpful responses. Because... Its not broke-- It is you that are broke. Simply change the wireless network, and it will work. How dare you ask Vista to comply with your wishes... Bitch.

So what's the hack this time?

1. In the Connect to Network window you will see:
The settings on this computer for the network do
not match the requirements of the network

2. Right click over the red "X" and right click on properties.
3. Verify the setting on the Connection tab.
4. Reconfigure the settings on the Security tab.
5. Click OK, and the red "X" should clear, and the message should change to Security-enabled network.
6. If the security setting are correct, the message should indicate Acquiring IP Address, then Connected.

It may take several attempts to get the correct combination of security settings.

Dynex DX-NRUTER Wireless Router

My Linksys has been down for a week. It had been dying a slow an miserable death for about a month. Unfortunately, this was my third Linksys, and I was reluctant to buy another. I ran down to Best Buy and got a Dynex DX-NRUTER for $59, on sale.

Man... It sucked big time. I could not connect from thirty feet out and the hub ports connected to 10M. Other than that it was $30 less than the next competitor, I can't say anything good about this thing. I took it back the next morning.

I'm now connected to a D-Link, and it seems to be running... okay... for now. one minor problem I need to research. Stay tuned.

Wednesday, October 29, 2008

Trillian and IM Spam

Something has happened this week that has sky rocketed the amount of instant messenger spam I've been getting. I've got a constant stream of this crap now. To combat this, I've had to block all but known contacts. It took me a few minutes to figure out how to do this on Trillian:
1. Fire up all connections
2. Right click on the connection status light
3. Select Connection Preferences
4. Click the Privacy tab
5. Adjust as needed

Monday, October 20, 2008

Procmail Tutorial

As long as procmail has been around, you think there would be several high quality Howto's. Instead, I've found allot of misinformation. As I tried to solve what should have been a simple SPAM filtering issue, I found perlcode.org's Procmail Tutorial. Problem solved.

(It was :0 B: to do a body search.)

Wednesday, October 15, 2008

F10-beta Virtualization: native -vs- hosted

More evidence that the Fedora 10 Beta virtualization technology, KVM, is a hosted solution rather than the native solution provided by Xen in versions 5 through 8. In FC6, restarting the virtualization library deamon (libvirtd), was a standard troubleshooting technique. In F10, it crashs the VM, since the VM is running inside the deamon.

FC6 using Xen:
[root@baltar ~]# xm list
Name           ID Mem VCPUs State
Domain-0     0   141         1       r-----
valhalla         5     95         1       -b----
[root@baltar ~]# service libvirtd restart
Stopping libvirtd daemon:       [ OK ]
Starting libvirtd daemon:       [ OK ]
[root@baltar ~]# xm list
Name           ID Mem VCPUs State
Domain-0     0   141         1       r-----
valhalla         5     95         1       -b----
[root@baltar ~]#
The VM survives.

F10-Beta running KVM:
[root@adama ~]# virsh list
Id Name             State
14 vinci             running

[root@adama ~]# service libvirtd restart
Stopping libvirtd daemon:       [ OK ]
Starting libvirtd daemon:       [ OK ]
[root@adama ~]# virsh list
Id Name             State

[root@adama ~]#
The VM dies.

The moral: don't bounce libvirtd.

Thursday, October 09, 2008

F10-beta VM Memory Management

Sadness. Gone is the ability to dynamically change the memory allocation for a VM. Previously, we could change the RAM on the fly:
# xm mem-set 7 256
This was a nice feature, especially for loading new software packages. Since the xm command is gone, the new format is:
# virsh setmem vinci 256000
libvir: QEMU error :
this function is not supported by the hypervisor:
cannot set memory of an active domain

The first thing to notice is the memory must be stated in kilobytes rather than megabytes (how very 80's.) Second, the big nasty error message. In passing, the xm command was issued on an FC6 system, and used the domain number rather than name. In F7 and F8, you would use the name, as in F10.

Will there be a significant impact? Yes. This will impact the density of VMs on a host, but that's assuming the sysad is a perfectionist, like myself. In production, its probably not a big deal. After all, Vmware does not allow dynamic RAM allocation... Until 2009.

Wednesday, October 08, 2008

First Impressions: F10-beta Virtualization

My first impression of Fedora 10 Beta's virtualization suite is:

Somebody did something right.

1. We no longer must build a VM at 256Mb of RAM. I don't know what the low limit is, but that's nice.
2. Via GUI, ability to autostart a VM at boot.
3. VM's that Pixie boot. Mind boggeling!
4. Via GUI, connect to a CD in the host or a shared ISO.
5. VM sound support.
6. The ability to define infrastructure storage.
7. Via GUI, create new LVM's for VM images.
8. Ability to run TLS encrypted console windows.
9. Flat text config files under /etc/libvirt/qemu. Oh, how I hated having to export the XML from F7.
10. An F8 VM up in under 10 minutes.
11. Via GUI, take a VM screen shot... NOT a snap shot!
12. Ability to close virt-manager, and keep VM console connections.

Installs and works like a dream.

Tuesday, October 07, 2008

Fedora 10-beta Virtualization

It seems I am the first person on Earth to ever work with Fedora 10's virtualization technology (and Kickstart, too, which is totally FUBAR.) If you don't believe I'm the only person using it, try to search out a HowTo. So where are the HowTo's? Seems we are on our own while F10 is rawhide. At issue is the fact the Red Hat Virtualization has had to be completely redesigned, as evident by its removal from F9.

So how do we use this puppy? Let's find out:

The first thing you may notice is the lack of a Xen kernel. The good new is that we just install and select the Virtualization group. The bad news is that instead of a traditional hypervisor, we now have more of a virtualization engine. Among other things, this means no para-virtualization, and we must have VMX/SVM CPUs Once the system is up, we start virt-manager.

First, we connect to the virtualization engine (I'm going to coin the new term VE) by clicking File / Add Connection. Choose QEMU and Local, click Connect. Don't bother trying to connect to Xen.

I think one of the most complicated parts of this is going to be getting the network on line. First thing I noticed was that it was bridged to the subnet. The easiest way to fix this is to right click the qemu connection and select Details. On the Virtual Networks tab, click the + symbol at the lower left. Walk through the wizard using the same subnet as one of your physical network cards. Initially this will provide a NAT'ed outbound only connection.

Back at virt-manager, click New, and walk through the VM creation wizard. Click Finish, and... Son Of A Bitch! It worked. The first time! It worked. I can't believe it! It worked.

Just for fun, lets hit the command line:
# virsh list
Id Name State
2 Virgil running
Slightly different than what I'm use to. Notice the xm command is gone (remember Xen is a naughty word now.) Needless to say it will take some time to figure out the new commands, but virsh has always been in the background, so it shouldn't be too difficult.

Friday, September 26, 2008

USB Flash Raid for VM

Because I have entirely too much time on my hands, and this is entirely too cool, I have granted one of my Xen VM's access to two USB thumb drives as a Raid Level 1 mirror. Turns out, this taught me a solution to previous problem, as well.

I inserted the two drives in the Dom0 system, where they appeared as /dev/sda and /dev/sdb. I used fdisk to set their types to FD = Linux raid autodetect. Next, I assigned them to the DomU:
# virsh attach-disk valkyrie /dev/sda hdc
# virsh attach-disk valkyrie /dev/sdb hdd
From DomU, define the raid
# fdisk -l 2>/dev/null | grep "/dev/hd.1"
/dev/hdc1 1 489 31270+ fd Linux raid autodetect
/dev/hdd1 1 489 31270+ fd Linux raid autodetect
# mdadm -C /dev/md0 -l 1 -n 2 /dev/hdc1 /dev/hdd1
mdadm: /dev/hdc1 appears to contain an ext2fs file system
size=31268K mtime=Fri Feb 9 13:12:40 2007
mdadm: /dev/hdd1 appears to contain an ext2fs file system
size=31268K mtime=Fri Feb 9 13:12:40 2007
Continue creating array? y
mdadm: array /dev/md0 started.
# mke2fs -j /dev/md0
Mount per SOP.

Unfortunately, this is not persistant across reboots. For this, we need to edit the VM's config file and change the disk line to include:
disk = [ "tap:aio:/xen/valkyrie.img,xvda,w",
That should get it.

Friday, September 19, 2008

Windows 98 under Xen: Pt 3

Another "I give up". This is one of those "of course it works... so why bother testing it" situations. From all indications and documentation, it should be supported. Having said that, I can find no evidence of anyone successfully running W98 under Xen.

Maybe if I continued to try, I could get it to work. But you know what? Its just not worth it, because I have a plan. Let's paravirt Fedora, VNC in, and run our W9x application in Wine, instead.

Wednesday, September 17, 2008

Windows 98 under Xen: Pt 2

Oops. That didn't work as well as I'd hoped. This should teach me not to post simply because the install started. (Probably not.)

Once the W98 VM rebooted, it reported Invalid system disk. I did two things to correct this. First, I ensured the LVM partition was set to 500M, as W98 did not provide native support for disks over 512M. Second, I booted from the CD, and rather than installing, selected recovery mode. From there, I fdisk'd the partition to ensure the MBR was set properly.

After a second install, the VM booted (better than before), but crashed as a result of VCACHE: Windows protection error failure.

I Got A Promotion

Apparently, Verisign says I'm the CEO of RedHat. Pretty good trick, considering I've not worked for them for about a year. What's really amazing is the deal they are offering: A 2G falsh drive! Wow!

Click image for full resolution.

Windows 98 under Xen

As I continue to have more and more fun with Xen, I wanted to virtualize a couple old Windows systems. You won't believe my motivation... I only have one license for Windows XP, but wanted a couple other machines. Yes, that's right: I didn't want to pirate XP. Imagine that.

Since I have a couple copies of 95 and 98SE in the filing cabinet, it was time to give them a try. I couldn't get the wizard to work, but had better luck from the command line. The first trick was to add another packager, virt-viewer. The following launched an install:
# virt-install -n VM02-w98 -r 270 -f /dev/vg0/vm2w98 -l /net/scully/var/ftp/iso-w98se/w98se.iso -v --vnc

The first pass required that the virtual disk be intialized, and required a reboot of the guest. The reboot failed, however, forcing me to issue:
# virsh destroy VM02-w98; virsh undefine VM02-w98
This was followed by a second install command, which proceeded as normal.

Monday, September 08, 2008

Cosmic Motors Gallery

Check out Daniel Simon's Super Cool Sci-Fi Cars From Another Galaxy. Great pictures, but I still think aliens shouldn't be speaking English.

Saturday, September 06, 2008

No "Raw Device Mapping" for Xen

One invaluable feature of the Vmware ESX architecture, is the Raw Device Mapping (RDM). This allows a virtual machine to access a partitions and format it using the "native file system of the guest operating system." (In other words, a Windows VM would format it as NTFS. A Linux VM would format it as EXT3.) The advantage to this is that a physical machine could easily access the same data, should the VM crash or become corrupted.

Unfortunately, this doesn't seem to work as I had hoped under Xen. I carved a partition out of Dom0's hard drive and mapped it to the VM:
# virsh attach-disk valkyrie /dev/hda7 xvdb
This failed, until I formatted the partition. That makes sense.

Once the partition attached, the DomU could see the partition as a separate drive, but not as file system. It was necessary to fdisk /dev/xvdb, then mke2fs -j /dev/xvdb1. So far, so good. The tricky part came when I tried to access partition from Dom0:
]# virsh detach-disk valkyrie xvdb
# mount /dev/hda7 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/hda7,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Now, it doesn't recognize that the partition is formatted. What a bummer. This seems to imply that the avoid data loss due to a corrupted image file, we need to place the data on Dom0, then cluster to the local VMs through the local bridge, virbr0.

Xen Error (22, "Invaid argument"): Pt 2

I give up. The problem was that domains would install correctly, but fail to start.

At first, I thought the failures were when I would install from a kickstart file. During the install, a template kickstart is created as anaconda.cfg, which contains:
bootloader --location=mbr --driveorder=hda --append="rhgb quiet"
If a domain is manually installed, the line is:
bootloader --location=mbr --driveorder=vxda --append="console=xvc0"
My kickstart was actually misconfiguring the boot loader.

To review the bootloader options, I used:
xm create -c domain
This let me get into Grub. Unfortunately, that means Error 22 isn't an MBR problem. No efforts to fix via Grub provided any help.

Next, I found that I could bypass Grub. The trick was to add extra directives to the domain config file:
kernel = "/boot/vmlinuz-2.6.18-1.2798.fc6xen"
root = "/dev/xvda1 ro"
ramdisk = "/boot/initrd-2.6.18-1.2798.fc6xen.img"
Notice that the bootloader directive is commented out. This failed marvelously, but got further than before. The errors were similar to a lost root partition.

This caused me to realize two things. First: root should not xvda1 but xvda2 or xvda3, as boot would be xvda1. Second: root was on an LVM not a xvda.

So, I reimaged the VM using an image file rather than LVMs. Worked. How strange.

Okay, a couple important issues here: This is Xen 3.0 (as explained in an earlier post), but I don't think that is the prime factor. I am trying to put the image on an logical volume, on a software raid. I know LVM images work fine under 3.1, and others having ti running on 3.0, but I've found no one else trying the three together. It seems the three just don't seem to play well with one another.

Tuesday, September 02, 2008

Mounting A Xen LVM Image

How to access a VM's logical volumes from Dom0. This assumes the VM is powered off and its image resides on an LVM (LVM's inside an LVM). It will not access /boot or the MBR.
Attach and confirm the image
# kpartx -a /dev/volume/domain
# kpartx -l /dev/volume/domain
Acquire and access the logical volumes
# vgscan
# lvdisplay | grep -i "Name\|Status"
# vgchange -ay
# lvdisplay | grep -i "Name\|Status"
Mount and view the volumes
# mount /dev/VolGroup00/LogVol00 /mnt
# cd /mnt
# ls -l
# cat /mnt/etc/hosts
# df
Umount, inactivate, and detach the volumes
# cd
# umount /mnt
# vgchange -an
# kpartx -d /dev/volume/domain
The single biggest "gottcha" is the need to ensure that Dom0 and the DomU's don't use the default volume group name.

Xen Error (22, "Invaid argument")

Occasionally, with enough regularity to be very annoying, a Xen guest that installs fails to start, throwing the error:
libvir: Xen Daemon error : POST operation failed: (xend.err "Error creating domain: (22, 'Invalid argument')")
error: Failed to start domain valhalla
I had little luck finding the nature of Error 22, until I hacked the code.

The error descriptions are listed in the phython control script, but are not passed to the user. All we get is Invalid argument. Gee, thanks.
# tail -70 /usr/lib/python2.4/site-packages/libvirt.py
--------- snip ---------
--- output truncated ---
Notice number 22: No OS. Okay, that I can deal with. It can't find the boot sector. All we need is a virtual rescue disk.

Stay tuned.

Disappearing Xen Config Files

An interesting "feature" of Xen 3.0 is that when you issue:
virsh undefine domain
it executes:
rm -rf /etc/xen/*domain*
This means you can't keep revisions of the config file in the directory.

BTW: Yes, I know 3.0 an old version, but I'm still running FC6 on my infrastructure hardware. Why? Because if it ain't broke... don't fix it. My Fedora 7 Virtualization server has 3.1, which seems to be current as of this writing. Again, no reason to go to Fedoras 9, if its running 3.1, also.

Disconnecting SSH Xen Console

I SSH's into a server then launched a Xen console, and found myself stuck. Here was the solution:
Fedora Core release 6 (Zod)
Kernel 2.6.18-1.2798.fc6xen on an i686
valhalla.terran.lan login: Ctrl-]
[root@baltar xen]#
The key sequence of Control and Right Bracket got me out of the Xen session, but kept me in the SSH session.

Tuesday, August 26, 2008

DFW Layover

I was actually just testing the Centro to make sure it would sent the Blogger. Something is wrong, however, as this image is hosted at Sprint. They'll delete it after 30 days.

Not acceptable. I'll try again.

Friday, August 22, 2008

Virtualization Round-up

Over the course of the last year, I've done allot of experimenting with virtual system platforms. I think I've decided the best direction for my efforts. These observations are driven by two factors: ease of set up and capacity for remote administration.

I've done business with two Virtual Private Server (VPS) services, which were oddly named VPSland and VPSlink. I actually ditched VPSland because the provided CentOS, which was highly unstable. (Yes, yes, yes... I've heard all your arguments before: "CentOS is just RedHat". I've worked with RedHat for almost ten years: You're wrong.) What we really want to talk about is OpenVZ at VPSlink.

The OpenVZ platform does not offer VMs a swap file. This means that each VM needs access to large amounts of physical RAM. Given that disk is cheaper than RAM, this significantly limits VM density on the host. In my case, I could not even run RPM commands unless I had 256MB of RAM. Once I converted to Xen, everything ran on 64MB.

Vmware Server 2 Beta
Wow, was I disappointed in this product. All management is done via a web interface that is slow, clunky, and optimized for Windows desktop use. As a result, it posed several challenges. First, it required a 12meg browser plugin. Unfortunately, if I wasn't on the LAN, the plugin would time out.

The next problem was getting all the pieces needed for the install. Vmware provided an RPM, but no indication as to the dependencies for the RPM. Once the RPM was installed, it turns out there are additional, unchecked dependencies. The good news, however, was that all the hardware was recognized. Speaking of recognized hardware...

Vmware ESXi 3.5
Vmware recently announced they were dropping the license requirements for the ESXi server in the standalone mode. This created allot of excitement. I downloaded the ISO and quickly discovered that only "select SATA controllers" are supported. Not mine.

With no hardware to run it, ESXi was less than exciting.

Vmware VI3 ESX+VC
By far, the VI3 product set is the hands down winner... If you have $15,000 to spend. My budget is in the $150 range.

I'm sorry to say, Linux para-virtualization with full-virt support takes wins. Easy to deploy, remote console available via X11, command line and GUI support. Text based Linux installation is available within an unmodified SSH session. About my only downside is that the memory allocation is not as dynamic as I'd like.

Bottom Line
Is it any surprise the Linux guy didn't test Microsoft? No, not really. Is it a surprise the RHCE guy picked the platform included with Fedora? Maybe-- but in the end, it was stability and ease of access that won the day.

Thursday, August 14, 2008

X11 Forwarding to Vista: Pt 2

Wow. The performance on the Cygwin only X11 tunneling is horrible. I was able to improve performance significantly, however, by going back to PuTTY. In the PuTTY settings for the server, I went to Connection / SSH / X11 and checked Enable X11 Forwarding.

Now, launch Cygwin, PuTTY to target, launch graphical application. Performance still sucks, but it works. Hey, its not like this is the only application that has taken a hit under Vista!

Wednesday, August 13, 2008

Linux RAID0 (striped) Performance

As I continue with the process of reoganizing my virtualization servers, I ran a quick test on my drives in my other Xen box. Originally, I had /home on a RAID1, but wanted to see if I could truly get a boost out of a RAID0. Three tests: an LVM volume on a single disk, a RAID1 mirrored across two disks, the same two partitions in a striped RAID 0:
[root@baltar xen]# hdparm -Tt /dev/vg0/test /dev/md0
  Timing cached reads: 416 MB in 2.01 seconds = 207.25 MB/sec
  Timing buffered disk reads: 28 MB in 3.09 seconds = 9.05 MB/sec
  Timing cached reads: 416 MB in 2.02 seconds = 206.40 MB/sec
  Timing buffered disk reads: 32 MB in 3.05 seconds = 10.50 MB/sec
Notice the buffered speeds are very close. This is because the LVM is on /dev/hda, as is the first element of the RAID1. (These are old disks on an old Celeron CPU.)

Now we rebuild the same two partitions into a RAID0. The disks are on separate controllers (/dev/hda and /dev/hdc) so we expect a boost in throughput:
[root@baltar xen]# hdparm -Tt /dev/md0
  Timing cached reads: 416 MB in 2.00 seconds = 207.91 MB/sec
  Timing buffered disk reads: 68 MB in 3.05 seconds = 22.30 MB/sec
Yeow! Look at those numbers: better than double.

I'm convinced.

Vmware: Reconcile Inventory with Disk

Interesting problem: As we know Linux / Unix don't like file names with spaces. The Vmware GSX, Server 2 Bate, and ESX have a Linux command line, but can support spaces in virtual machine names. This makes it difficult to reconcile VMs in the inventory against those on the storage.

Here's a one-line to handle it:
find -name *.vmx | 's/ /\\ /g' |
  xargs grep -i "display"

Output will show directory path, configuration filename, and inventory name for all VMs. If executed from /vmfs/volumes, it will span shared storage as well.

Tuesday, August 12, 2008

X11 Forwarding to Vista

I'm just getting around to turning on X11 forwarding to my Vista laptop. As a result of certain work related issues, I thought I was going to use Putty as the SSH client. I've done with with other clients, and had used Cygwin as the X11 emulator on XP. Of course I couldn't get Putty and Cygwin to play, but then I found another option.

1. Download Cygwin setup. Launch same.
2. When prompted for packages select Net/openssh and X11.
3. Once installed, launch Cygwin. This will open a text window, AKA: CLI.
4. Type startx. This will open an xterm window. (Oddly, it failed several times before working. I'll have to work on that.)
5. Access the remote system:
ssh -X user@server
6. After login, type xclock as a test.


I just found out that the WinSCP guy has a portable version of his Windows based SCP client that is a single executable which can be run from a flash drive, without being installed on the system. Check out:


Monday, August 11, 2008

Vmware Server 2 Beta

Ran into an interesting problem attemptting to install Vmware Server 2 Beta. I've been working almost exclusively with ESX for the last few months and decided to replace my Xen system with the free Vmare product. My motivation was to experiment with the user interface.

The RPM imploded during the first install. I guessed the download was corrupted. I downloaded the file a second time, but it refused to try a second install. Since it was not in the RPM database, I knew it had to be some file system droppings.

First, I cleared some files from /usr/bin:
rm -rf /usr/bin/vm*
That didn't work, so the next step was to nuke the application directory:
rm -rf /etc/vmware/*
That got it. The RPM is installed. Now we have to figure out how to use it.

Sunday, July 20, 2008

The GigE Saga Continues

I connected a second system to my GigE switch, and as usual, it was a bigger job than it should have been. Again, it was my fault: Any good system administrator will tell you that you should only make one change at a time. I made two. I swapped cases and enabled the interface.

The second system is a home-grown rack mount virtualization server with a Foxconn motherboard running an AMD X2-64 at about 2.1 Ghz. The 100meg NIC (e100) is on the .69 network and the 1Gig NIC (r8169) is on the .169 network. The meat of the matter, however are the transfer benchmarks.

The first test I did was with SCP.
$ date; scp test.iso doug@; date
Sun Jul 20 22:58:31 EDT 2008
test.iso 100% 489MB 2.8MB/s 02:56
Sun Jul 20 23:01:31 EDT 2008
Almost three minutes.
$ date; scp test.iso doug@; date
Sun Jul 20 23:02:27 EDT 2008
test.iso 100% 489MB 2.9MB/s 02:47
Sun Jul 20 23:05:18 EDT 2008
The time and through put are virtually identical, but then I honestly did not expect to see any difference in performance. At issue is the fact that SCP is speed limited.

Next NFS-- which I'm hoping will scream.
$ date; cp test.iso /net/; date
Sun Jul 20 23:21:05 EDT 2008
Sun Jul 20 23:23:06 EDT 2008
About two minutes. A little better than SCP.
$ date; cp test.iso /net/; date
Sun Jul 20 23:29:38 EDT 2008
Sun Jul 20 23:30:58 EDT 2008


That's a let down: 2:01 -vs- 1:20 I shouldn't be complaining about a 67% increase in transfer, but the line is ten times faster. I'm not even getting double the transfer rate. What's up with that?

Thursday, July 17, 2008

Palm Centro: HotSync

I spent nearly an hour trying to resolve this silly glitch...

While trying to HotSync, I kept getting the message:
Unable to initiate HotSync operation because the port is in use by another application.
No matter what I did, it wouldn't connect to my laptop. Turns out, Bluetooth was disabled on the Centro. I enabled Bluetooth, and the HotSync worked.

What made this so painful was the fact that on the Tungstun, if you tried an operation that required Bluetooth, it would tell you that Bluetooth was off, and ask to turn it on. Minor change, big headache.

Saturday, July 05, 2008

Linux GigE Card

Finally got a few minutes to start switching over to GigE. I've been disappointed with the lack of information on supported GigE cards available on the net. On a roadtrip to Phoenix, I stopped in at a Fry's and found a US Robotics card for $16 that claimed to support Linux.

I snagged the card and a D-Link DGS-2208 GigE Switch (on sale: $39.99!!!) and headed back to DC. Installed the card in an FC-4 machine, and after a fair amount of playing around, got it running. (The problem was my anal and uncalled for desire to have the card be eth2, rather than eth1.) I left the 100 Meg card in as eth0.

The card is a US Robotics 7902A and it loaded the r8169 driver. At the moment, all seems right:
[root@scully ~]# ethtool eth2
Settings for eth2:
    Supported ports: [ TP ]
    Supported link modes: 10baseT/Half 10baseT/Full
            100baseT/Half 100baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes: 10baseT/Half 10baseT/Full
            100baseT/Half 100baseT/Full
    Advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000033 (51)
    Link detected: yes
The big test come when I get the second system on the switch in the morning.

Sunday, June 22, 2008

IPv6: Ping

Linux -vs- Windows

Given a LAN with Windows and Linux systems running IPv6, it may be necessary to Ping a Link Local interface. Consider the output of a Linux ifconfig command:
Only one address is displayed on the FE80 subnet. In this case we would issue:
  ping6 -I eth0 FE80::250:56ff:fea7:54a7
Notice the -I eth0 option: this tells the system which interface to use.

On the Windows side, things are slightly different:
This time we have three FE80 addresses. To ping we issue:
ping fe80::250:56ff:fea7:d33%6
Notice the %6 on the end. This allows Windows to know which interface (or tunnel) to use.

Saturday, June 21, 2008

Palm Centro: Airplane Mode

On the front of the unit, there is a green answer button and a red power button. The power button has several functions:

1. When the unit drops to power save mode, it (or the four function buttons) will wake the unit up.
2. When awake, if the button is held for three seconds, it will boot the phone into the Airplane Mode. (The antenna icon in the upper right hand corner of the screen will disappear.)
3. When in the Airplane Mode, if the button is held three seconds, it will boot the phone into the On Air Mode.
4. In any active mode, tap the red button to black the screen. You can't turn the device off. Not possible. You have to pull the battery.

Palm Centro: Set Username

Finally moved on from my Palm Tungston to the Palm Centro. Whoa! Way cool. Now we get to figure this puppy out.

First hurdle: Change the username on the device to sync with the existing Palm desktop. This will load the Tungston's data on the Centro. Not an easy task.

1. Enter Memopad:
    Press the Home key
    Select Main catagory
    Click icon
2. Select New.
3. As the only line on the new memo, enter:
    Type "Shortcut . 5"
    *** For Shortcut, press and hold Alt, select character
    *** Don't type the spaces
4. Hotsync.

Wednesday, May 14, 2008

Potty Instructions

Here's a picture I had in my Drafts folder.

Instructions found in a toilet stall in a men's room at the Missouri Supreme Court Building in Jefferson City, Missouri. Basically, "Hold handle 10 seconds. Manually return handle to original position." Effectively, "We're not smart enough to fix the toilet, and too cheap to replace it."

PS: Blogger changed the way pictures are posted. Now, they all go to Drafts and its up to the operator to post them online. Inconveinent. Oh well.

Saturday, April 12, 2008

Dog Gone Good Technology

Automated, dog operable, fetch robot.

Sunday, April 06, 2008

Prettiest Cola Machine Ever

Fort Lauderdale airport.

Turn XP Home into Professional

This is one of the wildest Windows hacks I have ever come across. I got a new laptop a few months ago (my first one in years-- employers have always issued them in the past) so I swapped system units with one of my kids. He got the year old HP, I took his two and a half year old Compaq.

His had XP Home, so several features would not work. I came across Wade's Geekport article on changing XP Home to Professional. To my amazement, it worked.

To summarize:
    My Computer
          ControlSet00X (highest number)
Add a new DWORD:
Brand = 0

But here's the real trick. After the BIOS screen, start pressing F8 to enter recovery mode. Select Last Known Good Configuration (LNG) and let the system recover. Log in, and check the system properties.

Saturday, April 05, 2008

Those Are Some Big Eggs

Walgreens, Milwaukee, WI.

Friday, March 28, 2008

What Street Do You Live On?

Asylum Street, Hartford, CT

Meat Without Feet

Truck in Hartford, CT.

Friday, March 21, 2008

Linux iSCSI Howto

Now that I am working with VMWare Virtual Infrastructure 3, I've had a crash course in iSCSI storage. As a result, I've been working on implementing iSCSI in my own "datacenter" (ie: basement) The first step (paradoxically) was to connect a Linux client to an existing host. Luckily, I'm able to use the companies datacenter resources for R&D.

It took several howto's and hacking around, but once I found all the pieces, it was actually quite simple. Using Fedora 6 as a base, the first step was to install the iSCSI RPMs:
(lsscsi may not be necessary, but let's be safe for now)

In the /etc/iscsi directory are two files. We need to add the host IP and port as the first two directives of the iscsid.conf.
isns.address =
isns.port = 3260
Next, change initiatorname.iscsi to contain the name defined on the host.
Start the service and execute a sendtargets request:
# service iscsi start
# iscsiadm -m -discovery -t sendtargets -p
(Yes, the IP's are different. For some reason, I have to initiate to one NAS in order to connect to the other.)
Now I see the LUNs, but what about the devices? An fdisk -l sees the .110 NAS which was defined, but not the .131 NAS, which was discovered. We could be reboot, but this is Linux, not Windows! Let's try:
# service iscsi restart
Whoa! Look at all that output. Another fdisk -l now sees the devices.

Set the service to start at boot time, and we are in business:
# chkconfig iscsi on

Thursday, March 06, 2008

Trillian, Firefox, Yahoo Mail, and Vista

What a mess... The proverbial "perfect storm". Here's the story:

The Trillian client is a program that aggregates several IM protocols. Great little tool. When it recognizes mail in Yahoo or Hotmail accounts, it reports, and allows one click access to the webmail screen. A few weeks ago, this feature stopped working, after a Firefox upgrade.

I thought it was Firefox, but as it turns out, its Vista. (Surprise, surpise, surprise.) The way Trillian provides access to the webmail screen is by creating an HTML document that redirects to Yahoo Mail. The HTML contains the authentication information (most likely as arguments to a CGI post.) Trillian then hands the HTML document to Firefox, who spawns a new tab. Since the failure, Firefox reports "file not found".

The problem is that Vista has set read only permissions on:
  C:/Program Files/Trillian/users/default/cache
By setting the permissions for "everyone" "Full Access", the problem is resolved.

How do we do it?
1. Browse to the default folder and right click on cache.
2. Select Properties and the Security tab.
3. In the Groups or User names pane, highlight Users and click Edit.
4. In the pop-up window, again select Users and check Full control.
5. Click OK and OK to exit both windows and close the default window.

Wednesday, February 27, 2008

Linux Boot Process

Good article on the Linux boot process... Let me rephrase that. A very consise, clear, and informative explanation of the Linux boot process. I stumbled upon this while trying figure out the purpose of the VMware /dev/sda7 partition.

Linux Boot Process, courtesy of IBM

Monday, February 25, 2008

Trillian on Vista

I found it odd that when I ran Trillian under Vista, it still looked as if it were running under XP. I would have though that Vista would have applied Aero to all programs. After several attempts, I finally found a Trillian Skin for Vista:

by ~a1 on deviantART

Again, I'm surprised that the application settings override the desktop settings, as my desktop uses the blue theme and this is a black theme. The developer also has a silver theme available.

Thursday, February 21, 2008

Vista: Wireless Bug

I've bumped into a bug on Windows Vista and wireless networking. When Vista connects to a wireless network, it stores the SSID in the registry. When trying to use a public wireless network, I've noticed that sometimes Vista simply refused to connect. No reason, just because.

Solution: delete the SSID from the registry. The SSID appears three times, but it is only the first instance, the Profile that needs to be deleted. Drill down through:
        Windows NT
Under Profiles, there are several keys. As each is highlighted, the ProfileName is displayed in the right hand pane. When the offending SSID is located, delete the entire key from the Profiles branch in the left hand pane.

Repeat the connect process, and all should work.

Monday, February 11, 2008

Bolla Pinot Grigio

This is another case of "I liked one of there wines, maybe I'll like another." I don't think that's a wise strategy. I enjoyed Bolla's Soave, but have not found it in the DC area, though I have found others.

The idea that a vineyard can do only one wine really well, aside, it turns out this bottle had gone bad. There was particulate matter floating at the bottom. Most likely tartar. Ick! What ever went wrong, it ruined the whole bottle, most likely the whole batch. That said, this is an avoid for at least a year.

2 out of 10.

Thursday, February 07, 2008

Sunrise At The Jefferson Memorial

It took a few tries to get this shot during the morning commute. Turns out, my camera only works under forty miles per hour: any faster and the image is blurred.

Monday, February 04, 2008

Favorite Super Bowl Ads

Whatzup with all the screaming animals?

I wish the Pigeons in DC were this big:

I think Charles Barkley is only trying to teach him a lesson:

On this one, I just enjoyed watching Justin Timberlake be abused:

Bottle opener suck! Yes, that's why they screw off:

Air Force Memorial

My new commute takes me thru downtown and past the Pentagon. The Air Force Memorial is in it's back yard. I thought it was at Arlington National Cemetery. Now we know.

Saturday, January 26, 2008

SSH Applet, Pt 2

I have the Java based ssh applet running, but I found it's configuration to be somewhat hit and miss. The HTML side was simple enough:
<title>SSH Access>/title>
Vypress via port 22:<br />
<applet CODEBASE="."
<param name="config" value="applet.conf">
First, the applet does not work well if embedded in the webpage, it needs to be detached. This means that when started, it launches in a separate window. That is a non issue, just watch out for pop-up blockers. As a result, I set the applet width and height so it appears as a button rather than the default, which was as a terminal window.

Second, few of the customization options work, and the few that do, depend on unrelated options in order to become active. The options are poorly documented. Here's what has worked:
plugins = Status,Socket,SSH,Terminal

# connection target configuration
Socket.host = w.x.y.z
Socket.port = 22

# Terminal configuration
Applet.detach = true

# scrollBar East only works if after Status South
layout.Status = South
Terminal.scrollBar = East

# resize font only works if after color true
Terminal.print.color = true
Terminal.resize = font
Even with print.color set to true, the terminal is monochrome. There is an option to specify a colorSet.conf, but it is not documented, and does not seem to function.
Terminal.colorSet = http://www.example.com/ssh/colorSet.conf
For all that doesn't work, I do have to admit, it connects. In the end, I guess that's all that matters.

Friday, January 25, 2008

Another Xen Bug

Seems this has been tormenting several people out there. At first I thought it was a problem with running Windows XP under Xen, but it seems to be bigger than that. All of a sudden Xen guests won't shutdown. They act as if they are going to shutdown, but the console never disconnects.

I can close the console, but virt-manager still shows the guest to be running. If I attempt to start the guest it fails, as it thinks it is running. Rebooting Dom0 fixes the problem. Not the preferred way of doing things.

Since I could replicate the problem on demand, I started both a Solaris 10 and Windows XP guest, and opened both in a separate Xen console. Without disconnecting the console, I issued poweroff from within the Solaris console. As expected, the Solaris guest hung.

From a Linux root terminal, I bounced Xen:
# service xend restart
The Windows XP guest was unaffected, and the Solaris guest was unlocked. Problem solved. Granted, not the best solution, but it should work until the next bug fix.

Wednesday, January 23, 2008

Windows XP, RDC

I built a Windows XP Xen VM for testing Windows software, and found it to be a little trickier than I expected.

The first problem I ran into was getting the system to install off the CD. It worked up until the obligatory "Your system will reboot to continue" but after the boot, it could not recognize the CD. The solution was to install off an image rather than a disk. Of course that means you need an image.
# mkisofs -o win-XP.iso /media/WXPOEM_EN
# dd if=/dev/sr0 of=/iso/win-XP.img
Next came a problem getting the thing to actually shutdown. Each time I had to reboot the server. Not good. I found that if I disconnected the local console before it reached the power off sequence, it would work.

I also mis-configured the network at install time, so the bridge was set to bridge=virbr0 instead of bridge=eth0. The system could get out, but I could not ping in. The importance of this will be aparent in a moment. To fix the network problem require exporting the XML, editing the code, and importing the change.

Once the XP VM was running, it was time for remote access. Alas, I didn't know how to accomplish this until I found instructions as, of all places, Microsoft:
Enabling Remote Desktop on a Computer Running Windows XP Professional

When you install Windows XP Professional, Remote Desktop is disabled by default. To enable Remote Desktop, follow these steps:

  1. Log on to your Windows XP Professional–based computer using an Administrator account.
  2. Click Start, right-click My Computer, and then click Properties.
  3. In the System Properties sheet, click the Remote tab.
  4. Select the Allow users to connect remotely to this computer check box.
Now, I can start the VM, use RDC to connect.

Thursday, January 17, 2008

SSH Applet

I found myself in an training class where I was stuck on a Windows XP system that I could not modify. I wanted to SSH to one of my servers, but there was not SHH client. Since I could not install one, I needed a portable, self contained, mechanism. Sounds like a job for a Java applet.

A quick Google search located JavaSSH.org. It sounded simple enough: embed an applet in a page on the server. As the target browser has a JRE, you've got access.

Initially, I thought this might solve another problem for me, also. I've been in situations where ports 80 and 443 were the only outbound ports available. So, I figured this could get me through a firewall since it would be in a browser.

Turns out, when I deployed this, I made a few mistakes in logic. The first was that I accepted the default to connect to localhost, in other words, the server where the webpage was hosted. Didn't work. The reason is that the applet tries to connect to the Windows client, because the applet does not run on the server, but in the local browser.

I changed the host from localhost to the server's hostname, but it still failed. Java can't get to DNS. I had to configure the server's IP address. This allowed a connection.

Lets backtrack to the firewall issue. Another error in logic. The applet still uses port 22, since it's running locally.

The applet still needs a little tweaking, as the connection times out in less than a minute. If I can get a reliable connection, I'll post the good config.

Thursday, January 03, 2008

Comcast HD -vs- Satellite HD

I have Comcast HD service, and I have to "respond" to a set of commercials they are running. Comcast claims to have three times the HD programming than satellite. Though this is not a lie, it's certainly is stretching the truth.

Comcast = 27
DirectTV = 47
Dish Network = 34

These are the counts for basic HD service and does not include Premium HD. Comcast offers Cinemax and Starz in HD, the satellite providers also offer HBO and Showtime. If you actually review the HD channel selection for all three providers, you will find that the base set includes allot of fluffy channels that no one really wants, but it's pretty uniform.

The big problem with the channel selection is that Comcast just added Discovery for HD, whereas the satellites include Animal Planet, Science Channel, and History Channel.

So how can Comcast have three time more HD programming?

The answer is in the fine print. "Comcast offers three times more HD view options than satellite." Here how it works. Comcast has a fiber backbone with a hundreds of times the bandwidth of satellite. This means they can throw allot of bandwidth at OnDemand programming. As of 2 January, 2008, Comcast had 181 HD OnDemand selections. Add 140 to 27, you get 167. Divide that by 40, you get four to one. Factor the limited satellite on OnDemand and the number slides to three to one.

Now here's the fun part: Of Comcast's HD OnDemand, 40 selections are three minute music videos, 36 are five minute game reviews featuring cut scenes, an 19 others are vignettes of less than ten minutes each. If you were actually to sit down and watch all the HD OnDemand, back to back, it would require about 36 hours.

The Comcast claim is based upon two things: You watch less than 24 hours of programming a month and you really don't care what you watch during those 24 hours.

In the end, it looks like DirectTV has the best deal.

Until you factor in internet service.