Hi,
I need to add a software RAID 1 to our development server. Actually it is a used server so I cannot do it during installation phase. After searching a bit into the web I found a very nice guide here.
Archive for the ‘Work stuff’ Category
Creating software RAID on living CentOS
Monday, May 17th, 2010New web vocalization service
Monday, February 22nd, 2010
In the last months we released under our brand name the web vocalization service. This service is able to read your site only adding a link/form on your pages. In the next days you can find on our site the various pricing, initially only three version will be available: Free (with advertising), Basic and Plus.
We have in development some platforms integration too, for now Wordpress (soon available on this blog obviously) and Drupal, in the next months some other platforms will be take in care (if you need some specific platform integration does not hesitate to ask).
Let me to know your feedback.
Increase disk size of Xen VM
Saturday, November 21st, 2009
Looking for a fast and safe mode to increase the size of a Xen VM I find this link that match exactly my situation: a image disk with only two partitions, the root partition and a swap partition.
So this is the steps that I followed to reach my goal:
- create a backup of the diskimage that you want to modify
- shutdown domU
- add extra space to the image by entering: dd if=/dev/zero bs=1M count=1024 >> /path/to/diskimage (this would add another 1024M to the DomU image)
- boot domU
- disable swap partitions by entering: swapoff /dev/xvda2 (or what corresponds to your setup)
- fdisk /dev/xvda (or what corresponds to your setup)
- press p + enter so see the whole disksetup
- delete the second swap partition by entering d + enter and then 2 + enter
- delete the system partion by entering d + enter and then 1+enter
- recreate the system partition with the same start cylinder than the older one but an end-cylinder bigger than the old cylinder value. press n <enter> p <enter> 1 <enter> and then enter the values
- recreate the swap partition (with n <enter> p <enter> 2 <enter> and appropriate values
- chance the partition type of partition 2 to swap by pressing: t <enter> 2 <enter> 82 <enter>
- exit fdisk by pressing w <enter>
- execute: mkswap /dev/xvda2 to make the swap space ready
- reboot domU
- execute: resize2fs /dev/xvda1
Be aware that if you have a different partition schema this would not work!
Force time to a AWS Instance
Friday, November 20th, 2009How To create a CentOS 5.3 EC2 AMI
Sunday, October 25th, 2009Hi,
after looking some usefull guides to create Amazon Machine Image based on CentOS distribution, I decide to write the steps that i followed.
First of all we need of a CentOS machine, if you don’t have it use a virtual machine program (on my Kubuntu based laptop I use VirtualBox), once we have it login and start:
-
create image file (in this case about 1,1GB of space reserved), take in mind that this will be the size of your / mountpoint on AWS, so if you want to use the whole size use 10GB (count=10240)
dd if=/dev/zero of=base-server.fs bs=1M count=1024
-
then create the file system
mke2fs -F -j base-server.fs
-
create a mount point and mount the image file
mkdir /mnt/ec2-fs
mount -o loop base-server.fs /mnt/ec2-fs
-
prepare a base filesystem structure
mkdir /mnt/ec2-fs/dev
/sbin/MAKEDEV -d /mnt/ec2-fs/dev/ -x console
/sbin/MAKEDEV -d /mnt/ec2-fs/dev/ -x null
/sbin/MAKEDEV -d /mnt/ec2-fs/dev/ -x zero
mkdir /mnt/ec2-fs/etc
mkdir /mnt/ec2-fs/proc
mount -t proc none /mnt/ec2-fs/proc
-
create a yum-xen.conf file with the repository info (in this case for i386 32bit architecture)
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
exclude=*-debuginfo
gpgcheck=0
obsoletes=1
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
reposdir=/dev/null
metadata_expire=1800
[base]
name=CentOS-5.3 – Base
baseurl=http://mirror.centos.org/centos/5.3/os/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
protect=1
#released updates
[update]
name=CentOS-5.3 – Updates
baseurl=http://mirror.centos.org/centos/5.3/updates/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
protect=1
#packages used/produced in the build but not released
[addons]
name=CentOS-5.3 – Addons
baseurl=http://mirror.centos.org/centos/5.3/addons/i386/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
[extras]
name=CentOS 5.3 Extras $releasever – $basearch
baseurl=http://mirror.centos.org/centos/5.3/extras/i386/
enabled=1
-
install all packages in “Core” group (optionally use “Base” or whatever you want)
yum -c yum-xen.conf --installroot=/mnt/ec2-fs -y groupinstall Core
-
edit network interface configuration file /mnt/ec2-fs/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
-
turn on networking editing file /mnt/ec2-fs/etc/sysconfig/network
NETWORKING=yes
-
create the file /etc/hosts and add at least the localhost interface
echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts
-
copy your resolv.conf, when boot from AWS DHCP was used
cp /etc/resolv.conf /mnt/ec2-fs/etc/resolv.conf
-
edit the file /mnt/ec2-fs/etc/fstab (32 bit linux machine match only m1.small and c1.medium instance with this mount points)
/dev/sda1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
/dev/sda2 /mnt ext3 defaults 0 0
/dev/sda3 swap swap defaults 0 0
-
if you need more packages install now with yum
yum -c yum-xen.conf --installroot=/mnt/ec2-fs -y install wget
yum -c yum-xen.conf --installroot=/mnt/ec2-fs -y install curl
- disable selinux in /mnt/ec2-fs/etc/selinux/config by setting SELINUX=disabled
-
move TLS library out of the way (if you have it)
mv /mnt/ec2-fs/lib/tls /mnt/ec2-fs/lib/tls.disabled
- put your ssh public key for root user (if you want to use another user, create it) in /root/.ssh/authorized_keys or read the following step if you prefer to use the AWS assigned key-pair
-
create the file /usr/local/sbin/get-aws-credentials.sh (have you installed curl? is needed for this script)
#!/bin/sh
if [ ! -d /root/.ssh ] ;
then mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Fetch public key using HTTP
curl -f http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-key
if [ $? -eq 0 ] ;
then
cat /tmp/my-key >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm -f /tmp/my-key
fi
make it executable
chmod +x /usr/local/sbin/get-aws-credentials.sh
add it to /etc/rc.local
# get AWS credentials
/usr/local/sbin/get-aws-credentials.sh
-
chroot into your image
chroot /mnt/ec2-fs /bin/bash
-
start your services at desired run level
chkconfig --level 345 sshd on
then exit from chroot
exit
-
umount image file
umount /mnt/ec2-fs/proc
umount -d /mnt/ec2-fs
Now your image file is ready, simply create bundle volume and upload to S3
-
install ruby, download ec2-ami-tools and install it
yum install ruby
wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm
rpm -Uvh ec2-ami-tools.noarch.rpm
-
create bundle volume (put file in /tmp)
ec2-bundle-image -i base-server.fs -c my-cert.pem -k my-private-key.pem -u 1234-5678-9101 (amazon account id)
-
upload to Amazon S3
ec2-upload-bundle -b base-server -m /tmp/base-server.fs.manifest.xml -a my-aws-access-key-id -s my-secret-key-id
Now you can register an AMI and launch your instance.
Enjoy!
Distribute application with Ant
Wednesday, July 30th, 2008Hi guys,
yesterday I spent some of my time looking for a tool to make a better distribution of our java application. No, I’m not talking about a java installer or something else, but only a way to distribute our internal tools in a single jar.
In the paste I’ve used Uberjar with maven but now I’m using ant and after a lot of try I choose One-Jar; but it works only with ant, probably the best solution is to try a way that work with maven too. Have you a suggest for me?
HOW TO… become an efficient coder
Friday, April 25th, 2008Releasing Dixero…
Saturday, April 12th, 2008Hola guy, in this days we are releasing another beta of Dixero, especially we have started to release public accounts.
“Dixero is a free and innovative Web-based tool which allows you to listen to your favorite RSS feeds directly online, on your computer as a Podcast, or using a portable device, like an iPod!
At last, with Dixero, you can aggregate your favorite feeds from the most recognized media companies and blogs, transforming posts into audio with different voices”
So, if you are interested to listen your preferred feeds on your iPod (or your mp3 portable player), or simple listen it also on the web with your browser don’t hesitate to join and enjoy
.
Thanks to Sketchin guys for the effort needed to reach this goal and for this promo
.
I’m still alive…
Wednesday, March 21st, 2007Yes, I know, I don’t blog from a lot of time, but in the last months I don’t have much time…
From 15th January I was in Lugano for follow an interesting project based on Cocoon framework with a very nice AJAX client.
During this project I tried to port some flowscript to Javaflow, but in Cocoon 2.1 the Javaflow implementation is not complete and the are some boring issues. So the porting was put in pause, waiting for a official 2.2 release.
In the meanwhile we need some features like the possibility to load some selectionlist values into CForms widgets during the bind (not at declaration time). For this I wrote two components that during the bindLoad() phase load into the widget the model’s collection
…
<fb:selectionlist-value id=”l-country” path=”detail/country/id”>
<fb:selection-list path=”allCountries” value=”id” label=”name”/>
</fb:selectionlist-value>
…
I think that this can be a common issue, so I will clean the code and contribute it.
Selenium test without X server
Friday, August 11th, 2006I’ve the need to execute some Selenium test on a server without the X server up. This test are managed by CruiseControl, so the are auto-executed in a batch mode.
A browser instance is needed by Selenium, so I’ve two choice for execute it without X: use of the X Virtual Frame Buffer or use of the VNC. I’ve choosed the second!
For doing this I need only of this some commands:
a) vncserver :1 -geometry 1024×768 -depth 16
This command start a server with a size of 1024×768 and 16bit for the color on display addressed by “:1″.
If you want to use a particular windows manager edit the .vnc/xstartup file.
2) execute ‘export DISPLAY=:1′ for using the correct display from CruiseControl
3) start CruiseControl
4) have fun!

