Sunday, December 29, 2013

Koding - Online Development and Social Coding

http://koding.com/
Stumbled across this koding.com site today.  Koding is an online development environment with social coding aspects.  Included with your free account is a personal web server Linux VM, with root SSH access.  Pretty nifty idea.  Programming languages naively supported are Python, Java, Perl, Node.js, Ruby, C, C++, PHP, and Go.  With root access, you could probably get anything else you want running as well.

"Koding is a developer community and cloud development environment where developers come together and code in the browser – with a real development server to run their code. Developers can work, collaborate, write and run apps without jumping through hoops and spending unnecessary money."

Thursday, December 26, 2013

10 Best Graphics Video Games of 2013

Far Cry 3

I came across this review of the Top 10 Best Graphics in Video Games 2013 [1080p HD] - YouTube and found it informative (nearly 1 million views).

Honorable Mention: The Elder Scrolls 5: Skyrim (but requires mods installed) - available on Steam
# 10: Tomb Raider (the reboot) - available on Steam / Origin
#  9: Sleeping Dogs ("fulfills the I want GTA 5 now syndrome") - available on Steam / Origin
#  8: Hitman: Absolution available on Steam / Origin
#  7: Max Payne 3 available on Steam
#  6: Battlefield 3 available on Origin
#  5: Far Cry 3 - available on Steam / Origin
#  4: The Witcher 2: Assassins of Kings - available on Steam / Origin
#  3: BioShock Infinite - available on Steam
#  2: Metro: Last Light - available on Steam / Origin
#  1: Crysis 3 - available on Origin



Another similar list of TOP 10 Best Graphics Games 2013  HD - YouTube (over 1 million views)

10 : Uncharted 3
9 : Sleeping Dogs
8 : Killzone 3
7 : ArmA
6 : Metro 2033
5 : Far Cry 3
4 : Battlefield 3
3 : The Witcher 2
2 : Skyrim & END MOD
1 : CRYSIS SERIES

Saturday, December 21, 2013

Contre Jour

Contre Jour
Contre Jour - http://www.contrejour.ie/

Chillingo has made a fun little physics puzzle game, you can play online for free.  You will need an updated browser that supports HTML5, such as Firefox or IE10 to play.  For a few bucks you can also buy it on the Apple/Android/Windows store and play on your phone/tablet.  The game physics are similar to World of Goo.

"Blurring the lines between interactive art and games, Contre Jour showcases a beautiful but haunting world shaped by the interplay of light and darkness. Utilizing intuitive touch controls and set against a poignant orchestrated score, you’ll guide a mysterious creature (named Petit) through organic and machined levels by manipulating the very environment itself. Pull, swipe, and tap gadgets such as tendrils, air geysers, and pulleys to complete clever puzzles."
  • Intuitive touch controls let you interact with the environment in delightful and surprising ways.
  • Sixty levels of mind-bending puzzles to explore and play.
  • An emotional musical score by famed composer David Ari Leon adds a level of sophistication and heart to the game.
  • Directly inspired by Antoine de Saint-ExupĂ©ry's legendary story, The Little Prince (French: Le Petit Prince).

For a bit of fun trivial, Contre-jour (French for "against daylight") is a "photographic technique in which the camera is pointing directly toward a source of light, which produces backlighting of the subject and creates silhouettes and emphasizes lines and shapes."

Contre-jour photography

Celsius to Fahrenheit


Move along people, there's nothing to see here.

Just needed a convenient table for working with some home automation temperature sensors.


Common°C°F
100 C (Boiling)
100
212
60 C (Hot Drink)
60
140
40 C (Hot Bath)
40
~ 100
Body
32
98.6
30 C (Beach)
30
85
Perfection
22.22
72
20 C (Room)
20
~ 70
10 C (Chilly)
10
50
4 C (Refrigerator)
4
~ 40
0 C (Freezing)
0
32
-10 C (Bitter Cold)
-10
~ 15
-20 C (Freezer / 0 F)
-20
~ 0
-40 C = -40 F
-40
-40

Conversion Formulas:
 °C  x  9/5 [1.8] + 32 = °F
(°F  -  32)  x  5/9 [~.56 or / 1.8] = °C


 °C  x  1.8 + 32 = °F
(°F  -  32)  / 1.8 = °C

Cheap Estimation Conversion:
 °C  x  2 + 30 = °F
(°F  -  30)  /  2 = °C

Quick table, adding 5 to the Celsius = adding 9 to the Fahrenheit
0=32, 5=41, 10=50, 15=59, 20=68, 25=77, 30=86, 35=95, 40=104

Other easy ones to remember:
28 C = ~ 82 F
16 C = ~ 61 F
04 C = ~ 40 F

From xkcd, just remember actual reference points, not conversions:
40 C = Really hot
37 C = I'm not sick
30 C = Warm
20 C = Nice
10 C = Cool
0 C = Cold

xkcd Converting to Metric - http://xkcd.com/526/

For scientists, to convert from Celsius to Kelvin (based on absolute zero):
°C + 273.15 = K
K - 273.15 = °C
Note: Kelvin temperature scale does not use the degree (°) symbol.

For temperature intervals rather than specific temperatures,
1 K = 1 °C = 95 °F

Friday, December 20, 2013

Chuck Norris vs Jean-Claude Van Damme in Epic Splits


Well, Chuck Norris, once again, shows us how it's really done, in this epic parody.



In case you missed the awesome video of Jean-Claude Van Damme really doing splits
between two moving Volvo trucks.


Wednesday, December 18, 2013

Adobe Photoshop CS2 for Free

Adobe Photoshop CS2
Per Gizmodo, "Adobe is giving us all a late Christmas present. You can grab yourself a free, legitimate copy of Photoshop and the rest of the Creative Suite 2, right now, direct from Adobe. No catch. (other than you have to create a free Adobe account)."

According to Adobe, the reason is, "Adobe has disabled the activation server for CS2 products, including Acrobat 7, because of a technical issue. These products were released more than seven years ago, do not run on many modern operating systems, and are no longer supported.  The serial numbers are provided ... to maintain current use of these products."

What is available to freely download:
  • Creative Suite 2 for Windows and Mac
  • Acrobat 3D 1.0 for Windows
  • Acrobat Standard 7.0 for Windows
  • Acrobat Pro 7.0 for Windows
  • After Effects for Windows and Mac
  • Audition 3.0 for Windows
  • GoLive CS2 for Windows and Mac
  • Illustrator CS2 for Windows and Mac
  • InCopy CS2 for Windows and Mac
  • InDesign CS2 for Windows and Mac
  • Photoshop CS2 for Windows and Mac (1045 1412 5685 1654 6343 1431)
  • Adobe Premiere Pro 2.0 for Windows
CS2 System Requirements:

  • Mac OS X v.10.2.8–v.10.3.8. PowerPC® G4 or G5 processor
  • Microsoft® Windows® 2000/Windows XP. Intel® Pentium® III or 4 processor

Tuesday, December 17, 2013

How To Add a Print Button to Blogger



Have you noticed that blogger.com doesn't have a convenient "print" button option?  Luckily PrinterFriendly.com is setup to conveniently add a print button to your blog or any website.

How to place a Print button in your blog:
  1. Visit PrinterFriendly.com
  2. Select "Blogger" from the "Choose Site Type" section.
  3. Choose the look of your button from the "Choose Button" section.
  4. You can leave the defaults in the "Features" section alone.
  5. If you are logged into blogger.com, you can click the "Install Widget" button, and it will auto add to your layout.  If you are not, you will be presented with some JavaScript that you will need to add to a JavaScript widget in your layout.
  6. You can place the widget pretty much anywhere in your blog's layout and it will still end up down in your post's button bar.
  7. Save the layout and enjoy your new print button.
  8. Note that the print button will only appear when you are viewing a "single" post.  If you are viewing "all posts" the button will not appear.

Choose site type and button type

Print button in button bar

Sunday, December 15, 2013

Temple Square Lights


A popular tourist attraction, this time of year, in Utah is the Historic Temple Square lights.  Our family has a tradition of riding the FrontRunner commuter rail to downtown Salt Lake City.  Although ridding the train doubles the length of the trip, it is our kids favorite part of the trip.

Water Fountain (with Google "Auto Awesome" photo effect)

Water Steps

Christmas Lights (with Google "Auto Awesome" photo effect)

Salt Lake Temple


Christus

UTA FrontRunner
Note: If you are curious, the Google "Auto Awesome" photo effects are auto added to certain photos (haven't yet determined how it determines which photos qualify) when you upload them through Google Photo.  If you  have an Android phone with "Auto Backup" turned on, your photos will be automatically uploaded to Google Photo for you.

Friday, December 13, 2013

Bitcoin Node in Space


Bitcoin may be heading to space soon.  In a recent article titled Core Developer to Launch Bitcoin Node in Space, there are discussions about launching Bitcoin nodes into space.  The benefits of these Bitcoin satellite nodes would be expanding the reaches of Bitcoin to remote areas that may only have satellite access, and helping prevent against attacks like the Sybil Attack.

Unclaimed Property



Ever have an old bank account that you forgot about?  Apparently I did.  Some time after an account goes dormant, it is declared abandoned and is turned over to the state.  Fortunately, the state provides a way for you to claim your "abandoned property".

First, start by going to the State of Utah Unclaimed Property Division website and do a search on your self to see if you have any listed abandoned property.  If you are feeling kind, you can also run a search on your friends and family.  It was a kind family member who notified me of my missing property.

State of Utah Unclaimed Property Division - http://www.mine.utah.gov/
"Each year, millions of dollars in bank accounts, stock certificates, checks, insurance checks, bonds and dividends are turned over to the State of Utah because the owners cannot be located. Some of this money could belong to you!
It may take only a couple minutes of your time to see if you or a family member is listed. It's easy, it's free and it's yours."
If you find property tied to your name, you claim it by filling out and submitting a form.  The claiming process involves filling out and printing a form, having a Notary sign it, and finally submitting the form to the state.

A sample of the form I completed

Wednesday, December 11, 2013

Fusion-io Ranked a Best Place to Work

We (Fusion-io) made it on the news last night, as one of the fastest growing companies in the US! Go us. :-)

I walk by this pictured green "engineering" wall daily. Feeling a bit nostalgic.
http://www.ksl.com/?sid=27969354

Utah company named 4th fastest growing company in U.S. | ksl.com - http://www.ksl.com/?sid=27969354

"A Utah-based tech company was recently named the fourth-fastest growing company in America. Many people may not be familiar with Fusion-io, but they deliver the data faster on all most computers."

Also, through anonymous reviews on Glassdoor.com, Fusion-io has been ranked one of the top mid-sized companies to work for in 2014. Fusion-io announced our ranking this morning in a press release.
A Utah-based tech company was recently named the fourth-fastest growing company in America. Many people may not be familiar with Fusion-io, but they deliver the data faster on all most computers.
Read more at http://www.ksl.com/?nid=148&sid=27969354#T36T486AV4pdOww1.99dd

Monday, December 2, 2013

Amazon Prime Air - Delivery by Drones

Drones may soon (within 5 years) be delivering packages directly to your home.  This may look like science fiction, but it is real.  As soon as Amazon can get FAA rules and regulations in place, Amazon Prime Air could be making deliveries as early as 2015.

"Amazon CEO Jeff Bezos unveiled a new plan by Amazon to deliver packages to customer’s homes within 30 minutes using drones. The plan was announced on the CBS show 60 minutes." (Forbes)




Sunday, November 24, 2013

How Bitcoin Works


A fairly low level description as to how Bitcoins actually work.

How Bitcoin Works Under the Hood - YouTube - https://www.youtube.com/watch?v=Lx9zgZCMqXE



Force a Kernel Panic


Have you ever wanted to generate a kernel panic, for kernel testing purposes?

A few ways to generate a kernel panic, a kernel oops and reboots:
# echo 1 > /proc/sys/kernel/panic
# dd if=/dev/random of=/dev/port
# cat /dev/port
# cat /dev/zero > /dev/mem
Forcing an Alt-SysReq-c command from the console:
# echo c > /proc/sysrq-trigger

To generate a kernel panic from source code, we will need to compile a kernel module from the kernel source: (source)
// source: force_panic.c
#ifdef __KERNEL__

/* Makefile :
obj-m := force_panic.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
 $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
*/

#include <linux/module.h>
#include <linux/kernel.h>

static int __init panic_init(void) {
  panic("force-panic");
  return 0;
}

static void __exit panic_exit(void) {
}

module_init(panic_init);
module_exit(panic_exit);

#endif
Generate a kernel oops: (source)
static int crash_module_init(void) {
     printf("crash module starting\n");
     int *p = 0;

     printk("%d\n", *p);

     return 0;
}

static void crash_module_exit(void) {
    printf("crash module exiting\n");
}

module_init(crash_module_init);
module_exit(crash_module_exit);



Monday, November 11, 2013

PSOD (Purple Screen of Death)

Example of a PSOD kernel stack trace screen
A PSOD (Purple Screen of Death) is the VMware ESX version of a Windows BSOD (Blue Screen of Death).  This occurs when the kernel panics and can no longer function.  There most common causes for a PSOD are:
  • Hardware failure
  • Out of memory
  • Hung CPU conditions
  • Misbehaving drivers (null pointers, invalid memory access, etc)
  • NMI (Non Maskable Interrupts)
When a PSOD occurs, one should collect the following:
  1. Screenshot of PSOD kernel stack trace screen (if possible)
  2. Support logs from the vm-support command
  3. Kernel log(should be included in vm-support, but better safe then sorry)
  4. Kernel core dump (only needed if a developer asks for it)
If the cause of the PSOD isn't obvious from the PSOD kernel stack trace screen, then the kernel log is the second best place to look for the cause of a kernel panic. To manually collect the kernel log:
## Kernel log - will output: vmkernel-log.1
# esxcfg-dumppart -L /vmfs/devices/disks/$( \
  esxcfg-dumppart --get-active | awk '{print $1}' )

To manually collect the kernel core dump: (if developer asks for it)
## Kernel core dump - will output: vmkernel-zdump.1
## Note: ESXi 5.x will put kernel dump here:
##     /scratch/core/vmkernel-zdump.*
# esxcfg-dumppart -C -D /vmfs/devices/disks/$( \
  esxcfg-dumppart --get-active | awk '{print $1}' )

For testing purposes, one can manually trigger a PSOD:
# vsish -e set /reliability/crashMe/Panic

How To Disable ESXi Password Restrictions

The following instructions will allow you to change the "root" user's password to something simple like "password".

ESXi 5.0, ESXi 5.1 and ESXi 5.5

1. Edit /etc/pam.d/passwd and add "enforce=none" to the end of the "password   requisite" line:
esx# vi /etc/pam.d/passwd
password  requisite  /lib/security/$ISA/pam_passwdqc.so \
        retry=3 min=8,8,8,7,6 enforce=none

2. Change password:
esx# passwd

ESXi 4.1

1. Edit /etc/pam.d/system-auth and add "enforce=none" to the end of the "password   requisite" line:
esx# vi /etc/pam.d/system-auth
password  requisite  /lib/security/$ISA/pam_passwdqc.so \
        retry=3 min=8,8,8,7,6 enforce=none

Note: You will need to force the write with an exclamation ":wq!".

2. Change password:
esx# passwd

Note: The enforce setting will be lost on the next reboot, so change your password now.

ESXi 4.0

1. Edit /etc/pam.d/common-password and add "enforce=none" to the end of the "password   requisite" line:
esx# vi /etc/pam.d/common-password
password  requisite  /lib/security/$ISA/pam_passwdqc.so \
        retry=3 min=8,8,8,7,6 enforce=none

2. Change password:
esx# passwd

ESX 4.1

1. Edit /etc/pam.d/system-auth and add "enforce=none" to the end of the "password   required" line:
esx# vi /etc/pam.d/system-auth
password  required  /lib/security/$ISA/pam_passwdqc.so \
        min=8,8,8,7,6 similar=deny match=0 enforce=none

2. Change password:
esx# passwd

ESX 4.0

1. Edit /etc/pam.d/system-auth-generic and add "enforce=none" to the end of the "password   required" line:
esx# vi /etc/pam.d/system-auth-generic
password  required  /lib/security/$ISA/pam_passwdqc.so \
        min=8,8,8,7,6 similar=deny match=0 enforce=none

2. Change password:
esx# passwd

How To Enable ESXi SSH Access

The following instructions will allow you to enable root ssh access to an ESXi server:

ESXi 5.0 and ESXi 5.1

1. From the DCUI (Direct Console User Interface), press "[F2]" and login.

2. Navigate down to "Troubleshooting Options", and press enter.

3. Navigate down to "Enable SSH" and press enter.

4. To disable the configuration warning "Configuration Issues: SSH for the host has been enabled" in the vSphere Client, change the following:
  • Configuration -> Software (section) -> Advanced Settings -> UserVars -> SuppressShellWarning = 0


ESXi 4.1

1. From the DCUI (Direct Console User Interface), press "[F2]" and login.

2. Navigate down to "Troubleshooting Options", and press enter.

3. Navigate down to "Enable Remote Tech Support (SSH)" and press enter.


ESXi 4.0

1. From the DCUI (Direct Console User Interface), switch to the hidden shell login screen with "[Alt]+[F1]".

2.  Type in "unsupported" (the characters will not be echoed back) and press enter.  Now enter in the root user's password and press enter.

3. Edit /etc/inetd.conf and uncomment the "ssh stream tcp" line:
esx# vi /etc/inetd.conf
ssh  stream tcp nowait root /sbin/dropbearmulti dropbear  ...

4. Reboot the server:
esx# reboot

ESX 4.1 and ESX 4.0

1. From the terminal screen, switch to the shell login screen with "[Alt]+[F1]" and login as root.

2. Edit /etc/ssh/sshd_config and change the 'PermitRootLogin' line to allow root login:
esx# vi /etc/ssh/sshd_config
PermitRootLogin yes

3. Restart the SSH service:
esx# service sshd restart

How To Manage Kernel Module Load Settings on ESXi

The following are instructions for managing kernel modules (drivers) on ESX(i).

List all loaded kernel modules

# vmkload_mod -l    # --list

Show kernel module information

# vmkload_mod -s some_module    # --showinfo
Note: This works in the same manner as modinfo on Linux

List module load parameters for on boot

# esxcfg-module -g some_module    # --get-options

Set module load parameters for on boot

# esxcfg-module -s 'parameter_a=1 parameter_b=test' some_module
Note: This does not affect parameters on manual module load

Clear module load parameters for on boot

# esxcfg-module -s '' some_module    # --set-options

Disable module on boot

# esxcfg-module -d some_module    # --disable
## write boot config, extra step for ESX 4.x only 
# esxcfg-boot -b

Enable module on boot

# esxcfg-module -e some_module    # --enable
NOTE: On ESXi 5.1 you will need to re-enable the module to even manually load the driver.

Manually load module

# vmkload_mod some_module
# vmkload_mod some_module parameter_a=1 parameter_b=test
Note: This works in the same manner as modprobe/insmod on Linux

Manually unload module

# vmkload_mod -u some_module    # --unload
Note: This works in the same manner as modprobe/rmmod on Linux



How To Reset ESXi Trial License

WARNING: This is for education/informational testing/development purposes only, and should not be used on a production server.

WARNING: This trick will only work with an ESX(i) stand alone server.  It will not work if the ESX(i) server is connected to a vCenter Server, as the vCenter Server knows better than to let you do this.  (you can always remove and readd the ESX(i) server to vCenter.)

To reset your ESX 4.x, ESXi 4.x and ESXi 5.x 60 day evaluation license:
  1. Login to the TSM through SSH or Shell
  2. Remove the following two files:
    1. /etc/vmware/vmware.lic
    2. /etc/vmware/license.cfg
  3. Reboot server
If your ESX server is connected to a vCenter server, please remove the ESX server first.  Once the steps above are completed, you can add it back to the vCenter server.

Sample commands:
rm -f /etc/vmware/vmware.lic /etc/vmware/license.cfg
reboot




For ESXi 5.1 and ESXi 5.5, you may need to continually remove the license files as the server reboots for this to work.  The following should do this quite nicely:

rm -f /etc/vmware/vmware.lic /etc/vmware/license.cfg
reboot ; while true ; do
    rm -f /etc/vmware/vmware.lic /etc/vmware/license.cfg
done




An alternative shows that restarting the services should works just as well as rebooting the server:
# For ESXi 5.0
rm -f /etc/vmware/vmware.lic /etc/vmware/license.cfg
services.sh restart
# For ESXi 5.1
rm -r /etc/vmware/license.cfg
cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg
/etc/init.d/vpxa restart

The alternative also shows a method for resetting the trial license while connected to vCenter server.  I still think removing and re-adding the ESXi server is cleaner.




Sunday, November 10, 2013

How To Setup ESXi SSH Keys for Passwordless Access

Generate Your Keys

Linux

From the remote Linux server:
ssh-keygen
Note: Make sure to leave the password empty, or you will defeat this whole passwordless exercise.

This will generate ~/.ssh/id_rsa and ~/.ssh/id_rsa.pub.  You can setup your default identity with:
cp ~/.ssh/id_rsa.pub ~/.ssh/identity.pub

Next we will use a helpful tool to copy our public key to the appropriate location on the target server.  The "ssh-copy-id" tool will copy the public key to ~/.ssh/authorized_keys and set the appropriate permissions for us.  This can be done manually, if needed.


The general method to copy the public key to the target ESX server's authorized list is using ssh-copy-id:
ssh-copy-id root@[SERVER]

If you don't have the default identity.pub setup, you can specify your public key with:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@[SERVER]

WARNING: Make sure to include 'root@' or it will try to copy to the same user name as you are currently logged in as.

Note, each version of ESX/ESXi has a few adjustments to make it work.

Windows

For Windows servers you will need to use PUTTY and PUTTYgen.  Within PUTTYgen, simply click "Generate", move your mouse a lot over the blank area, and wait for the keys to be generated.



The text within the "Public key for pasting into OpenSSH authorized_key file" area is the key that needs to go into the authorized_keys file on your server.  Click the "Save private key" button and save this private_key.ppk file to a secure location.  This is the key you will load into Putty to connect to the server.

 

ESXi 5.x

ESXi 5.x looses the keys on reboot unless you take a few extra steps.

1. Copy public key:
linux# ssh-copy-id -i ~/.ssh/id_rsa.pub root@[SERVER]

2. On the ESXi server:
esx# cp /.ssh/authorized_keys  /etc/ssh/keys-root/authorized_keys

3. Reboot ESXi server, so the script is saved to the boot bank. (Do not power cycle)
esx# reboot

4. Done. Verify passwordless access:
linux# ssh root@[SERVER] 


ESXi 4.x

ESXi 4.x looses the keys on reboot unless you take a few extra steps.

1. Copy public key:
linux# ssh-copy-id -i ~/.ssh/id_rsa.pub root@[SERVER]

2. On the ESXi server:
esx# cp -r /.ssh /scratch

3. On the ESXi server, add the following to /etc/rc.local:
esx# cp -r /scratch/.ssh /

3. Reboot ESXi server, so the script is saved to the boot bank. (Do not power cycle)
esx# reboot

4. Done. Verify passwordless access:
linux# ssh root@[SERVER]

ESX 4.x

1. Copy public key:
linux# ssh-copy-id -i ~/.ssh/id_rsa.pub root@[SERVER]

2. Done. Verify passwordless access:
linux# ssh root@[SERVER]

Saturday, November 9, 2013

Golden Sunset

"Golden Sunset"

Canon EOS Rebel T3i
2013.11.09 @ 6 pm
This is the gorgeous sunset we were blessed with tonight.

How To VMware VMDirectPath (PCI Passthrough)

How To setup VMware ESXi VMDirectPath (aka PCI Passthrough)

VMware's PCI Passthrough solution is by far the best I have used.  The other virtualization platforms (eg. Microsoft Hyper-V, Xen, Citrix XenServer, Oracle VM, KVM, etc) provide little, or no, PCI Passthrough support.  I have found that ESXi 5.0 had the best PCI Passthrough support, so stick with that version.  (ESXi 5.1 was not quite as stable in this area)

VMDirectPath I/O Summary

VMDirectPath I/O, aka PCI Passthrough, is a method of giving a VM direct access to a PCI device.
This VMware KB article describes configuring a device for PCI Passthrough:
As there is direct access to the PCI device, the only setup required is to create a VM and then assign the desired PCI device to the VM, using the direction in the KB article. No driver need be installed on the ESX host, only within the VM's guest OS.  To configure the VM follow the standard procedures for the target operating system, as though it were a physical system.

Requirements

The server's CPU must support and and BIOS must have enabled: "Intel® Virtualization Technology for Directed I/O (VT-d)" or "AMD I/O Virtualization Technology (IOMMU)"

Limitations

  • Not all ESX servers have full support for VMDirectPath, and on some servers not all PCIe slots do either. (especially the desktop class systems)
  • The server CPU/BIOS must support Intel VT-d or AMD IOMMU.
  • Limited to a maximum of 8 pass through devices powered on simultaneously, per host
  • Limited to passing through a maximum of 6 devices per VM
WARNING: When updating firmware through VMDirectPath, when fio-update-iodrive requests a reboot, this means a reboot of the physical hardware, not just the VM.

VMDirectPath Procedure

Note: These same procedures work for ESX/ESXi 4.x and ESXi 5.x.

1. Export out PCI devices through "Advanced Configuration".  The names may not be what you would recognize, so it is best to match on "Device ID" and "Vendor ID".





2. Reboot ESX/ESXi server.

3. Add PCI Device to VM's configuration.

4. Set Memory Reservation.  PCI Passthrough requires all allocated memory to be reserved for the VM.  Set the VM's Memory Reservation to match the VM's Memory Allocation.  Simply drag the Memory Reservation slider all the way to the right to the orange triangle.  This will also need to be done anytime the memory, for the VM, is adjusted in the future.


5. Treat device, in VM, as you would a physical server (install the OS specific driver within the target VM).

VMworld 2013 Conference Highlights

CEO General Session

Speaker: VMware’s CEO Patt Galsinger

“The Software Defined Data Center”

22,000 attendees this year to VMworld 2013!

VMware’s 3 Imperatives:
  1. Virtualize all the things
  2. IT management gives way to automation
  3. Hybrid cloud will be ubiquitous
4 Pillars of a Software Defined Data Center:
  1. Compute
  2. Storage
  3. Network
  4. Management and Automation
Product Announcements:
  • Compute:
    • ESXi 5.5 (vSphere 5.5)
  • Storage:
    • Virtual SAN (vSAN)
    • Virtual Volumes
    • vFlash Read Cache
    • Virsto
  • Network:
    • VMware NSX (major topic for VMworld this year)
  • Management/Automation:
    • vCloud Hybrid Services
New in ESXi 5.5:
  • 2x (cores and other limits raised)
  • App Aware H.A.
  • Big Data Extensions
  • Hadoop
Software Defined Storage:
  • Policy driven control plane
  • Virtual data plane
  • Application centric data services
New with vSAN:
  • Simplifies Storage
  • distributed software datastore
  • Resilient
  • Policy driven
  • Elastic
  • High performance
  • * Release in 1H 2014 *
New in Networking with NSX:
  • Software Defined Networking (SDN)
  • What ESX was to hardware, NSX is to networking
  • Network virtualization platform
Summary: VMware is hell bent on removing all IT admins (Storage/Server/Network/Management) from the data center and replacing them with Virtualization Admins!

VMworld 2014 – Save the Date – August 24th - 28th, 2014

COO General Session

Speaker: VMware COO, Carl Eschenbach

ITaaS (IT as a Service)
  • Self service
  • Transparent Pricing
  • Governance
  • Automation
All about “having the perception that you have control”

Focus: East and West Fabric
  • There is a major shift of traffic volume in the data center from North-South (client-server) to East-West (server-server).
New Product Summary:
  • vSAN – Simplifies storage, distributed software datastore
  • Virtual Vol – VVOLS – VM centric, snapshot VMDK from storage
  • Virstro – Appliance that aggregates storage pool as NFS data store
  • Horizon View – Desktop Virtualization Product (renamed from “VMware View”)
War Room – designated for critical issues

Virtual San

Presenter: Kiran Madnani
  • On Beta forms, for vSAN, have had conversations with him before
Virtual Data Plane – pooling hardware like a hypervisor does – “hypervisor based pooling of heterogeneous hardware”

Virtual SAN (vSAN):
  • Single datastore called “vsanDatastore” by default, can be renamed.
  • Optimized for resources that are a mix of expensive and inexpensive
  • Scale out
  • Software solution
  • Cluster disks and cache
  • High performance – flash based distributed read / write cache
  • VM centric management
  • Automated SLA management
  • High resiliency – distributed RAID
  • Dynamic capacity scaling
  • Rebuilds happen in parallel
  • Different sizes of servers – including magnetic disks
  • Storage policy specification
    • Capacity, availability, performance
    • Distribution, RAID and SLA are on a per VM level
    • Works with vMotion, storage vMotion, DRS, SRM, etc
Requirements:
  • 3 x ESXi 5.5 Hosts
  • vCenter 5.5
  • 1 x SSD empty
  • 1 x HDD empty
  • Network: 1 Gbps, 10 Gbps (preferred)
  • SAS/SATA controller working in passthru/JBOD/HBA mode
Performance: 80 – 100K IOPS ???  (I have not seen this level of performance from my tests)

Use Cases:
  • VDI
  • Test/Dev
  • Data Center Consolidation
  • Big Data
  • Private Cloud
  • Disaster Recovery
Join the vSAN beta: http://vsanbeta.com

Power CLI Best Practices

Strong PowerCLI community.  Google “PowerCLI Community”

Based off of PowerShell

Works off of objects (can pipe objects too!)

Uses verb-noun construct in plain English

Easy help: get-help

New in 5.5:
  • Same: core, image, auto deploy, license, vds, cloud, tenants
  • Tagging
  • Open-vmconsole - awesome
Best Practices:
  • Store results in variables
  • Help and Examples
  • -ShowWindow switch
  • Functions breakdown
  • Splatting (put parameters into hash table)
  • Make it simple
  • Try, catch, throw
  • Filter on the left
  • Steal from the best
  • Don’t use write-host
Check out VMware Flings – free projects that are very useful!

Exchange Messages Between Guest and Host using RPC

Cool stuff, might be useful for vCenter Plugin?

Uses a combination of Guest API and VMware Tools

Fling Guest API Library – http://labs.vmware.com

VAM (Virtual Machine Monitor)

Good for monitoring an application and posting to vSphere Client

vSAN Panel

Discussion:
  • Be able to track trends (request from audience)
  • Provision without having to pester IT
  • CapEx driven
  • Direct Attach – host pinning – get around
  • Moves responsibility from Storage Team to virtualization team, but can they handle the extra load?
Join the vSAN beta: http://vsanbeta.com

Ask the Experts

Experts:
  • Duncan Epping, VMware – Yellow Bricks blog
  • William Lam, VMware – Virtually Ghetto blog
  • Scott Lowe, VMware – scottlowe.org
  • Vaughn Steward, NetApp – Virtual Storage Guy.com
Awesome blogs, add to favorites!

What about Linux side Automation – PowerCLI seems to be the focus now
  • pySphere – soap suds (recommended by William Lam)

vSAN Best Practices

Use Cases:
  • Best used for VDI
  • Tier 2 & Tier 3 Test / Dev Private Cloud
  • DR Target (SRM)
  • Branch Office making use of replication
vSAN is just a cluster object/property

vSAN Workflow:
  • Setup Network and vmk interfaces
  • Enable vSAN
  • Set vSAN Auto Mode or Manual Mode
    • Manual Mode: Pick disks
Best practice: have each host similarly configured for best results

Storage policies are like Storage Profiles v2

Policy Capabilities:
  • Stripes per object
  • Failures to tolerate
  • Space reservation
  • Flash read cache reservation
  • Force provisioning
Performance Monitoring:
  • Esxtop
  • Performance manager UI
  • RVC & Observer (where does one get these from??)


Performance Group Discussion

NUMA:
  • Trust VMware NUMA default settings, the experts know better.  Modify at your own peril!
  • App must be NUMA aware
  • NUMA allows scheduling RAM on same CPU
Virtual CPUs:
  • Virtual Cores only added for licensing reasons.  Using Virtual Sockets vs Virtual Cores makes no difference to VM.
  • Match Hardware and Virtual CPU to actual need for best results
  • Max, don’t allocate more Virtual CPUs than system has of cores (ignore HT and the like)
Latency:
  • If latency sensitive – don’t over subscribe!  Simple as that.
  • Monitor with vCenter Operations
  • No silver bullet
  • New “latency” property in 5.5 for Network latency related issues (reserves CPU time)
Storage:
  • Split out disks (luns) is still a good practice for database
  • Qdepth, queues, and paths

PCIe Hotplug

Supported with Native Driver – another good reason to switch to native driver model

VMware Ready

VMware: Joe Taylor, Pat Richards, Matt Stander

Matt Stander – runs Dev Center (mstandar@vmware.com, or is that mstander@vmware.com?)

All in the Ecosystems Engineering department

Dev Center & VMware Ready – One stop development shop for partners

VMware has 20,000 partners, and 3,000 technical partners.

Contact: tapalliance@vmware.com

Resources: Dev Center, Partner Central, Dev Community, vmdev.net

Workbench IS – for integrating directly into existing eclipse installs

SDK UI Integration docs and guides

Questions:
  • Community forums for developers?
    • Coming
  • How to get better dev support?
    • Sales Force pay style coming
  • How to get in as inbox driver?
    • One off requests
  • TAM or SDK support (SLA)?
    • Ecosystems Engineering
  • IOVP Recert 5.5?
    • Will better communicate
  • vSAN Cert on Dev Center?
    • Coming
  • Native Driver?
    • Slowly migrate and deprecate Linux
  • Workbench – why SLES?
    • Legal reasons, getting unified with other departments
  • Need packaging repo
    • Conference for Dev or more technical dev sessions at VMworld?
Have we tried the new Test Manager that can help automate IOVP process?
  • Workbench – top left tutorials
  • CLI / Log browser
DDV – Dynamic Driver Verifier on Dev Center

ROSA – will migrate to Dev Center eventually

Dev Support SLA – can hire a guy for a week through Dev Consulting at about $11K a week.  Managed through “Sandy”.  Contact Martin Lister / Joe Taylor for more information (Ecosystem Engineering)

Recommend using Ecosystems Engineering over TAM.  (TAM account manager-> GSS -> Product Management)


vCenter Deep Dive

Web Client now in Simple Install

Custom install: for distributed setup

New in Web Client 5.5:
  • Now includes Mac OSX Support
  • Filter by tags
  • Recent Objects Tab
  • Missing: VUM, Host Client, SRM
  • Performance still sucks
  • Database “shattered” into smaller ones to help with performance
SSO:
  • Dropped database
  • Dropped master password





Friday, November 8, 2013

How To Redirect a ESX Linux VM's Console Output to a File

This How To will redirect the Linux console output to a file.  Especially useful when you want to collect the full boot log, or full stack trace of a Linux Kernel Panic.

Add VM Serial Port

1. Edit VM Settings and select "Add.." to add new hardware:









2. Select "Serial Port" from the Device Type:








3.Select "Output to file" for Serial Port Type:










4. Specify the file name to output as, on the desired Datastore: (I recommend an NFS share for easy access)










5. Finish saving your changes. Now ready to configure the VM.  Example of a finished Serial Port configuration:















Redirect Linux Console to Serial

1. Test serial out with: (should appear in serial output file specified above)
echo "hello" > /dev/ttyS0 
2. Modify Grub to have Linux Kernel also send console output to Serial: (/boot/grub/grub.conf)
  • Comment out splash screen (optional)
  • Add serial and terminal settings below "hidden menu" (optional)
  • Add kernel options (this is the important part)
# splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
serial --unit=1 --speed=19200
terminal --timeout=8 console serial
title CentOS
  ...
  kernel ... console=tty0 console=ttyS0,19200n8
3. (Optional) Create serial virtual console, append to /etc/inittab: (useful for login through serial)
S0:23:respawn:/sbin/agetty -h -L ttyS0 19200 vt100
  • Note: This would be useful if you change the output type from file to something bidirectional (physical serial, pipe, network) that you could login from (if needed)
4. Reboot.  Console output should now appear in the serial output file.

Test a Kernel Panic

To quickly test a kernel panic:
echo c > /proc/sysrq-trigger

Auto Answer Append/Replace Question

To auto answer the append/replace question that occurs when you now power on this VM: (http://kb.vmware.com/kb/1027096http://kb.vmware.com/kb/1027096)
1. Power off the virtual machine.
2. In the vSphere Client, right-click the virtual machine and choose Edit Settings.
3. Click the Options tab.
4. Under Advanced, select General and then click Configuration Parameters.







5. Click Add Row.
6. In the new row, enter "answer.msg.serial.file.open" for the Name and enter a Value of either "Append" or "Replace".
answer.msg.serial.file.open = Append

7 .Click OK in the Configuration Parameters window, then click OK in the Virtual Machine Properties window.

References:

  • Add a Serial Port to a Virtual Machine in the vSphere Client - http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vsphere.vm_admin.doc_50%2FGUID-A779C84D-4324-4D32-AF43-BBD962ABC9E3.html
  • VMware vSphere 4 - ESX and vCenter Server - Add an Output Serial Port - http://pubs.vmware.com/vsphere-4-esx-vcenter/index.jsp?topic=/com.vmware.vsphere.webaccess.doc_40/adding_hardware_to_a_virtual_machine/t_add_an_output_serial_port.html
  • Linux: Configure / Enable Serial Console By Editing GRUB Boot Loader - http://www.cyberciti.biz/faq/linux-serial-console-howto/
  • VMware KB: Powering on a virtual machine pauses at 95% while waiting for a question to be answered - http://kb.vmware.com/kb/1027096