Solution for VMware tools not running after Linux kernel upgrade in guest VM
In this article, we will discuss solutions when VMware tools are not running after the Linux kernel upgrade.
Cause :
After kernel upgrade in the Guest VM Linux machine, you may see VMware tools are not running. This is because there are VMware tools modules that runs using kernel library files. After a kernel upgrade, they point to different library files than the one currently used by the kernel and hence failed to start.
Solution :
The issue can be resolved by reconfiguring VMware tools after the kernel upgrade. This process is on the fly and does not require downtime.
Login to Guest Linux operating system using root account and run reconfiguration script /usr/bin/vmware-config-tools.pl
You will be asked a few choices to make. If you know about those modules you choose your answers according to your requirement and just hit enter to accept defaults. See below sample output –
root@kerneltalks # /usr/bin/vmware-config-tools.pl
Initializing...
Making sure services for VMware Tools are stopped.
Found a compatible pre-built module for vmci. Installing it...
Found a compatible pre-built module for vsock. Installing it...
The module vmxnet3 has already been installed on this system by another
installer or package and will not be modified by this installer.
The module pvscsi has already been installed on this system by another
installer or package and will not be modified by this installer.
The module vmmemctl has already been installed on this system by another
installer or package and will not be modified by this installer.
The VMware Host-Guest Filesystem allows for shared folders between the host OS
and the guest OS in a Fusion or Workstation virtual environment. Do you wish
to enable this feature? [no]
Found a compatible pre-built module for vmxnet. Installing it...
The vmblock enables dragging or copying files between host and guest in a
Fusion or Workstation virtual environment. Do you wish to enable this feature?
[no]
VMware automatic kernel modules enables automatic building and installation of
VMware kernel modules at boot that are not already present. This feature can
be enabled/disabled by re-running vmware-config-tools.pl.
Would you like to enable VMware automatic kernel modules?
[no]
Do you want to enable Guest Authentication (vgauth)? Enabling vgauth is needed
if you want to enable Common Agent (caf). [yes]
Do you want to enable Common Agent (caf)? [yes]
No X install found.
Creating a new initrd boot image for the kernel.
NOTE: both /etc/vmware-tools/GuestProxyData/server/key.pem and
/etc/vmware-tools/GuestProxyData/server/cert.pem already exist.
They are not generated again. To regenerate them by force,
use the "vmware-guestproxycerttool -g -f" command.
vmware-tools start/running
The configuration of VMware Tools 10.0.6 build-3560309 for Linux for this
running kernel completed successfully.
You must restart your X session before any mouse or graphics changes take
effect.
You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the
command line.
To enable advanced X features (e.g., guest resolution fit, drag and drop, and
file and text copy/paste), you will need to do one (or more) of the following:
1. Manually start /usr/bin/vmware-user
2. Log out and log back into your desktop session; and,
3. Restart your X session.
Enjoy,
--the VMware team
If you are ok to accept the default and want the script to run non-interactive, run it with -d default switch.
Failed to mount cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 on /var/adm/mount/AP_0xFre2nn: Mounting media failed (mount: no medium found on /dev/sr0)
Detailed error snippet below :
# zypper in salt-minion
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 16 NEW packages are going to be installed:
libzmq3 python-Jinja2 python-MarkupSafe python-PyYAML python-backports.ssl_match_hostname python-futures python-msgpack-python python-netaddr python-psutil
python-pycrypto python-pyzmq python-requests python-simplejson python-tornado salt salt-minion
The following 2 recommended packages were automatically selected:
python-futures python-netaddr
The following 15 packages are not supported by their vendor:
libzmq3 python-Jinja2 python-MarkupSafe python-PyYAML python-backports.ssl_match_hostname python-futures python-msgpack-python python-psutil python-pycrypto
python-pyzmq python-requests python-simplejson python-tornado salt salt-minion
16 new packages to install.
Overall download size: 9.0 MiB. Already cached: 0 B. After the operation, additional 48.0 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package python-netaddr-0.7.10-8.5.noarch (1/16), 896.9 KiB ( 4.2 MiB unpacked)
Failed to mount cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 on /var/adm/mount/AP_0xFre2nn: Mounting media failed (mount: no medium found on /dev/sr0)
Please insert medium [SLES12-SP1-12.1-0] #1 and type 'y' to continue or 'n' to cancel the operation. [yes/no] (no): n
Problem occured during or after installation or removal of packages:
Installation aborted by user
Please see the above error message for a hint.
Cause :
This error is nothing but zypper trying to read repo information from CD/DVD. Since one of the zypper repo is configured to look for mountable media, it’s doing its job. But, currently, that media is not connected to the system, and hence zypper is failing to read details from it.
Solution :
List your zypper repo using the command :
# zypper lr --details
# | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service
--+----------------------+----------------------+---------+-----------+---------+----------+--------+----------------------------------------------------------------------------------------+--------
1 | SLES12-SP1-12.1-0 | SLES12-SP1-12.1-0 | Yes | (r ) Yes | No | 99 | yast2 | cd:///?devices=/dev/disk/by-id/ata-VMware_Virtual_IDE_CDROM_Drive_10000000000000000001 |
2 | sles12-sp1-bootstrap | sles12-sp1-bootstrap | Yes | ( p) Yes | No | 99 | rpm-md | http://repo.kerneltalks.com/pub/repositories/sle/12/1/bootstrap |
Here you can see first repo’s URI is pointing to a CD. Now you can mount the CD or you can disable that repo for time being and move ahead with the installation.
Use the below command to disable CD repo. Make sure you enter correct repo number in command (here it’s 1)
# zypper mr --disable 1
Repository 'SLES12-SP1-12.1-0' has been successfully disabled.
Once CD/DVD repo is disabled successfully, re-run zypper installation command and you will be able to execute it without any errors!
-r switch gives you your current kernel version. -v gives you your current patch level. You can see in the above output our RHEL6 system has 2014 (almost 4 years old) patched kernel. We will patch it to the latest one in this article.
How to upgrade the kernel in RHEL
Patching kernel is Linux is the same as upgrading to the latest kernel. Make sure you have yum configured properly to receive the latest packages from trusted repositories. If you do not have/want yum configurations, you can download the latest kernel and its dependencies from the Red Hat portal and keep it ready on the server for installation.
Never replace the existing kernel by updating the package. Always install a new kernel package so that your old kernel still resides on the server and you can boot it if your server/application is not behaving well with the new kernel.
To install the latest kernel, use rpm -ivh <rpm names> or yum install kernel command.
root@kerneltalks # yum install kernel
Loaded plugins: amazon-id, rhui-lb, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package kernel.x86_64 0:2.6.32-696.20.1.el6 will be installed
--> Processing Dependency: dracut-kernel >= 004-408.el6 for package: kernel-2.6.32-696.20.1.el6.x86_64
--> Processing Dependency: kernel-firmware >= 2.6.32-696.20.1.el6 for package: kernel-2.6.32-696.20.1.el6.x86_64
--> Running transaction check
---> Package dracut-kernel.noarch 0:004-336.el6_5.2 will be updated
---> Package dracut-kernel.noarch 0:004-409.el6_8.2 will be an update
--> Processing Dependency: dracut = 004-409.el6_8.2 for package: dracut-kernel-004-409.el6_8.2.noarch
---> Package kernel-firmware.noarch 0:2.6.32-431.29.2.el6 will be updated
---> Package kernel-firmware.noarch 0:2.6.32-696.20.1.el6 will be an update
--> Running transaction check
---> Package dracut.noarch 0:004-336.el6_5.2 will be updated
---> Package dracut.noarch 0:004-409.el6_8.2 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Installing:
kernel x86_64 2.6.32-696.20.1.el6 rhui-REGION-rhel-server-releases 32 M
Updating for dependencies:
dracut noarch 004-409.el6_8.2 rhui-REGION-rhel-server-releases 127 k
dracut-kernel noarch 004-409.el6_8.2 rhui-REGION-rhel-server-releases 28 k
kernel-firmware noarch 2.6.32-696.20.1.el6 rhui-REGION-rhel-server-releases 29 M
Transaction Summary
========================================================================================================================================================================
Install 1 Package(s)
Upgrade 3 Package(s)
Total download size: 61 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): dracut-004-409.el6_8.2.noarch.rpm | 127 kB 00:00
(2/4): dracut-kernel-004-409.el6_8.2.noarch.rpm | 28 kB 00:00
(3/4): kernel-2.6.32-696.20.1.el6.x86_64.rpm | 32 MB 00:00
(4/4): kernel-firmware-2.6.32-696.20.1.el6.noarch.rpm | 29 MB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 45 MB/s | 61 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : dracut-004-409.el6_8.2.noarch 1/7
Updating : dracut-kernel-004-409.el6_8.2.noarch 2/7
Updating : kernel-firmware-2.6.32-696.20.1.el6.noarch 3/7
Installing : kernel-2.6.32-696.20.1.el6.x86_64 4/7
Cleanup : dracut-kernel-004-336.el6_5.2.noarch 5/7
Cleanup : dracut-004-336.el6_5.2.noarch 6/7
Cleanup : kernel-firmware-2.6.32-431.29.2.el6.noarch 7/7
Verifying : kernel-firmware-2.6.32-696.20.1.el6.noarch 1/7
Verifying : kernel-2.6.32-696.20.1.el6.x86_64 2/7
Verifying : dracut-kernel-004-409.el6_8.2.noarch 3/7
Verifying : dracut-004-409.el6_8.2.noarch 4/7
Verifying : dracut-004-336.el6_5.2.noarch 5/7
Verifying : kernel-firmware-2.6.32-431.29.2.el6.noarch 6/7
Verifying : dracut-kernel-004-336.el6_5.2.noarch 7/7
Installed:
kernel.x86_64 0:2.6.32-696.20.1.el6
Dependency Updated:
dracut.noarch 0:004-409.el6_8.2 dracut-kernel.noarch 0:004-409.el6_8.2 kernel-firmware.noarch 0:2.6.32-696.20.1.el6
Complete!
If you are on a test system and don’t mind wiping out old kernel then you can directly use yum update kernel or rpm -Uvh <rpms> command and update kernel.
If you observe, yum resolved dependencies too. If you are opting to install from rpm you need to download all dependencies as well. Here is the list of dependencies depending on your RHEL version :
Now, if you observe,/boot/grub/grub.conf your newly installed kernel entry is added before your old kernel entry. This gives new kernel priority to boot when you reboot the system. parameter default=0 says the system needs to be booted from the very first kernel defined below. Kernel entries numbering starts from 0. Make sure this parameter value points to your newly installed kernel and reboot the system.
# cat /boot/grub/grub.conf
default=0
timeout=1
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.32-696.20.1.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-696.20.1.el6.x86_64 console=ttyS0 ro root=UUID=9996863e-b964-47d3-a33b-3920974fdbd9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 xen_blkfront.sda_is_xvda=1 console=ttyS0,115200n8 console=tty0 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM
initrd /boot/initramfs-2.6.32-696.20.1.el6.x86_64.img
title Red Hat Enterprise Linux (2.6.32-431.29.2.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-431.29.2.el6.x86_64 console=ttyS0 ro root=UUID=9996863e-b964-47d3-a33b-3920974fdbd9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 xen_blkfront.sda_is_xvda=1 console=ttyS0,115200n8 console=tty0 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_LVM rd_NO_DM
initrd /boot/initramfs-2.6.32-431.29.2.el6.x86_64.img
After rebooting, you can see your system is running with a new updated kernel!
root@kerneltalks # reboot
Broadcast message from root@kerneltalks
(/dev/pts/0) at 2:14 ...
The system is going down for reboot NOW!
root@kerneltalks # uname -r
2.6.32-696.20.1.el6.x86_64
root@kerneltalks # uname -v
#1 SMP Fri Jan 12 15:07:59 EST 2018
You can see kernel is upgraded from 2.6.32-431.29.2.el6.x86_64 to 2.6.32-696.20.1.el6.x86_64. And patch level from July 2014 to Jan 2018.
How to upgrade the kernel in Suse Linux
Let’s start with checking current kernel version and patch info.
root@kerneltalks # uname -r
3.0.101-108.21-default
root@kerneltalks # uname -v
#1 SMP Fri Dec 29 10:25:37 UTC 2017 (5f5299b)
Perform kernel upgrade with zypper or if you have kernel rpm package with you, you can use rpm -ivh <kernel_rpm_path> to perform the multi-kernel install (not update)
You have an option to perform distribution upgrade using zypper dup as well which includes updating all packages to available updates. But most of the cases it’s not recommended.
# zypper up kernel-default
Refreshing service 'cloud_update'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following packages are going to be upgraded:
kernel-default kernel-default-base
2 packages to upgrade.
Overall download size: 40.2 MiB. After the operation, additional 1.2 MiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package kernel-default-base-3.0.101-108.35.1.x86_64 (1/2), 15.7 MiB (23.2 MiB unpacked)
Retrieving: kernel-default-base-3.0.101-108.35.1.x86_64.rpm [done]
Retrieving package kernel-default-3.0.101-108.35.1.x86_64 (2/2), 24.5 MiB (86.1 MiB unpacked)
Retrieving: kernel-default-3.0.101-108.35.1.x86_64.rpm [done]
Installing: kernel-default-base-3.0.101-108.35.1 [done]
Additional rpm output:
Kernel image: /boot/vmlinuz-3.0.101-108.35-default
Initrd image: /boot/initrd-3.0.101-108.35-default
Root device: /dev/hda1 (mounted on / as ext3)
Kernel Modules: xen-platform-pci xen-vbd-upstream xen-vbd xen-balloon xen-vnif scsi_mod libata ata_piix jbd mbcache ext3 edd usb-common usbcore ehci-hcd ohci-hcd uhci-hcd xhci-hcd crc-t10dif sd_mod
Features: acpi fv_guest block resume.userspace resume.kernel
32723 blocks
Installing: kernel-default-3.0.101-108.35.1 [done]
Additional rpm output:
Kernel image: /boot/vmlinuz-3.0.101-108.35-default
Initrd image: /boot/initrd-3.0.101-108.35-default
Root device: /dev/hda1 (mounted on / as ext3)
Kernel Modules: hwmon thermal_sys thermal processor fan xen-platform-pci xen-vbd-upstream xen-vbd xen-balloon xen-vnif scsi_mod libata ata_piix ata_generic jbd mbcache ext3 edd usb-common usbcore ehci-hcd ohci-hcd uhci-hcd xhci-hcd hid usbhid crc-t10dif sd_mod
Features: acpi fv_guest block usb resume.userspace resume.kernel
33630 blocks
# reboot
Broadcast message from root (pts/0) (Sat Mar 3 04:47:12 2018):
The system is going down for reboot NOW!
Reboot the system and then check new kernel version.
# uname -r
3.0.101-108.35-default
# uname -v
#1 SMP Mon Feb 19 21:13:08 UTC 2018 (251ec24)
You can see the kernel is upgraded from 3.0.101-108.21-default to 3.0.101-108.35-default. And patch date from Dec 2017 to Feb 2018!
How to upgrade the kernel in Ubuntu Linux
Start with checking your current kernel version and patching date
# uname -v
#16-Ubuntu SMP Fri Jan 20 15:31:12 UTC 2017
# uname -r
4.9.0-15-generic
Now visit the Ubuntu Kernel page and download the kernel of your choice which is matching with your server arch using wget. We chose to upgrade to 4.10 kernel. Since we have generic kernel we downloaded generic kernel files from 4.10 directory.
TorGuard VPN review! TorGuard offers VPN services backed by solid 3000+ server infrastructure spread across 50 countries. Read more about TorGuard VPN, features, and pricing.
Review for TorGuard VPN services: The best tool to secure your web traffic. TorGuard is a leading firm in VPN services with the tagline ‘Don’t Risk Your Online Privacy. Go Stealth with TorGuard‘. So let’s get our hands on TorGuard VPN and see its features. But first let’s try to figure out, what is VPN? why VPN? and why do I need my web traffic secured?
VPN is a short form of Virtual Private Network. It’s about privacy. In today’s world, data is everything. Big companies, businesses always look for data to analyze and decide business strategy. Public domain data is gathered from internet traffic. If you are connected to free wifi then there are maximum chances your internet traffic is being monitored and maybe being sold to such companies. So online privacy is a key area to focus on these days. That’s where a VPN comes into the picture. VPN creates a secure tunnel between you and the VPN server. All your internet traffic will be routed through this tunnel and then to the internet from the VPN server. This way you keep your anonymity online and no middleman can intercept/ snoop your internet traffic.
TorGuard VPN
Now we know little basic about VPN, let’s get our hands on TorGuard VPN. To use TorGuard VPN you have plenty of options depending on which device you want to use on. They have windows, Linux, MAC OS software setups. They also have Android, iOS apps, Mozilla, Chrome browser extensions & router setup scripts. All these downloads can be explored on their download page. Another cool way to connect TorGuard is by using the Cisco AnyConnect client. Here is a small guide by TorGuard to set up the Cisco AnyConnect clients to use their services.
For quick hands-on, we are using the Chrome Browser extension. The extension is available in the Chrome store here. After installing you will be asked for login credentials.
You have an option to save your credentials so that you need not enter them every time you connect. You also have an option to select a country from which your VPN server will be selected to connect you to the internet. Connection type by default SSL since you want to secure connection but HTTP protocol is also available if you choose to. It also offers port selection if you opt for it.
Observe your current IP and hit the connect button. Once connected your current IP will be changed and the extension icon on the Chrome bar turns green. Extensive information about your IP can be fetched by visiting TorGurd’s ‘What is my IP‘ page.
Do you know: TorGuard’s website detects your current IP and ISP details and displays it to you in websites header menu bar! Go check yourself.
TorGuard has a massive network across the globe for serving you. Around 3000+servers in 50+ countries serving different VPN services to TorGuard customers. You can figure out how much extensive mesh of servers they have to back these numbers. The complete list of their infrastructure can be found here.
TorGuard VPN features
Simply changing IP does not help to keep you anonymous online. So TorGuard has tonnes of features and add-ons to choose from. TorGuard offers simultaneous connections, unlimited speed & bandwidth, cross-platform compatibility. With security norms, it has OpenVPN/PPTP/L2TP/iKEv2/SSTP, Multiple Ciphers AES128/AES256, Stealth Proxy (ShadowProxy) to offer. Advertisers always find a way to sneak into your traffic and get the data for their partners. TorGuard has very strong ad network blocking along with malware blocking. It also blocks WebRTC/DNS/IPv6 Leaks.
TorGuard has anonymous webmail service as well. G/PGP end-to-end encrypted webmail for secured communication. It comes with MITM Protection which guard email against Man in the Middle Attacks. TorGuard offers higher-speed networks, dedicated IPs, residential IPs of specific countries as add-ons to its existing customers.
Plans and pricing
A basic anonymous VPN comes with $9.99 monthly. It’s best if you are just starting off with a VPN and wanted to try out before you invest a bigger amount in it. For an average user, their quarterly bundle pack is super. It’s for $19.99 and includes most of the features. All anonymous VPN plans can be seen here.
We have special 50% discounts for KernelTalks readers for Anonymous Proxy, Anonymous VPN, Anonymous Webmail products. Visit TorGuard with this link and enter coupon code KRNTLKS
We mentioned above about anonymous webmail service by TorGuard. It comes with free with VPN plans but only 10MB limited storage. For unlimited storage, you have to opt-in monthly, quarterly, or yearly plans which are for $6.95, $15.95 and $49.95. You can use coupons and links above to get heavy discounts!
Closing note
TorGuard VPN is the security niche essential tool for internet savvy people caring about their privacy and personal space. It offers basic services at a very low price and can be of great use with add-ons at the stack of some extra bucks.
Complete Spyrus WorkSafe Linux2Go drive review covering hardware and software features along with performance parameters.
Spyrus WorkSafe Linux2Go is your personal Linux machine on a USB stick with military-grade security. Do you work in IT and move from office to office frequently? Do you travel a lot? Do you aim for lesser luggage to carry? You don’t want to carry the laptop everywhere you travel? then Spyrus WorkSafe is the solution for you. Its a secured USB device with SSD storage carrying complete OS and loaded with heavy security features. You just need a live computer with a keyboard, mouse, and USB port to tuck in. Plugin your Spyrus device, boot from USB with Spyrus, and you are good to go. Your workplace, your personal computer is with you all the time! And it’s super packed with hardware and software layer of securities that you should not be worried about someone trying to tamper it.
Let’s get more familiar with this device and get into its specification.
Physical dimensions
It’s a rock-solid device with a black metal casing. The casing is inside filled with an epoxy filling which saves the device from physical shocks and tampering attempts.
The metal cap is designed large enough to cover the port physically well. It even clicks fit when closed so that it won’t loose open while you store the device in a bag, drawers, etc. Ensuring the device is well protected from dirt, moisture, physical damage, etc when not in use and sitting idle. The metal cap is secured with a soft rubber tether so that you won’t lose it when not closed. With the cap perfectly closed in, the device can withstand 1 meter of water depth for several minutes without any impact. Such kind of physical security is provided to the device which leaves a very rare chance of physical damage to the device.
The device measures 86.1 mm x 24.2 mm x 10.8 mm. It’s pretty large enough than normal USB storage sticks. With all this thickness, it’s not possible to connect any other USB device in a neighboring port. You may want to use a USB extension cable to access neighboring USB port. The casing does have a strap hole to attach keychain or sort of accessories.
Along with physical military-grade security, the device has so much to offer on software security front as well.
Device booting is protected by ToughBoot bootloader which is password protected. Only if you have ToughBoot password, you can boot device. When not booted into and plugged into to already running machine, you can use it as a smart card logon. The device is also loaded with CCID (Chip Card Interface Device) support and embedded readerless smart card for authentication. This smart card authentication can be used for secured network accesses or with PKI digital certificate functions.
The device is installed with BitLocker which offers full disk encryption for an extra layer of security. You can even create a separate encrypted partition with it. The device also offers military-grade XTS-AES 256 hardware-based encryption which is purely happening on the device only. Resources needed for hardware-based encryption are equipped with the device and it doesn’t rely on the host machine’s resources for encryption.
Spyrus offers central management of devices through SEMS (Spyrus Enterprise Management System) It helps to manage your devices centrally through one console. You can even get the help of it when you forgot your device passwords. It can also enable or disable drives remotely so you have full control of the device whether you have it physically with you or not.
Spyrus Linux2Go device is also configured with hardware read-only mode which can be added security for very sensitive data placed on it. More of such a technical feature list can be found here on their webpage.
Performance
The device is pretty quick to boot. It comes up to the ToughBoot password prompt within few seconds. My Spyrus WorkSafe Linux2Go drive booted in 17 seconds. Read-write speeds seem promising. Spyrus claimed sequential read up to 249 MB/sec and sequential write up to 238 MB/sec.
The device does get warm after long use. Performance is super on USB 3.0 ports and yes they are backward compatible with USB 2.0 ports as well. But you won’t get that optimum performance on 2.0 ports. Spyrus guarantees data retention on the drive for 10 years which is pretty good enough.
Spyrus WorkSafe Linux2Go drive datasheet here for your reference. Some more numbers, performance parameters are in this datasheet.
Where to buy
Spyrus Linux2Go drives are available in 32GB, 64GB, 128GB, 256GB, 512GB & 1TB sizing. As of today (at the time of writing this review) drives are not available to buy online directly. You need to contact Spyrus for your purchase. Spyrus does have the online store here but Linux2Go drives are not on sale there. Pricing details are not available online from Spyrus but approximately it varies from $2.5 to $4 per GB. Higher size device will have a lower price per GB and vice versa.
So why wait…Go get your copy of Linux2Go drive and carry your Linux world with you wherever you go!