Suite of perl scripts in spirit of xen-tools but for OpenVZ
Contents: [Dobrica Pavlinušić's random unstructured stuff]
|
Installation
Install perl dependencies from Debian packages
This step is optional. If you don't want to use perl modules from packages provided by your distribution, skip this step, and modules will be automatically installed in next one.
sudo apt-get install libio-prompt-perl libregexp-common-perl libdata-dump-perl
Install utilities from Debian packages
sudo apt-get install host
Checkout source
svn co svn://svn.rot13.org/vz-tools/trunk vz-tools
Check and install perl modules from CPAN
cd vz-tools
perl Makefile.PL
make
Please note that there is no need to run make install
Tools are runnable from current directory. This will probably change in later versions.
Usage
This is quick hand-on overview of commands to get you started.
All commands must be started with root priviledges
vz-create.pl
This will perform following steps:
- Create new virtual machine bootstraped using debootstrap
- Change root password
- Create single user
- Make small custimization like installing vim and apt-iselect
All commands will be echoed on screen, even passwords. However, if you want to learn steps in creating OpenVZ VE, this is very helpful.
To run interactive session which asks questions use:
./vz-create.pl
Other alternative is to just enter hostname (defined in /etc/hosts for example)
./vz-create.pl my-new-ve.exmple.com
or by specifing IP adress
./vz-create.pl 192.168.42.42
vz-optimize.pl
vz-clone.pl
root@black:~/vz-tools# time ./vz-clone.pl create 1001
Clone VE 1001 -> 101001
found LV /dev/vg/vz for /vz
vzquota : (warning) Quota is running, so data reported from quota file may not reflect current values
quota for 1001 | 10485760 < 20971520 | usage: 7826792
using existing /dev/vg/vz-clone-101001
Mounting /dev/vg/vz-clone-101001 to /tmp/vz-clone-101001
rsync /vz/private/1001 -> /tmp/vz-clone-101001/private
101001 new IP number: 10.42.42.42
101001 new hostname: clone-42.example.com
Please review config file: /etc/vz/conf/101001.conf
Add NAT for new VE with: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Start clone of 1001 with: vzctl start 101001
real 1m57.347s
user 0m2.252s
sys 0m8.591s
Source
Updated by Dobrica Pavlinušić on Nov 8 4:49am
Posted by Dobrica Pavlinušić on Oct 15 3:05am
We have few mp3 players which no longer work, but are still under warranty. So idea was to pick another device (which will hopefully work longer). However, on-line shops leave a lot to be desired if you want to just do quick filtering of data.
As a very fortunate incident, I stumbled upon Exhibit from SMILE project at MIT which brought us such nice tools as Timeline and Potluck.
So, I scraped web, converted it to CSV and tried to do something with it. In the process I again re-visited the problem of semi-structured data: while data is separated in columns, one column has generic description, player name and all characteristics in it.
So, what did I do? Well, I started with CPAN and few hours later I had a script which is rather good in parsing semi-structured CSV files. It supports following:
- guess CSV delimiter on it's own (using `Text::CSV::Separator`)
- recognize 10 Kb and similar sizes and normalize them (using `Number::Bytes::Human`)
- splitting of comma (,) separated values within single field
- strip common prefix from all values in one column
- group values and produce additional properties in data
- generate specified number of groups for numeric data, useful for price ranges
- produce JSON output for Exhibit using `JSON::Syck`
"
So how does it look?"http://blog.rot13.org/demo/links/links.html
In the end, it is very similar to the way Dabble DB parses your input. But, I never actually had any luck importing data into Dabble DB, so this one works better for me :-)
This will probably evolve to universal munger from CSV to arbitrary hash structure. What would be good name? Text::CSV::Mungler?
This is a first post in series of posts which will cover one hack a week on my blog. This will (hopefully) force me to write at least one post a week on one side, and provide some historic trace about my work for later.
Updated by Dobrica Pavlinušić on Aug 24 2:07am
Posted by Dobrica Pavlinušić on Aug 24 2:01am
|
Weblog Navigation
Loading...
|