GrokThis.net Community Portal
GrokBlog!
User preferences in Cloud Shell
VPS/Cloud customers may now set user preferences via the cloud-shell application. Currently, we're supporting two such preferences and will continue to expand this list to support a wide array of user-configurable options...
The current variables include:
cpu_arch, which should be '32' or '64'. Default is 64.
autoheal, which should be 1 or 0. Default is 1.
The cpu_arch setting will be used to determine which architecture kernel should be loaded on boot. Please note that the boot_method variable may override this setting. WARNING: the legacy command 'boot32' has been removed in favor of this user-preference.
The autoheal setting will determine whether or not the configured instance pool will be automatically restored/rebooted upon failure.
To set or get these variables, use the commands 'setpref' and 'getpref' as such:
cloud-shell> setpref cpu_arch 32
cloud-shell> setpref autoheal 0
cloud-shell> getpref
$VAR1 = {
'client:NNN:pref:cpu_arch' => '32',
'client:NNN:pref:autoheal' => '0'
};
It should be noted that reimaging your OS currently cannot modify these variables. Thus, if you switch from a 32-bit or 64-bit OS, you must modify the cpu_arch variable manually. This is a forthcoming improvement we must make to the system.
UPDATE: New 'boot_method' preference available!
Currently accepted boot methods are:
- pv - Paravirtualized (default)
- pv_part - Paravirtualized, Partitioned disk
- pvgrub - Paravirtualized, with GRUB
- rescue - Boot into rescue image
Snapshots: Archiving and restore from Cloud-Shell
We are now allowing customer testing of Archive and Restore from our cloud-shell management console (https://secure.grokthis.net/manage/vps). Currently, only our FURY and RORSCHACH nodes have this feature enabled, other nodes will be upgraded to support this during a future scheduled maintenance window.
The process is quite simple, once you login to the shell you should see the standard cloud-shell command prompt:
cloud-shell>
To archive and snapshot your instance, simply run, archive. Note that this will briefly take your instance offline.
cloud-shell> archive
Archiving instance: 000
Instance running. Proceeding.
NOTE: Your instance will now be paused.
This will briefly take your instance offline (~0-60 min)
4 GB 01:01:01 [17 MB/s] [======> ] 100% ETA 0:00:00
192 MB 01:01:01 [17 MB/s] [=====>] 100% ETA 0:00:00
0+N records in
0+N records out
Your instance has been resumed.
cloud-shell>
To restore from your archive, first shutdown the instance, then execute restore:
cloud-shell> shutdown
cloud-shell> status
Guest: shutdown
cloud-shell> restore
4 GB 01:01:01 [17 MB/s] [======> ] 100% ETA 0:00:00
192 MB 01:01:01 [17 MB/s] [=====>] 100% ETA 0:00:00
0+N records in
0+N records out
Your instance has been restored to its prior state.
cloud-shell>
The restore command will return your instance to the last stored archive. This includes disk block storage, swap, and RAM. There should be no need to manually boot the instance after a restore.
Booting with Grub (custom kernels!)
To run a custom kernel, you need only two things, a kernel (of course!) and a GRUB configuration.
Lets start with GRUB. This assumes that you will not be using an initrd file, but you may use one, and that your kernel image will be installed as /boot/vmlinuz:
# mkdir -p /boot/grub
# cat <<EOF > /boot/grub/menu.lst
default 0
timeout 5
title Linux Default
root (hd0)
kernel (hd0)/boot/vmlinuz root=/dev/sda1 ro console=xvc0 clocksource=jiffies
EOF
That is it for GRUB! Now, as for your kernel, you just need to make sure that it is compiled to run as a Xen DomU with paravirtualization. This requires that you use a recent Linux kernel with support for Xen enabled, or you use a patched kernel such as provided by XenSource (http://xenbits.xensource.com/linux-2.6.18-xen.hg)
The compiled kernel image may be placed anywhere inside your filesystem as long as GRUB is configured to point to it. The above example assumes this location is /boot/vmlinuz.
Finally, from the management console, execute the command, "boot-grub". This command is API-accessible. Unfortunately, for now, you will need to manually specify this whenever booting. Your VPS will boot with a system-default image by default, if for instance, the node crashes. This caveat will disappear once we complete a migration of all accounts to a grub-based configuration.
Today's outage
Today, we experienced an outage. Technically, we experienced a few outages.
We initially discovered that our Galadriel server was offline, and furthermore, that the VPS node that it ran upon was also down. We began working on restoring this machine when we were distracted by an incoming DoS attack.
Working (remotely) to extinguish the attack, we found ourselves locked out of the network and triggered a reload of the router. Upon reloading, the system brought up the services in an atypical order triggering a bug/caveat/quirk previously unknown to us. While everything looked good on our side, discussions with upstream carriers indicated that all was not as it appeared. With this input, we quickly located a solution which we began to apply, until...
A storm knocked out electricity in parts of our neighborhood. While we retained power, internet connectivity was lost to our offices (note, we have no servers located in these offices).
Once our branch office internet connectivity was restored, were were able to complete the process of restoring internet connectivity to all servers, restoration of the crashed VPS node and its guest accounts, including the galadriel server.
We apologize for the inconvenience that this caused. This explaination seeks only to provide transparency to our operations so that our customers may know the details of service affecting events.
Free incoming calls via Skype now available!
Please note that in addition to our international (+1) number and US toll-free (+1 800) numbers, we can now accept Skype-to-Skype calls to SkypeID "grokthisnet". Skype-to-Skype calls forward directly into our standard telephone and answering systems, providing an inexpensive option for international customers to contact us by voice without expensive international calling rates.
Please note that due to forwarding delays, Skype calls may require up to 8-10 rings before receiving an answer. If no one is available to take your call, you will (eventually) be forwarded to our answering system.
Kernel upgrade procedure
We frequently get asked how to upgrade kernels, how to upgrade modules, etc. This is actually in our knowledge-base, but I thought it would be useful to toss this onto the blog since we just pushed out a very important kernel upgrade, and want to make sure that this information is as accessible as possible!
1. Simply shutdown your VPS. You must do a full shutdown and not a "reboot".
2. Then, boot the machine from the management console. IMPORTANT: If you have a 32-bit OS, you must use the command "boot32", this will be unnecessary in a future update.
3. Update your modules:
wget -O - http://ftp.grokthis.net/pub/linux/modules/install_modules.sh | /bin/bash
4. You're done! You might want to reboot if you depend on specific modules being available during boot.
Enter to win a contest for a free VPS, or a $400 coupon!
RT @grokthis to win a one-year subscription to a VPS /w 1GB RAM and 48GB disk, or a $400 credit to VPS Village. Contest ends 8/14
On 8/15/09, one winner will be selected at random. No purchase necessary.
Regards,
Eric Windisch
Cloud::Infrastructure
I just wanted to share with everyone the great work (I hope) we're doing with Cloud::Infrastructure, and to announce here the change of name that occurred last week (from Annelidous)! Anyone looking to help can email eric at grokthis dot net, or join #cloud::infrastructure on irc.freenode.org.
Annelidous becomes Cloud::Infrastructure
The cloud client library and server framework has a new name!
PHILADELPHIA-August 4, 2009-The Annelidous project is now known as Cloud::Infrastructure. This change has been made to increase the visibility of the project which aims to provide a standard client library for cloud computing infrastructure for Perl applications, and to provide a framework for the creation of unique infrastructure services. Additionally, Cloud::Infrastructure is now represented at a new web address: www.cloud-framework.org.
The new name was approved by CPAN on Saturday, August 1st. CPAN provides a repository of Perl modules and maintains a list of approved namespaces. Annelidous has already, unofficially, entered CPAN. As the renaming process is completed in August, it will be officially uploaded into CPAN under the new name.
Use cases for Cloud::Infrastructure include the development of end-user or web applications build directly against infrastructure services through a standard client library, the creation of unique infrastructure services, to layer billing, accounting, and localized AAA features onto other cloud infrastructure platforms.
Press Contact:
Eric Windisch
Microsoft Licensing - learning the hard way.
I wanted to make the following public to our customers. I am doing so because I wish to be transparent and forth-coming with our customers and because I very much disagree with Microsoft's tactics here and very much regret ever attempting to do any business with them. I understand that we might be an enigma, not pirating any software, but we are strictly in compliance with our licensing. Free software has made that very exceptionally easy, since the very limited number of commercially licensed applications present on our site has made those applications very easy to keep track of. I intend to scan and include the original letters from Microsoft shortly. Luckily, if it does come down to an audit, we'll be very much protected by the fact that -- we're right.
We have just received a letter, with a subject "RE: Review of reporting obligation fulfillment under your Microsoft Service Provider License Agreements(s) ("SPLA"), Master Agreement XXXXXX." This letter has requested we submit a "Software Assessment", reporting, "any software usage that ... may have been missed". Please accept this as our software assessment.
To my knowledge, we never failed to submit a report, however we did submit many "zero-usage" reports. It was expressed to me at the time, that our SPLA program was terminated as we had been submitting zero-usage reports. This was an accurate and true representation of our usage. This was not, as your letter indicates, a "failure to report".
We signed up for the SPLA program as we wished to broaden our support matrix for our dedicated servers and to provide support for Microsoft SQL Server as a complement to our Linux-based ASP.net hosting. However, we quickly found there to be no viable market for hosting Microsoft offerings. As such, we destroyed all software, removed references to all said software from our web pages, submitted zero-usage reports, and allowed the SPLA contract to be terminated. I should note that we had paid for several months of Microsoft Windows Server and Microsoft SQL Server licensing during a research and testing phase, but for this period our usage was over-reported.
I should stress that we continue to advertise and provide support for web hosting powered by ASP.net. This is offered on top of Linux via the independent Mono framework which only uses the ECMA components. The technology driving the ECMA components are patented by Microsoft, but a grant has been given for use of those patents, allowing royalty-free usage as indicated by Jim Miller of Microsoft. Providing this ASP.net hosting functionality does not require an SPLA license and does not require usage submission reports. Please refer to the following document in regards to the text of Jim Miller's statement:
http://web.archive.org/web/20030424174805/http://mailserver.di.unipi.it/pipermail/dotnet-sscli/msg00218.html
At this time, as prior to joining the SPLA program, our server systems run entirely on the Linux, FreeBSD, and OpenSolaris operating systems. We are extremely confident that we are compliant with all of our software licensing, which consists primarily of BSD, GPL, AGPL, MPL, and CDDA licensed code. This compliance includes but is not limited to contributing source code changes back to the free software community. Likewise, our desktop systems are also in compliance with all licensing, running Linux and Mac OS operating systems.
I understand your desire to be paid for the usage of your software. What I hope you understand is that we are not non-paying customers, we are simply not, in any way, customers of Microsoft or consumers of Microsoft software. Our membership in the SPLA program was simply an attempt to become your customer. To date, we have been dissatisfied with the treatment we have been given in that attempt. Threatening and attacking us will not succeed in converting us into customers or consumers of Microsoft products.
If you have any reason to suspect that we have improperly reported usage of Microsoft products, please indicate your reasons for this suspicion. If there is anything we can do short of an audit to prove this to you, please indicate how we may assist you. However, I believe that our service offerings very much speak for themselves, we are again, as we had originally been, strictly a Linux/Unix shop.
Regards,
Eric Windisch
UPDATE: 5/22/2009 - Microsoft has verbally expressed that this letter was a mistake and that they will be issuing a formal retraction. We'll see when/if this comes, until then we'll wait patiently.
Introducing the GrokThis VPS "Cloud"
In the coming months, we will be extending and enhancing this API, and have plans to support industry standard APIs as they become available. At this time, the ACII API allows developers to obtain a list of available virtual machines, manage and control virtual machines by issue shutdown, reboot, rescue, and boot commands. Very shortly, this API will also allow the creation of new virtual machines.
At this time a utility billing model is not yet available, but the availability of utility billing is expected for Summer 2009.
At this time, an example client script in Perl has been posted:
Download Perl Example
The GrokThis.net VPS Cloud is powered by Annelidous, a free software cloud infrastructure management solution developed internally at GrokThis.net and released to the community under the AGPLv3 license.