script for create xen guest
- Details
- Category: Virtualization
- Written by Mahdi Bahmani Ciahmard
- Hits: 78
###############################################
#This Script Generated for Creating Guest os
#Mehdi Bahmani
#
echo -e '\E[37;44m'"\033[1mContact List\033[0m"
#
# Script to create XEN Guest
#
#
while :
do
clear
echo "-------------------------------------"
echo " Main Menu "
echo "-------------------------------------"
echo " Select your VM Guest Type "
echo "-------------------------------------"
echo "[0] linux Debian 40r5 amd64bit"
echo "[1] linux Centos 5.1 64bit"
echo "[2] winxp "
echo "[3] win2003 r2sp2 32bit"
echo "[4] win2003 r2sp2 64bit"
echo "[5] Exit/Stop"
echo "======================="<br /> echo -n "Enter your menu choice [1-5]: "<br /> read yourch<br /><br />if [ $yourch != "5" ]
then
echo "-------------------------------------"
echo "list of exsiting LVM that in use"
lvs |grep VGVM |grep -v winxpbase
echo "current running XEN Guest list ";xm list
echo " Get your VM Guest Name "
echo "-------------------------------------"
read vmname
if [ -f /etc/xen/vmlist/$vmname ]
then echo "This name in use for another VM Guest";ls /etc/xen/vmlist/$vmname; exit 0 ;
fi
if [ $yourch != "0" ]<br /> then <br /> echo " Get your VM Guest HDD size in Mega Bytes "
echo "-------------------------------------"
read vmhddsize
echo "-------------------------------------"
else
echo " Get your VM Extra Disk's Numbers each disk is in LVM format and 4.4G "
echo "-------------------------------------"
read disknum
echo "-------------------------------------"
fi
echo "Creating Config file in /etc/xen/vmlist/$vmname"
echo "kernel = '/usr/lib/xen/boot/hvmloader'">>/etc/xen/vmlist/$vmname<br /> echo "builder='hvm'">>/etc/xen/vmlist/$vmname<br /> echo "maxmem = '1024'">>/etc/xen/vmlist/$vmname<br /> echo "memory = '512'">>/etc/xen/vmlist/$vmname<br /> echo "vcpus = 1">>/etc/xen/vmlist/$vmname<br /> echo "name = '$vmname'">>/etc/xen/vmlist/$vmname<br /><br /> echo "pae=1">>/etc/xen/vmlist/$vmname<br /> echo "acpi=1">>/etc/xen/vmlist/$vmname<br /> echo "apic=1">>/etc/xen/vmlist/$vmname<br /> echo "localtime = 0">>/etc/xen/vmlist/$vmname<br /> echo "vif = [ 'bridge=xenbr0' ]">>/etc/xen/vmlist/$vmname
# echo "disk = [ 'phy:/dev/VGVMlocal/$vmname,ioemu:hda,w']">>/etc/xen/vmlist/$vmname
echo "device_model = /usr/lib64/xen/bin/qemu-dm">>/etc/xen/vmlist/$vmname
echo "boot='c'">>/etc/xen/vmlist/$vmname<br /> <br /> echo "sdl = 0">>/etc/xen/vmlist/$vmname<br /> echo "vnc = 1">>/etc/xen/vmlist/$vmname<br /> echo "vncunused = 1">>/etc/xen/vmlist/$vmname<br /> echo "serial = "pty" = 1">>/etc/xen/vmlist/$vmname<br /> <br /> echo "Config file for VM Guest is Created"<br /> echo "-------------------------------------"<br /> if [ $yourch != "0" ]<br /> then<br /> echo "Storage for VM Guest is Creating ..."<br /> lvcreate -L$vmhddsize VGVMlocal -n $vmname<br /> echo "Storage for VM Guest is Created"<br /> echo "-------------------------------------"<br /> fi<br /> fi <br /><br /> case $yourch in<br /> <br /> <br /> 0) echo "linux Debian 40r5 amd64bit";<br /> <br /> kos="[";<br /> koe="]";<br /> echo "-------------------------------------";<br /> echo "Storage for VM Guest is Creating ...";<br /> lvcreate -L4.4G VGVMlocal -n $vmname;<br /> echo "Storage for VM Guest is Created";<br /> echo "-------------------------------------";<br /> echo<br /> echo "your VM is preparing ! Please Wait ..."<br /> dd if=/dev/VGVMlocal/linbaseDebian64 of=/dev/VGVMlocal/$vmname bs=4096;<br /> disklbl='phy:/dev/VGVMlocal/$vmname,ioemu:hda,w',<br /> tmp=E<br /> tmp=$vmname$tmp<br /> array=(b c d e f g h i j k l m n o p q r s t u v w x y z) <br /> for (( i = 1 ; i <= disknum ; i++ ))<br /> do<br /> lvcreate -L4.4G VGVMlocal -n $vmname$i<br /> disklbl=$disklbl" 'phy:/dev/VGVMlocal/$tmp$i,ioemu:hd${array[$i]},w',"<br /> done<br /> echo "$kos$disklbl$koe">>/etc/xen/vmlist/$vmname<br /> echo "your VM Disk's are"; lvs |grep $vmname;<br /> echo "you can start your VM by run #xm create /etc/xen/vmlist/$vmname"; read ;;<br /><br /><br /> 1) echo "linux Centos 5.1 64bit";<br /><br /> kos="[";<br /> koe="]";<br /> echo "-------------------------------------";<br /> echo "Storage for VM Guest is Creating ...";<br /> lvcreate -L4.4G VGVMlocal -n $vmname;<br /> tmp=os1<br /> lvcreate -L4.4G VGVMlocal -n $vmnamed1;<br /> echo "Storage for VM Guest is Created";<br /> echo "-------------------------------------"; <br /> dd if=/dev/VGVMlocal/linbaseCentos64 of=/dev/VGVMlocal/$vmname bs=4096;<br /> dd if=/dev/VGVMlocal/linbaseCentos64d1 of=/dev/VGVMlocal/$vmname'd1' bs=4096;
for i in disknum
do
lvcreate -L4.4G VGVMlocal -n $vmname'E'$disknum;
disklbl=$disklbl"[ 'phy:/dev/VGVMlocal/$vmname'E'$disknum,ioemu:hda,w',";
done
echo "your VM Disk's are"; lvs |grep $vmname;
echo "you can start your VM by run #xm create /etc/xen/vmlist/$vmname"; read ;;
2) echo "your winxp in Xen is Creating please waite ...." ;
dd if=/dev/VGVMlocal/winxpbase of=/dev/VGVMlocal/$vmname bs=4096;
echo "disk = [ 'phy:/dev/VGVMlocal/$vmname,ioemu:hda,w']">>/etc/xen/vmlist/$vmname
echo "you can start your VM by run #xm create /etc/xen/vmlist/$vmname"; read ;;
3) echo "your win2003 32bit on Xen is Creating please waite ...." ;
dd if=/dev/VGVMlocal/win2k3r2sp2_001 of=/dev/VGVMlocal/$vmname bs=4096;
echo "disk = [ 'phy:/dev/VGVMlocal/$vmname,ioemu:hda,w']">>/etc/xen/vmlist/$vmname
echo "you can start your VM by run #xm create /etc/xen/vmlist/$vmname"; read ;;
4) echo "your win2003 64bit on Xen is Creating please waite ...." ;
dd if=/dev/VGVMlocal/win2k364_001 of=/dev/VGVMlocal/$vmname bs=4096;
echo "disk = [ 'phy:/dev/VGVMlocal/$vmname,ioemu:hda,w']">>/etc/xen/vmlist/$vmname
echo "you can start your VM by run #xm create /etc/xen/vmlist/$vmname"; read ;;
5) exit 0 ;;
*) echo "Opps!!! Please select choice 1,2,3,4, or 5";
echo "Press a key. . ." ; read ;;
esac
done
xen:~# xen-create-image --hostname=xen-etch-v1 --size=3Gb --swap=256Mb --ip=172.20.21.80 --netmask=255.255.255.128 --gateway=172.20.21.1 --dir=/home/xen --debootstrap --dist=etch --mirror=http://ftp.hk.debian.org/debian/ --passwd=123
Option passwd does not take an argument
General Infomation
--------------------
Hostname : xen-etch-v1
Distribution : etch
Fileystem Type : ext3
Size Information
----------------
Image size : 3Gb
Swap size : 256Mb
Image type : sparse
Memory size : 512Mb
Kernel path : /boot/vmlinuz-2.6.18-6-xen-686
Initrd path : /boot/initrd.img-2.6.18-6-xen-686
Networking Information
----------------------
IP Address 1 : 172.20.21.80
Netmask : 255.255.255.128
Gateway : 172.20.21.1
Creating swap image: /home/xen/domains/xen-etch-v1/swap.img
Done
Creating disk image: /home/xen/domains/xen-etch-v1/disk.img
Done
Creating ext3 filesystem on /home/xen/domains/xen-etch-v1/disk.img
Done
Installing your system with debootstrap mirror http://ftp.hk.debian.org/debian/
Done
Running hooks

