Background:
You've got mail... Stupid movie name aside, I got an email invite to play with Google's Music service. I like toys and this is just another kinda toy. There is nothing revolutionary in concept with this music service in concept or execution. Music streaming and downloading have been around for a while to say the least. Google just makes it easier and more convenient. It should be obvious to state the requirement of a Google account in order to start using the Music service. So, on to the review:
I will start with the bad. The Music Manager upload utility is Windows and Mac only. No direct GNU/Linux support! I will end up trying wine soon. If wine succeeds, I'll report back. Otherwise, I will need to add the Music Manager to my otherwise pristine gaming rig or bring up some Windows VM in order to upload.
Update 6/15/2011!: There is a working modified MusicManager that will work with Wine 1.3.21 on Fedora 15. I *could* also get it to work with Wine 1.3.18 from rpmforge-testing under CentOS 5.6. I could not get Wine 1.3.7 under CentOS 5.6 to run MusicManager, however.
Another bad, in my opinion is missing, "show lyrics" option. This kind of option is kinda lame for *GOOGLE* not to have. Don't they have an index on EVERYTHING?! A simple link out to a lyrics site the same way they handle the shopping would even be a good start. But some in browser option would be better.
The web interface could use a range delete like the gmail webmail has. For example, if you add any "free" songs, you will be forced to individually remove each unwanted song. That is not a trivial task when you mistakenly added *several* groups of free music. In addition, "Recently added" should allow a date range or similar IMHO. I can't even figure out what recently means in this context.
Now for the good news for GNU/Linux peeps: Google Music will work without issue under at least the CentOS 5.6 or Fedora 13 and Fedora 15 distributions using either FireFox 4 and Google's Chrome 12 browsers. Adobe Flash of some version is required, I have tested with 10.2.x and 10.3.x. If you use any flash-blocking add-on make sure to white list google.com. The Flashblock 1.5.14.2 I have on Fedora 15 with FireFox 4.0.1did block the flash, but did not show me a notice that it was blocking.
Browser controls are shown as simple player controls icons with shuffle and repeat options. In a normal Google fashion, there is not much fluff. Information presented on screen is basic, useful and utilitarian. This is a good thing in reality. If you think about, you should only visit the Google Music browser tab when you need to change something like a play list. It is very much a play and forget about browser tab.
Free songs are optionally provided you when activate your account. The songs I have come across are largely live versions of known songs. That's not completely the case, of course, but songs offered are worth the cost. Please keep in mind that you are limited to only 20,000 songs at this time.
Google has provided some basic Settings changes for the web version of the service. To their credit, you can opt of Google Music with the click of a mouse. You will loose all of the uploaded music of course, but you can do it. The same Settings page also displays registered devices to your Music account. Not much to look at here so move along.
Missing from the options is any parental controls or music content rating. I believe this needs to be corrected soon. Google has provided a ranking system as simple thumbs up or down. This option could use some improvement. I would like to have seen something more like Netfix has with a global ranking and the option to put your own ranking. This would make finding and buying new good songs much easier.
Speaking of buying, you are 2 clicks from shopping for any selected song. Not surprisingly, you are taken to the Google Shopping link for lots of buying choices. The buying options seem to drift quickly away from the starting song selected. Maybe that's good, maybe that's bad... I'm leaning towards bad - just slightly.
It should be noted that Google is looking to cover their but if you look at the usage agreement you are required to accept. I understand why, of course. I also find it acceptable to be allowed to only have one active player at a time. Make sure to read the fine print.
Beyond the browser usage, I also tested with my DroidX with Android 2.2.1 and the Google Music version v3.0.1.339. Newer versions may be better or worse... these are currently beta pieces after all.
Once again, utilitarian is the operative word when speaking of the Music App for Android. It is simple in layout and has very little fluff. Cover art is not made prominent, for example. Player controls are obvious and basic. We all know what a play button looks like, right.
Thought has been put into some of the back-end options. Specifically the cache and wifi options. I am very glad to see both. Heck anyone with anything but a truly unlimited data plan should be happy to see them. As you would expect, the cache option from the Music -> Settings option allows you to cache (keep a local copy) of the music you are streaming so you won't have too again any time soon. The wifi option allows allows for the ability to mandate that either streaming or downloading of music is done through the wifi connection. Heck that great in many ways. My home internet connection is WAY faster than the 3G I have and doesn't cost me any more. Nice going Google.
The down side of utilitarian is the realization that you might be missing something. One of the some-things for me seems to be an on-screen volume control. Not critical by any stretch. After all, there is that up-down volume button on the side after all.
My overall belief is Google Music is a winner. With ease of use, flexible device connectivity and Google is behind it, many people will enjoy this service.
Wednesday, June 15, 2011
Thursday, June 2, 2011
My Tracks Android GPS route tracking app - mini review
I like to ride my road bike. I upgraded a year ago from a heavy 30lb mountain bike to a Fuji Roubaix Pro road bike off of craigslist. MUCH lighter at about 19lbs. I'm too lazy to actually chart my own road trip information. So, a quick google'n for a handy GPS app for my Droid X lead me to My Tracks. What a great find!
My Tracks reports itself as:
Here's a quick summary of the My Tracks Android app:
First, My Tracks is drop-dead easy to install. However, you expect ease of installation since basically all market place apps are easy to install.
My Tracks is very easy to just use. Start by enabling your GPS satellites on your phone. Not a big deal if you forget as My Tracks will remind you. That push-pin on the Google powered map is now your location. Want to see the satellite view of your current location, simply press Menu Key and toggle the Satellite/Map view option. Want to start a new GPS tracking session, just press Menu Key and Start Recording. Finished with the trip, well not surprisingly, press Menu Key and Stop Recording will stop collecting data.
The real beauty of My Tracks is what it will do after the collecting is done... the mapping and displaying and summarizing etc. My Tracks is geared toward google services - like it or not. I, personally, like it. Heck even the My Tracks web site is "Powered by Google App Engine". So, the visual gratification is to press the "+" icon on the screen and select to upload to Google and My Tracks will use your account to optionally create (Google) maps with the tracks or a (Google) fusion table to visualize your data points. Very cool overall!
Not into Google, no problem! My Tracks will allow you to export or email as .gpx or .kml files. Heck, you can even tweet your ride. Check out the FAQ for more information on those features.
My only issue if you want to call it an issue is there is no delay option for starting. It does take me a several seconds to secure my Droid in it's pouch on the bike, get in on one pedal and start to ride. So, there, that's what could be improved ;)
On a side note, I am pleased to see that My Tracks source code is created with an Apache 2.0 License and is Open Source!
Note: Apps like "ShootMe" (Screen Grabber) seem to disable My Tracks ability to function for anything but time (as I learned the hard way).
My Tracks reports itself as:
My Tracks records your GPS tracks and shows live statistics such as time, speed, distance, and elevation – while hiking, cycling, running or participating in other outdoor activities. Once recorded, you can share your tracks, upload them to Google Spreadsheets and visualize them on Google My Maps.
Here's a quick summary of the My Tracks Android app:
First, My Tracks is drop-dead easy to install. However, you expect ease of installation since basically all market place apps are easy to install.
My Tracks is very easy to just use. Start by enabling your GPS satellites on your phone. Not a big deal if you forget as My Tracks will remind you. That push-pin on the Google powered map is now your location. Want to see the satellite view of your current location, simply press Menu Key and toggle the Satellite/Map view option. Want to start a new GPS tracking session, just press Menu Key and Start Recording. Finished with the trip, well not surprisingly, press Menu Key and Stop Recording will stop collecting data.
The real beauty of My Tracks is what it will do after the collecting is done... the mapping and displaying and summarizing etc. My Tracks is geared toward google services - like it or not. I, personally, like it. Heck even the My Tracks web site is "Powered by Google App Engine". So, the visual gratification is to press the "+" icon on the screen and select to upload to Google and My Tracks will use your account to optionally create (Google) maps with the tracks or a (Google) fusion table to visualize your data points. Very cool overall!
Not into Google, no problem! My Tracks will allow you to export or email as .gpx or .kml files. Heck, you can even tweet your ride. Check out the FAQ for more information on those features.
My only issue if you want to call it an issue is there is no delay option for starting. It does take me a several seconds to secure my Droid in it's pouch on the bike, get in on one pedal and start to ride. So, there, that's what could be improved ;)
On a side note, I am pleased to see that My Tracks source code is created with an Apache 2.0 License and is Open Source!
Note: Apps like "ShootMe" (Screen Grabber) seem to disable My Tracks ability to function for anything but time (as I learned the hard way).
Thursday, May 19, 2011
Dell printer warranty gathering information bash script for linux/unix
We have a LOT of different printer. A large number of them (over 60 and counting) are Dell branded printers. This includes laser printer models like the:
Dell Color Laser 3110cn
Dell Laser Printer 5210n
Dell Laser Printer M5200
Dell 5330dn Laser Printer
Dell Laser Printer 1720dn
Dell Laser Printer 5310n
Dell 2335dn MFP
Dell 2355dn Laser MFP
Dell 1815dn MFP
Dell 1600n MFP
Dell 3335dn MFP
I had a need to make sure to get all newer printers under warranty. Most of the units above have a web interface and most of the time the Service Tag is viewable from that interface. However, I'm very lazy even when it comes to clicking through all of the different types of printer web interfaces... then needing to go to Dell's support web site to manually check each Service Tag...
Naturally, I had to hack some shell script to do all of the dirty work for me. You will need snmpwalk, links, w3m and some added web fluff in the for of sortable columns and line highlighting via Sortable Table 2 java script. The script below will provide info on all printers found, just not warranty or Service Tag for non-Dell printers. The other good part is that you can tell from the "sysDescr.0" what firmware a printer is running also.
I don't remember why I have both links and w3m since this script was created a while back. I just thought it would be nice to post it now. Naturally, you could change out all of the html fluff and dump straight to csv for easy import into whatever you want.
If you have suggestions on code cleanup, I would love to see them. I think I have all the internal company specific stuff taken out and still usable. Enjoy. Sorry the formatting looks *UGLY*, but blogger freaks on the "span" greps in the code and this is the only way I have figured out how to show the code here. I need to verify that the stuff coming out of blogger is still working...
Dell Color Laser 3110cn
Dell Laser Printer 5210n
Dell Laser Printer M5200
Dell 5330dn Laser Printer
Dell Laser Printer 1720dn
Dell Laser Printer 5310n
Dell 2335dn MFP
Dell 2355dn Laser MFP
Dell 1815dn MFP
Dell 1600n MFP
Dell 3335dn MFP
I had a need to make sure to get all newer printers under warranty. Most of the units above have a web interface and most of the time the Service Tag is viewable from that interface. However, I'm very lazy even when it comes to clicking through all of the different types of printer web interfaces... then needing to go to Dell's support web site to manually check each Service Tag...
Naturally, I had to hack some shell script to do all of the dirty work for me. You will need snmpwalk, links, w3m and some added web fluff in the for of sortable columns and line highlighting via Sortable Table 2 java script. The script below will provide info on all printers found, just not warranty or Service Tag for non-Dell printers. The other good part is that you can tell from the "sysDescr.0" what firmware a printer is running also.
I don't remember why I have both links and w3m since this script was created a while back. I just thought it would be nice to post it now. Naturally, you could change out all of the html fluff and dump straight to csv for easy import into whatever you want.
If you have suggestions on code cleanup, I would love to see them. I think I have all the internal company specific stuff taken out and still usable. Enjoy. Sorry the formatting looks *UGLY*, but blogger freaks on the "span" greps in the code and this is the only way I have figured out how to show the code here. I need to verify that the stuff coming out of blogger is still working...
#!/bin/bash WEBPINFO="/var/www/html/SOME/DIR/Printer_Info.html" JSPATH="http://`hostname`/SOME/DIR" PINFO="$WEBPINFO.`date +%y%m%d`" cat > "$WEBPINFO" << EOF <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Printer Warranty and firmware Information - sortable</title> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> <script type="text/javascript" src="$JSPATH/sortedTable.js"></script> <link type="text/css" href="$JSPATH/sortedTable.css" rel="stylesheet"/> <link type="text/css" href="$JSPATH/nav.css" rel="stylesheet" /> <style> .red{color:crimson;} #nav{font-size:0.82em;} </style> </head> <body> <div class="tableWrapper"> <table id="table_1"> <thead> <tr class="headerLine"><th class="sorttable_alpha">Hostname</th> <th class="sorttable_alpha">sysDescr.0</th> <th class="sorttable_mmdd">warranty expire</th> <th class="sorttable_alpha">Service Tag</th> <th class="sorttable_alpha">Printer name</th></tr> </thead> <tbody> EOF #get all network based print servers and exclude if needed for PRINT_SERVER in `lpstat -t | egrep 'lpd://|socket://' |egrep -v 'SOME_PRINTER|SOME_OTHER_PRINTER'| cut -d"/" -f3 | cut -d":" -f1 | sort -u` do unset SER ST PRTS http_proxy PRTS=`lpstat -t|grep $PRINT_SERVER[/:]|awk '{ print $3 }'|tr -s ':\n' ' '` ping -c 2 $PRINT_SERVER >& /dev/null if [ $? -eq 0 ]; then MOD=`snmpwalk -Os -c public -v 1 $PRINT_SERVER sysDescr.0 | cut -d":" -f2 ` echo $MOD | grep -qi dell if [ "$?" -eq 0 ]; then #2335dn and JD24 and 1815dn are the same ST, but hrDeviceDescr.1 provides firmware version. if [ "`echo $MOD | egrep -qi '5330dn|2335dn|2355dn|JD24';echo $?`" -eq 0 ]; then ST="`links -dump http://$PRINT_SERVER/printer_info.htm|grep Service|tr -s ' '|cut -f6 -d ' '`" elif [ "`echo $MOD | egrep -qi '1815dn';echo $?`" -eq 0 ]; then MOD="$MOD `links -dump http://$PRINT_SERVER/printer_info.htm|grep 'Printer Firmware Version:'|cut -f2 -d ':'|tr -s ' '`" ST="`links -dump http://$PRINT_SERVER/printer_info.htm|grep Service|tr -s ' '|cut -f6 -d ' '`" elif [ "`echo $MOD | egrep -qi '3335dn';echo $?`" -eq 0 ]; then ST="`links -dump "http://$PRINT_SERVER/cgi-bin/dynamic/printer/config/reports/deviceinfo.html" |egrep 'Service'|tr -s ' '|cut -f6 -d ' '`" elif [ "`echo $MOD | egrep -qi '1720dn';echo $?`" -eq 0 ]; then ST="`links -dump "http://$PRINT_SERVER/cgi-bin/dynamic/information.html?path=/printer/info" |egrep 'Service'|tr -s ' '|cut -f6 -d ' '`" elif [ "`echo $MOD | egrep -qi '5210n|5310n';echo $?`" -eq 0 ]; then ST="`links -dump "http://$PRINT_SERVER/cgi-bin/dynamic/config/reports/deviceinfo.html" |grep Service|tr -s ' '|cut -f6 -d ' '`" elif [ "`echo $MOD | egrep -qi 'M5200';echo $?`" -eq 0 ]; then ST="`links -dump http://$PRINT_SERVER/printer/info |egrep 'Service'|tr -s ' '|tr -d '|'|cut -f6 -d ' '`" elif [ "`echo $MOD | egrep -qi '3110cn';echo $?`" -eq 0 ]; then ST="`links -dump http://$PRINT_SERVER/ews/status/infomation.htm |egrep 'Service'|tr -s ' '|tr -d '|'|cut -f7 -d ' '`" fi #need a proxy? Squid is a great one! #export http_proxy=http://USERNAME:PASSWORD@PROXY_SERVER:PORT LINK="http://support.dell.com/support/topics/global.aspx/support/my_systems_info/details?c=us&l=en&s=pub&servicetag=$ST" SER="`w3m -no-cookie -dump "$LINK" |grep -A 6 Days|cut -c50-|grep "/"|awk '{ print $3 }'|sort |tail -1`" fi echo -e "<tr><td><a href="http://${PRINT_SERVER}">${PRINT_SERVER}</a></td> <td>${MOD}</td> <td>${SER}</td> <td><a href="$LINK">${ST}</a></td> <td>${PRTS}</td></tr>" >> $WEBPINFO else echo -e "<tr><td>${PRINT_SERVER}</td> <td>No Response</td> <td></td> <td></td> <td>${PRTS}</td></tr>" >> $WEBPINFO fi done cat >> "$WEBPINFO" << EOF </tbody> </table> <p> Total print servers = `lpstat -t | egrep 'lpd://|socket://' |egrep -v 'SOME_PRINTER|SOME_OTHER_PRINTER'| cut -d"/" -f3 | cut -d":" -f1 | sort -u|wc -l` Created by $0 at `date` on `hostname` <script> var config = { tableId:'table_1', // the only mandatory parameter rowOver:'row_over', sortMap:'1,2,3:desc' } var t2 = new Chth.sortTable(); t2.init(config); </script> </body> </html> EOF #keep a historical copy cp -f $WEBPINFO $PINFO
Friday, May 6, 2011
Fedora 13 VMware Workstation 6.5.4 and 6.5.5 installation issue solved.
We do have the VMware Workstation 7.1 licensed, but I find that it *really* likes to crash on Fedora 13 a lot! So, tried to roll back to the 6.5.4 version I had downloaded from about a year ago and failed on module build. Here is the generally un-helpful error:
First, make sure to have some basic pre-requisites before you start:
Modify accordingly if you are running the PAE kernel:
Next install (or update):
The hard part was finding the magical google incantation to finally getting me to THIS VERY helpful link and the real solution of:
Finally run:
/tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerEventHandler’: /tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function) /tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: (Each undeclared identifier is reported only once /tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:240: error: for each function it appears in.) /tmp/vmware-root/modules/vmnet-only/vnetUserListener.c: In function ‘VNetUserListenerRead’: /tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: ‘TASK_INTERRUPTIBLE’ undeclared (first use in this function) /tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘signal_pending’ /tmp/vmware-root/modules/vmnet-only/vnetUserListener.c:282: error: implicit declaration of function ‘schedule’ make[2]: *** [/tmp/vmware-root/modules/vmnet-only/vnetUserListener.o] Error 1 make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Error 2 make[1]: Leaving directory `/usr/src/kernels/2.6.34.8-68.fc13.i686' make: *** [vmnet.ko] Error 2 make: Leaving directory `/tmp/vmware-root/modules/vmnet-only' Unable to install vmnet
First, make sure to have some basic pre-requisites before you start:
yum install gcc gcc-c++ kernel-headers kernel-devel
Modify accordingly if you are running the PAE kernel:
yum install gcc gcc-c++ kernel-headers kernel-PAE-devel
Next install (or update):
You may need to terminate part of the build process.rpm -Uhv VMware-Workstation-6.5.5-328052.i386.rpm
The hard part was finding the magical google incantation to finally getting me to THIS VERY helpful link and the real solution of:
cd /tmp tar xf /usr/lib/vmware/modules/source/vmnet.tar -C /tmp tar xf /usr/lib/vmware/modules/source/vmci.tar -C /tmp perl -pi -e 's,("vnetInt.h"),\1\n#include "compat_sched.h",' vmnet-only/vnetUserListener.c perl -pi -e 's,("compat_page.h"),\1\n#include "compat_sched.h",' vmci-only/include/pgtbl.h tar cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only tar cf /usr/lib/vmware/modules/source/vmci.tar vmci-only
Finally run:
vmware-modconfig --console --install-all
Wednesday, May 4, 2011
Mini book review: "The Book of XEN - A Practical Guide For The System Administrator"
Mini book review: "The Book of XEN - A Practical Guide For The System Administrator" by Chris Takemura and Luke S. Crawford, published by No Starch Press, copyright 2010, ISBN-10 1059327-186-7, ISBN-13 978-1-59327-186-2
I would first like to begin with some credit as to why I started down the path of Xen. My co-worker Chakri Girda was excellent enough to be my introduction into the real world of using Xen for virtualization. We had been a long time user of various VMWare products to get the virtualization job done. He was the lead on our revamped virtualization project and choose Xen. Good move all around I'd say!
The quest for enlightenment can take many paths. My quest generally does depart from the "path-of-google" when it comes to technology learning. That is I google the item of interest and read some links/pages/source/whatever and make it work. For some reason I just wanted a book. I had an urge to understand Xen virtualization in a greater way. Don't misunderstand, I currently manage 7 Dell PowerEdge Xen servers with 30+ domU's. Not huge by any standard, but enough to make me want to learn some of the "best practices" and not just "it's running and has fail-over". So, A quick google lead me to this book.
Chris and Luke are very clear in the beginning on the CentOS/Redhat Enterprise Linux (slight) slant of the book. But face it, Xen works on everything. And the xm command args don't not change from distro to distro. The sidebars throughout the book provide welcome distractions and helpful titbits as a general rule.
The authors set the practical and pragmatic tone from the start. The introduction clearly sets the stage for the rest of the book by creating a brief and down to earth (mercifully) short background and summary of Xen. No extra fluff. As a bonus, there is an actual "But I Am Impatient!" section that provides a reader with what chapter to turn for "step-by-step instructions" or chapters depending on the type of deployment being considered.
Chapter 1 is the the real introduction to virtualization. A well thought out overview with just enough background. As as overview, you are told that some general concepts are a bit over-simplified to speed you along.
Chapter 2 has to be the most foundational portion of the book. This begins the "Getting Started" with Xen. Well written and laid out for reading. This in spite of being referred as a "step-by-step instructions". It turns out the entire book is written in a very readable manner that goes beyond the regurgitation of man pages or help files. Quite interesting how some of the paragraphs flow more like a novel and less like a how-to. I say this in a good way! As part of the title states, this is, "A Practical Guide". So, chapter 2 is the short version of follow-the-Xen-leader.
Chapter 3 is "Provisioning DomUs" it seems to go out of its way to be distro inclusive when setting up domU's. There is a tar install section, a Redhat/CentOS and even a Debian install section. The information provided even provides insight into the large scale deployment options. The quick and dirty version of SystemImager or Cobbler/koan. The array of choices for the newbie is quite large in this chapter.
Chapter 4 is "Storage With Xen" and begins the, "I know I have shown you the easy way, but that may not be the best way" approach to storage spelled out from chapter 2. What you get here is the blktap -vs- LVM information. The chapter is still presented in a very readable way. However, the spoiler of the chapter, in my opinion, is, "blktap is easy to set up and good for testing, while LVM is scalable and good for production". This chapter not only presents some basic commands, but also provides the foundation of *why*. The "why" something is done is often as important is what is done. So knowing both pieces allows a sysadmin to actually make the best decisions. In this chapter, the, "why" deals with storage allocation choices.
Chapter 5 is simply "Networking". Networking is really the whole focus of this chapter. The authors begin with the startup script hierarchy. Then explains when Xen preforms certain actions - on xend startup or domU startup. Followed by a well laid out how and why to name virtual interfaces. I had to dog ear one of the pages (page 65) as it perfectly explained an odd interface issue being reported by our MAC address monitoring. Nice, very nice.
Chapter 6 is "DomU Management: Tools and Frontends". Again, this chapter steps out to be more disto independent. They make sure to say that there are choices. The authors even provide installation instructions for the frontend tools. Really a continuation of the "step-by-step" approach taken throughout the book. Suffice it to say that there are frontend options and you will need to choose one.
Chapter 7 is "Hosting Untrusted Users under Xen: Lessons from the Trenches". This chapter could have been entitled, "Cover your A$$" or even "Share". The focus of this chapter is sharing (well, maybe imposing restrictions is another way to put it). The reader is gently stepped through a why and how to restrict CPU, IO and even networking. I love the whole system approach to handling DomU's taken in this chapter. The authors clearly provide the basics on how to generally handle each type of resource in a fundamental way. This means using system tools most likely in use already. I suspect this chapter is built from, "college of hard knocks" style learning. The authors are unusually nice when referring to the general user base that lead to this chapter. I would not have been so nice... I consider this chapter a must read no matter if your are a external (public) or internal (company) Xen administrator.
Chapter 8 is "Beyond Linux: Using Xen with other Unix-Like OS's". Honestly, I found this the least interesting. I was lead to this book with the general belief of being CentOS/Redhat centric since these are my OS platform of choice. Needless to say I do not need to know about Solaris or NetBSD.
Chapter 9 is "Xen Migration". This chapter does a good job of exploring the foundation of the migration options ("live" and "cold"). There are command examples for each option provided and well thought out reasoning. A nice addition was the inclusion of storage options in the migration mix. This included basic setup and configuration of ATA over ethernet (AoE) as well as iSCSI. Again, both informational context and actual implementation is provided.
Chapter 10 is "Profiling and Benchmarking under Xen". I was almost expecting a, "this is my kickass benchmark score for my servers" chapter. Luckily, I was wrong. Instead, the chapter lays a well balanced look at testing in general and how it can relate to Xen. Careful attention is noted at the beginning to state that no benchmark is a substitute for a production workload of a server. As common through the book, several options are provided and discussed. I do like inclusion of actual results and a real world application. The OProfile section is a nice addition and goes beyond the usual benchmarking spew. This is the section that provides the real world experience on how a problem was solved. My only issue with this chapter is the need to make all auxiliary program additions a download, configure, make and make install treadmill. Not a good idea for any production server to have 1.)build tools and 2.) "dead programs" that will never get updated and 3.) it's a bad idea.
Chapter 11 is "Citrix Xenserver" Xen For The Enterprise" - What?! A whole chapter devoted to non-Xen. Maybe a longer Introduction that included some of the Xenserver stuff. In spite of stray from Xen at it's core, the chapter does a good job to balance the open source -vs- commercial aspect of Xen core virtualization. I like the "gladiator combat" reference. It's good to have a sense of humor.
Chapter 12 is "HVM: Beyond Paravirtualization". This chapter represents a brief introduction into the HVM install process and setup. The only part that seems out of place is the 5 paragraph
Xen HVM vs. KVM in the middle of the chapter.
Chapter 13 is "Xen and Windows". This short chapter is another nice plunge into a specific implementation are for Xen. Well laid out chapter with good examples and very handy discussion of options. I managed to dog-ear a couple of the pages for later quick reference. The small section on HALs is a good addition in this chapter.
Chapter 14 is "Tips". I always like the real world problem -> resolution sections and this is the pinnacle for this book. This chapter has tidbits of knowledge for all to enjoy. I found the "PCI Forwarding" (passthrough) and a couple of other sections to be of great interest. Good chapter overall and one that *ALL* people should read IMHO.
Chapter 15 is "Troubleshooting". This chapter has the most dog-ears for me with 4. I will likely return to this chapter a couple of times in the near future. I have had (and ignore today) some of the issues noted in this chapter. Issue like the DomU interface number incrementing has just be an annoyance. While the VM restarting too fast has been a major battle on occasion. Another must read for the Xen (want-to-be) server administrator as far as I am concerned.
In summary, a well written book with lots of tidbits of wisdom and years of experience. This was actually an easy read. I would find no issue in recommending this book to a new -> intermediate Xen admin.
I would first like to begin with some credit as to why I started down the path of Xen. My co-worker Chakri Girda was excellent enough to be my introduction into the real world of using Xen for virtualization. We had been a long time user of various VMWare products to get the virtualization job done. He was the lead on our revamped virtualization project and choose Xen. Good move all around I'd say!
The quest for enlightenment can take many paths. My quest generally does depart from the "path-of-google" when it comes to technology learning. That is I google the item of interest and read some links/pages/source/whatever and make it work. For some reason I just wanted a book. I had an urge to understand Xen virtualization in a greater way. Don't misunderstand, I currently manage 7 Dell PowerEdge Xen servers with 30+ domU's. Not huge by any standard, but enough to make me want to learn some of the "best practices" and not just "it's running and has fail-over". So, A quick google lead me to this book.
Chris and Luke are very clear in the beginning on the CentOS/Redhat Enterprise Linux (slight) slant of the book. But face it, Xen works on everything. And the xm command args don't not change from distro to distro. The sidebars throughout the book provide welcome distractions and helpful titbits as a general rule.
The authors set the practical and pragmatic tone from the start. The introduction clearly sets the stage for the rest of the book by creating a brief and down to earth (mercifully) short background and summary of Xen. No extra fluff. As a bonus, there is an actual "But I Am Impatient!" section that provides a reader with what chapter to turn for "step-by-step instructions" or chapters depending on the type of deployment being considered.
Chapter 1 is the the real introduction to virtualization. A well thought out overview with just enough background. As as overview, you are told that some general concepts are a bit over-simplified to speed you along.
Chapter 2 has to be the most foundational portion of the book. This begins the "Getting Started" with Xen. Well written and laid out for reading. This in spite of being referred as a "step-by-step instructions". It turns out the entire book is written in a very readable manner that goes beyond the regurgitation of man pages or help files. Quite interesting how some of the paragraphs flow more like a novel and less like a how-to. I say this in a good way! As part of the title states, this is, "A Practical Guide". So, chapter 2 is the short version of follow-the-Xen-leader.
Chapter 3 is "Provisioning DomUs" it seems to go out of its way to be distro inclusive when setting up domU's. There is a tar install section, a Redhat/CentOS and even a Debian install section. The information provided even provides insight into the large scale deployment options. The quick and dirty version of SystemImager or Cobbler/koan. The array of choices for the newbie is quite large in this chapter.
Chapter 4 is "Storage With Xen" and begins the, "I know I have shown you the easy way, but that may not be the best way" approach to storage spelled out from chapter 2. What you get here is the blktap -vs- LVM information. The chapter is still presented in a very readable way. However, the spoiler of the chapter, in my opinion, is, "blktap is easy to set up and good for testing, while LVM is scalable and good for production". This chapter not only presents some basic commands, but also provides the foundation of *why*. The "why" something is done is often as important is what is done. So knowing both pieces allows a sysadmin to actually make the best decisions. In this chapter, the, "why" deals with storage allocation choices.
Chapter 5 is simply "Networking". Networking is really the whole focus of this chapter. The authors begin with the startup script hierarchy. Then explains when Xen preforms certain actions - on xend startup or domU startup. Followed by a well laid out how and why to name virtual interfaces. I had to dog ear one of the pages (page 65) as it perfectly explained an odd interface issue being reported by our MAC address monitoring. Nice, very nice.
Chapter 6 is "DomU Management: Tools and Frontends". Again, this chapter steps out to be more disto independent. They make sure to say that there are choices. The authors even provide installation instructions for the frontend tools. Really a continuation of the "step-by-step" approach taken throughout the book. Suffice it to say that there are frontend options and you will need to choose one.
Chapter 7 is "Hosting Untrusted Users under Xen: Lessons from the Trenches". This chapter could have been entitled, "Cover your A$$" or even "Share". The focus of this chapter is sharing (well, maybe imposing restrictions is another way to put it). The reader is gently stepped through a why and how to restrict CPU, IO and even networking. I love the whole system approach to handling DomU's taken in this chapter. The authors clearly provide the basics on how to generally handle each type of resource in a fundamental way. This means using system tools most likely in use already. I suspect this chapter is built from, "college of hard knocks" style learning. The authors are unusually nice when referring to the general user base that lead to this chapter. I would not have been so nice... I consider this chapter a must read no matter if your are a external (public) or internal (company) Xen administrator.
Chapter 8 is "Beyond Linux: Using Xen with other Unix-Like OS's". Honestly, I found this the least interesting. I was lead to this book with the general belief of being CentOS/Redhat centric since these are my OS platform of choice. Needless to say I do not need to know about Solaris or NetBSD.
Chapter 9 is "Xen Migration". This chapter does a good job of exploring the foundation of the migration options ("live" and "cold"). There are command examples for each option provided and well thought out reasoning. A nice addition was the inclusion of storage options in the migration mix. This included basic setup and configuration of ATA over ethernet (AoE) as well as iSCSI. Again, both informational context and actual implementation is provided.
Chapter 10 is "Profiling and Benchmarking under Xen". I was almost expecting a, "this is my kickass benchmark score for my servers" chapter. Luckily, I was wrong. Instead, the chapter lays a well balanced look at testing in general and how it can relate to Xen. Careful attention is noted at the beginning to state that no benchmark is a substitute for a production workload of a server. As common through the book, several options are provided and discussed. I do like inclusion of actual results and a real world application. The OProfile section is a nice addition and goes beyond the usual benchmarking spew. This is the section that provides the real world experience on how a problem was solved. My only issue with this chapter is the need to make all auxiliary program additions a download, configure, make and make install treadmill. Not a good idea for any production server to have 1.)build tools and 2.) "dead programs" that will never get updated and 3.) it's a bad idea.
Chapter 11 is "Citrix Xenserver" Xen For The Enterprise" - What?! A whole chapter devoted to non-Xen. Maybe a longer Introduction that included some of the Xenserver stuff. In spite of stray from Xen at it's core, the chapter does a good job to balance the open source -vs- commercial aspect of Xen core virtualization. I like the "gladiator combat" reference. It's good to have a sense of humor.
Chapter 12 is "HVM: Beyond Paravirtualization". This chapter represents a brief introduction into the HVM install process and setup. The only part that seems out of place is the 5 paragraph
Xen HVM vs. KVM in the middle of the chapter.
Chapter 13 is "Xen and Windows". This short chapter is another nice plunge into a specific implementation are for Xen. Well laid out chapter with good examples and very handy discussion of options. I managed to dog-ear a couple of the pages for later quick reference. The small section on HALs is a good addition in this chapter.
Chapter 14 is "Tips". I always like the real world problem -> resolution sections and this is the pinnacle for this book. This chapter has tidbits of knowledge for all to enjoy. I found the "PCI Forwarding" (passthrough) and a couple of other sections to be of great interest. Good chapter overall and one that *ALL* people should read IMHO.
Chapter 15 is "Troubleshooting". This chapter has the most dog-ears for me with 4. I will likely return to this chapter a couple of times in the near future. I have had (and ignore today) some of the issues noted in this chapter. Issue like the DomU interface number incrementing has just be an annoyance. While the VM restarting too fast has been a major battle on occasion. Another must read for the Xen (want-to-be) server administrator as far as I am concerned.
In summary, a well written book with lots of tidbits of wisdom and years of experience. This was actually an easy read. I would find no issue in recommending this book to a new -> intermediate Xen admin.
Friday, April 29, 2011
Dell E6410 Fedora 13 32-bit Linux install and mini review
This is a catch up article. More of a documentation piece of (past) success than a current Fedora 13 review.
This Fedora install is a stock 32-bit DVD install (PXE install failed issue with flashing video problem). The target system is a nice Dell E6410 with 4GB RAM, Broadcom BCM4313 802.11b/g, nVidia GT218 [NVS 3100M] rev 162 dedicated video card and Intel I7 CPU. Let me just add the note here and state, for the record, that the Intel I7 ROCKS! The E6410 is a physically solid chassis with precise feel. No cheap feeling plastic on this bad boy. The LCD hinge is firm and smooth with no lateral wiggle or bounce issues. The 14.1 inch screen is bright with no dead pixels. Screen glare is fairly minimal and the function brightness control is handy. I have been a big fan of the Dell Latitude laptops for a long time. The product line continues to excel in many ways. However, please don't mistake this unit for any ultra-portable! Especially with the longer runtime extended battery.
Install with Fedora DVD is best accomplished with the "Basic Video Driver" install selection. Otherwise the screen flashing techni-color screen makes it impossible to install. I choose to install with whole disk encryption as a general rule for any laptop. Let me just say that it is easier to type in a pass-phrase every once in a while than it is to explain why all of the confidential emails or data from a boss is floating around the internet. I will file whole drive encryption under the "CYA" category. Basically, install is click-button-simple. Besides my video issue and encryption desire, there was no real need to not click "next" button when presented. All of the Linux distributions have made HUGE progress in ease of installation over the years. And Fedora is no exception!
Reboot after install leads to a rather disappointing 800x600 resolution login screen. At least there is a login screen at all. First a quick key sequence to dump me to console in order to log in as root in order to do a full update and reboot just to see if that will help my screen resolution issue with the *default* install. I do need to note, I have a standard practice that on any NVIDIA installation, I get the kmod-nvidia drivers or the official NVIDIA driver installed as quickly as possible. I want to see about "stock" install at this point ... but no luck... Sadly, in order to get the 1280x800 capable on this 14.1 WXGA (not WXGA+!) LCD panel I install the kmod-nvidia-PAE drivers (I'm running PAE kernel). However, I still end up with the long dreaded invalid pointer problem and need to remove the "InputDevice" lines in the /etc/X11/xorg.conf file. A reboot an all is better now with video.
The Broadcom BCM4313 is not working out of the box. A quick bit of google'n and an install from the rpmfusion-nonfree-updates repository used for the kmod-nvidia above:
yum -y install broadcom-wl kmod-wl-`uname -r`
modprobe wl
makes the wifi issue go away without the need to reboot. Cutting the ethernet cord an goin' mobile now.
The bluetooth functions without issue. I could pair with my Droidx in seconds. Nice.
Helpful links:
E-Family Reimage “How-To” Guide
E6410 Manuals
This Fedora install is a stock 32-bit DVD install (PXE install failed issue with flashing video problem). The target system is a nice Dell E6410 with 4GB RAM, Broadcom BCM4313 802.11b/g, nVidia GT218 [NVS 3100M] rev 162 dedicated video card and Intel I7 CPU. Let me just add the note here and state, for the record, that the Intel I7 ROCKS! The E6410 is a physically solid chassis with precise feel. No cheap feeling plastic on this bad boy. The LCD hinge is firm and smooth with no lateral wiggle or bounce issues. The 14.1 inch screen is bright with no dead pixels. Screen glare is fairly minimal and the function brightness control is handy. I have been a big fan of the Dell Latitude laptops for a long time. The product line continues to excel in many ways. However, please don't mistake this unit for any ultra-portable! Especially with the longer runtime extended battery.
Install with Fedora DVD is best accomplished with the "Basic Video Driver" install selection. Otherwise the screen flashing techni-color screen makes it impossible to install. I choose to install with whole disk encryption as a general rule for any laptop. Let me just say that it is easier to type in a pass-phrase every once in a while than it is to explain why all of the confidential emails or data from a boss is floating around the internet. I will file whole drive encryption under the "CYA" category. Basically, install is click-button-simple. Besides my video issue and encryption desire, there was no real need to not click "next" button when presented. All of the Linux distributions have made HUGE progress in ease of installation over the years. And Fedora is no exception!
Reboot after install leads to a rather disappointing 800x600 resolution login screen. At least there is a login screen at all. First a quick
The Broadcom BCM4313 is not working out of the box. A quick bit of google'n and an install from the rpmfusion-nonfree-updates repository used for the kmod-nvidia above:
yum -y install broadcom-wl kmod-wl-`uname -r`
modprobe wl
makes the wifi issue go away without the need to reboot. Cutting the ethernet cord an goin' mobile now.
The bluetooth functions without issue. I could pair with my Droidx in seconds. Nice.
Helpful links:
E-Family Reimage “How-To” Guide
E6410 Manuals
Wednesday, April 27, 2011
Fedora 15 beta first impressions - aka mini review
First and foremost please remember THIS IS A BETA. There are going to be issues. However, I find myself more fixated with my issues with the GNOME 3.0 interface than anything else. I know Fedora HAD to move on and stay with the latest and greatest GNOME release. After all that is what is Fedora is known for (and the reason I prefer CentOS/RHEL for servers!). More on GNOME shortly.
My Fedora 15 beta test attempt is happening on real hardware. No virtual container. It's a Dell D630 laptop with 2GB RAM, a dual core Intel T7500 and dedicated nVidia G86M Quadro NVS 135M video card. WIFI is handled by the Broadcom BCM4312 802.11a/b/g chipset. Modest by today's standards.
Normally for laptops, I will do whole disk encryption using a kickstart file. This is just a plain, "select some defaults" and install test. Install worked without issue (as expected). In fact, installs have been very easy for a long to the point of being almost boring. Really just a few clicks and I was done.
Start-up for Fedora 15 beta is very fast. Though not timed, the perceived boot time difference from Fedora 13 to Fedora 15 seemed significant. More specially, Fedora 15 boot time is faster. If I get bored, I may consider actually install Fedora 13 or 14 again just to time the boot-to-login screen time. Many people dig that.
Initially, I was interested in how the nouveau video driver was going to handle my Quadro NVS 135M. Not a real common chipset. The former nv driver has woefully inadequate to say the least. The install and/or nouveau found the LCD SVGA+ 1440x900 without any problems. For any other NVIDIA installation, I would get the kmod-nvidia drivers or the official NVIDIA driver installed as quickly as possible. I'm going to stick it out with nouveau for now. No urgent video need to bail just yet. Not a big compiz fan, however, so that's off.
The install found my wireless card (Broadcom model BCM4312 a/b/g) without any issue. I was able to see AP's in the area. It's nice to see this, "just work". However, wifi passphrase didn't seem to work for some reason. I had to put in the hex key instead in order to connect to the test wifi router. In addition, getting connected to an access point seems to take several seconds longer that with Fedora 13 and GNOME 2.30.
Now for the BIG CHANGE... GNOME 3.0! Not sure if it's Fedora's ruff edges on this beta or my shear newness with GNOME 3.0, but wow it's hard to get used too. Don't get me wrong, a window manager that stays out of your way is good! But one that you can't figure out how to change (yet)?! I was kinda overwhelmed with the Activities and trying to guess under what category a program would be under. Select all and just keep looking. All I wanted to do was fix my touchpad issues. Need to middle click paste with the double mouse button touch pad on the Dell? Can only use the bottom set of buttons... Not sure why yet. I've gotta tell you I use middle mouse/double mouse button paste A LOT as my typing speed and skill is not the best. Also, spent 10 minutes trying to figure out if I could get System Monitor back on my screen or CPU scaling info... and never did...
My solution, at the moment, to GNOME 3.0 is to run LXDE instead! Thank goodness for choice at this time. My frustration rate is high GNOME and back to basics is good. I will likely make more attempts to use the new GNOME, just not tonight.
My Fedora 15 beta test attempt is happening on real hardware. No virtual container. It's a Dell D630 laptop with 2GB RAM, a dual core Intel T7500 and dedicated nVidia G86M Quadro NVS 135M video card. WIFI is handled by the Broadcom BCM4312 802.11a/b/g chipset. Modest by today's standards.
Normally for laptops, I will do whole disk encryption using a kickstart file. This is just a plain, "select some defaults" and install test. Install worked without issue (as expected). In fact, installs have been very easy for a long to the point of being almost boring. Really just a few clicks and I was done.
Start-up for Fedora 15 beta is very fast. Though not timed, the perceived boot time difference from Fedora 13 to Fedora 15 seemed significant. More specially, Fedora 15 boot time is faster. If I get bored, I may consider actually install Fedora 13 or 14 again just to time the boot-to-login screen time. Many people dig that.
Initially, I was interested in how the nouveau video driver was going to handle my Quadro NVS 135M. Not a real common chipset. The former nv driver has woefully inadequate to say the least. The install and/or nouveau found the LCD SVGA+ 1440x900 without any problems. For any other NVIDIA installation, I would get the kmod-nvidia drivers or the official NVIDIA driver installed as quickly as possible. I'm going to stick it out with nouveau for now. No urgent video need to bail just yet. Not a big compiz fan, however, so that's off.
The install found my wireless card (Broadcom model BCM4312 a/b/g) without any issue. I was able to see AP's in the area. It's nice to see this, "just work". However, wifi passphrase didn't seem to work for some reason. I had to put in the hex key instead in order to connect to the test wifi router. In addition, getting connected to an access point seems to take several seconds longer that with Fedora 13 and GNOME 2.30.
Now for the BIG CHANGE... GNOME 3.0! Not sure if it's Fedora's ruff edges on this beta or my shear newness with GNOME 3.0, but wow it's hard to get used too. Don't get me wrong, a window manager that stays out of your way is good! But one that you can't figure out how to change (yet)?! I was kinda overwhelmed with the Activities and trying to guess under what category a program would be under. Select all and just keep looking. All I wanted to do was fix my touchpad issues. Need to middle click paste with the double mouse button touch pad on the Dell? Can only use the bottom set of buttons... Not sure why yet. I've gotta tell you I use middle mouse/double mouse button paste A LOT as my typing speed and skill is not the best. Also, spent 10 minutes trying to figure out if I could get System Monitor back on my screen or CPU scaling info... and never did...
My solution, at the moment, to GNOME 3.0 is to run LXDE instead! Thank goodness for choice at this time. My frustration rate is high GNOME and back to basics is good. I will likely make more attempts to use the new GNOME, just not tonight.
Subscribe to:
Posts (Atom)