Installation vm

811 views
743 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
811
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
23
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Installation vm

  1. 1. How to install a virtual machine martes 17 de agosto de 2010
  2. 2. • Introduction • Install JDK • Install RPM packages • How to create a virtual machine host martes 17 de agosto de 2010
  3. 3. Introduction • docs: http://en.wikipedia.org/wiki/Virtual_machine • To check if KVM has successfully been installed, run virsh -c qemu:///system list • acces to root, need the key: su • It should display something like this: • installation virtual machine yum install virt-manager virsh -c qemu:///system list Id Name State ---------------------------------- • installation libraries yum install kvm qemu libvirt python- virtinst martes 17 de agosto de 2010
  4. 4. Install JDK • Browse to http://download.java.net/jdk6/ and • I have to also set JAVA_HOME to point to the jdk so I select the relevant link. In this case .I wanted a .bin file look for the .batch_profile file and edit it. And add for fedora 12 so I selected it under the Linux heading the entry export JAVA_HOME=/usr/java/jdk1.6.0_21. Save and then logout and then login. • Got the url path (right-click select properties) and in the terminal I entered the command sudo wget <url path> • ensure that the path is correct by running This then download the .bin file to the directory I was echo $JAVA_HOME in. and it returns the correct location. Then launch JBoss without any errors!!!! • I then changed the permissions on the file using chmod a+x to make it executable. • I the ran the file and it installed to a java folder I had created in /usr/bin/. • When I do an ls it shows me the JDK folder. martes 17 de agosto de 2010
  5. 5. Install RPM packages • docs: http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29 • Installation de LVM in the Virtual machine like root sudo yum install system-config-lvm • Restart the virtual machine, and connect again ( -X option is for see the window with the information about the partitions) reboot ssh test@tst01 -X • When you have this, you can see the window with all the information about the LVM volumes, using this command sudo system-config-lvm martes 17 de agosto de 2010
  6. 6. How to create a virtual machine host Prerequisites: • To check if KVM has successfully been installed, run virsh You need kvm up and running • It should display something like this: virsh # net-list --all If you don't want to run as root, the user you want to use needs to have rw access to /dev/kvm • If it displays an error instead, then something went wrong. If you want to be able to access the internet or a local • Next we need to set up a network bridge on our network, your host system must be able to access the server so that our virtual machines can be internet or the local network accessed from other hosts as if they were physical systems in the network. • To install KVM and virtinst (a tool to create virtual • To do this, we install the package bridge-utils... yum install bridge-utils machines), we run yum install kvm qemu libvirt python- virtinst qemu-kvm • ... and configure a bridge. • Then start the libvirt daemon: /etc/init.d/libvirtd start martes 17 de agosto de 2010
  7. 7. Starting to test VM, JBoss, Harmony, Apache martes 17 de agosto de 2010
  8. 8. • Introduction • Expanding the disk capacity • Creating the load balancer and the nodes • Run JBoss with Harmony martes 17 de agosto de 2010
  9. 9. Introduction • docs: software testing http://en.wikipedia.org/ • Go to the other server were I have the interface that I wiki/Software_testing need use. And copy the files. • We have a server, where we installation the S.O. In this • ssh test@test02 case I install ubuntu. A when I have installed i do the • less /etc/network/interfaces following (my host machine called test02): • sudo -i • ls -al • ifconfig | less • shutdown • To see the directory where I stay pwd sudo /etc/init.d/networking restart • Go inside like a root user sudo -i ls -al martes 17 de agosto de 2010
  10. 10. Expanding the disk capacity Device Boot Start End Blocks Id System /dev/sdb1 1 9726 78124063+ 5 Extended /dev/sdb5 1 12 96327 83 Linux • We have two hard Drives, when we have the files, we /dev/sdb6 13 559 4393746 82 Linux swap / need put together and start the other hard drive. Solaris /dev/sdb7 560 9726 73633896 83 Linux • To see the disk on your computer root@test02:~# fdisk -l You can verify this situation with the df -k command's output, which also shows that the other partitions are too full to accept any more data. Disk /dev/sda: 80.0 GB, 80000000000 bytes root@test02:~# df -k 255 heads, 63 sectors/track, 9726 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Filesystem 1K-blocks Used Available Use% Mounted on Disk identifier: 0x00000080 /dev/mapper/test02-root 73444600 1147652 68566108 2% / Device Boot Start End Blocks Id System tmpfs 2032640 0 2032640 0% /lib/init/rw /dev/sda1 * 1 9695 77875056 8e Linux LVM varrun 2032640 112 2032528 1% /var/run /dev/sda2 9696 9726 249007+ 5 Extended varlock 2032640 0 2032640 0% /var/lock /dev/sda5 9696 9726 248976 83 Linux udev 2032640 160 2032480 1% /dev tmpfs 2032640 0 2032640 0% /dev/shm Disk /dev/sdb: 80.0 GB, 80000000000 bytes lrm 2032640 2760 2029880 1% 255 heads, 63 sectors/track, 9726 cylinders /lib/modules/2.6.28-11-server/volatile Units = cylinders of 16065 * 512 = 8225280 bytes /dev/sda5 233335 14320 206567 7% /boot Disk identifier: 0x00000080 martes 17 de agosto de 2010
  11. 11. • Linux stores the names of all known disk partitions in the /proc/partitions file. The entire hard disk is represented by an entry with a minor number of 0, and The first Linux step in adding a new disk is to partition it in all the partitions on the drive are sequentially preparation of adding a filesystem to it. Type the fdisk command numbered after that. followed by the name of the disk.You want to run fdisk on the / dev/sdb disk, so the command is: • root@test02:~# fdisk /dev/sdb • •root@test02:~# cat /proc/partitions The number of cylinders for this disk is set to 9726. major minor #blocks name There is nothing wrong with that, but this is larger than 1024, 8 0 78125000 sda and could in certain setups cause problems with: 8 1 77875056 sda1 8 2 1 sda2 1) software that runs at boot time (e.g., old versions of LILO) 8 5 248976 sda5 2) booting and partitioning software from other OSs 8 16 78125000 sdb 8 17 1 sdb1 (e.g., DOS FDISK, OS/2 FDISK) 8 21 96327 sdb5 8 22 4393746 sdb6 8 23 73633896 sdb7 252 0 74616832 dm-0 252 1 3211264 dm-1 • martes 17 de agosto de 2010
  12. 12. • Just to make sure you're on the correct device, issue the p command to print all the known partitions on the disk. In this case, there are none which is good. • Command (m for help): p The fdisk m command prints a small help manual of valid commands.You will see that n is the command to add a new partition. Add a new primary partition, number 1, and use the defaults to make the partition occupy the entire disk. Command (m for help): p Disk /dev/sdb: 80.0 GB, 80000000000 bytes •Command (m for help): n Command (m for help): n 255 heads, 63 sectors/track, 9726 cylinders Command action l logical (5 or over) Units = cylinders of 16065 * 512 = 8225280 bytes p primary partition (1-4) p Disk identifier: 0x00000080 Partition number (1-4): 1 Partition 1 is already defined. Delete it before re-adding it. Device Boot Start End Blocks Id System /dev/sdb1 1 9726 78124063+ 5 Extended /dev/sdb5 1 12 96327 83 Linux /dev/sdb6 13 559 4393746 82 Linux dev/sdb7 560 9726 73633896 83 Linux martes 17 de agosto de 2010
  13. 13. • Run the print (p) command to confirm that you successfully created the partition partition. •root@test02:/# pvcreate /dev/sdb1 •Command (m for help): p Physical volume "/dev/sdb1" successfully created •root@test02:/# vgextend test02 /dev/sdb1 Volume group "test02" successfully extended • To save the changes. Command (m for help): w •root@test02:/# vgdisplay The partition table has been altered! --- Volume group --- Calling ioctl() to re-read partition table. VG Name test02 Syncing disks. System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 • You can take a look at the /proc/partitions file or use the VG Access read/write fdisk -l command to see the changes to the disk VG Status resizable partition structure of your system: MAX LV 0 Cur LV 2 root@test02:~# cat /proc/partitions Open LV 2 Max PV 0 Cur PV 2 Act PV 2 • You now need to format the partition, giving it a new VG Size 148.77 GB directory structure by using the mkfs command. The Fedora installation procedure defaults to an ext3 type, PE Size 4.00 MB which is what you should use here. Total PE 38085 Alloc PE / Size 19001 / 74.22 GB root@test02:~# mkfs -t ext3 /dev/sdb1 Free PE / Size 19084 / 74.55 GB VG UUID 9nQQaX-dvOr-1xuf-KkFr-A5jz-Fg0h- martes 17 de agosto de 2010
  14. 14. Creating the load balancer and the nodes • Create LVM volume for boot partition • Mount vm-share • sudo lvcreate -L 1GM -n jboss_boot • sudo mount build:/nfs/vm-share /mnt/ test02 (where test02 is your volume group vm-share (maybe already mounted) name) • Create LVM volume for root partition • sudo lvcreate -L 11GM -n jboss_ctrl test02  (where test02 is your volume group name) • Create Swap • sudo lvcreate -L 1GM -n jboss_ctrl_swap test02  (where test02 is your volume group name) martes 17 de agosto de 2010
  15. 15. • <domain type='kvm'> • <domain type='kvm'> <name>jboss_ctrl</name> <name>jboss_ctrl02</name> <uuid>8d695160-06e3-6af1-03b7-05d368c54aa8</ <uuid></uuid> uuid> • Copy boot system <memory>10485764</memory> <currentMemory>1048576</currentMemory> <memory>10485764</memory> <currentMemory>1048576</currentMemory> <vcpu>2</vcpu> <vcpu>2</vcpu> <os> <os> • sudo dd if=/mnt/vm-share/images/ <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> fedora-12-dev/fedora-boot.img of=/ </os> </os> <features> dev/test02/jboss_boot <features> <acpi/> <acpi/> <apic/> <apic/> <pae/> <pae/> • Copy root system </features> <clock offset='utc'/> </features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> • sudo dd if=/mnt/vm-share/images/ <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <on_crash>restart</on_crash> jboss/jboss_ctrl_root.img of=/dev/ <devices> <devices> <emulator>/usr/bin/kvm</emulator> <emulator>/usr/bin/kvm</emulator> test02/jboss_ctrl <disk type='file' device='disk'> <disk type='file' device='disk'> <source file='/dev/test02/jboss_boot'/> <source file='/dev/test02/jboss_boot'/> <target dev='sda' bus='ide'/> <target dev='sda' bus='ide'/> • Copy the node xml file </disk> <disk type='file' device='disk'> </disk> <disk type='file' device='disk'> <source file='/dev/test02/jboss_ctrl'/> <source file='/dev/test02/jboss_root'/> • sudo cp /mnt/vm-share/images/jboss/ <target dev='sdb' bus='ide'/> </disk> <target dev='sdb' bus='ide'/> </disk> jboss_ctrl.xml /etc/libvirt/qemu/ <disk type='file' device='disk'> <disk type='file' device='disk'> <source file='/dev/test02/jboss_ctrl_swap'/> jboss_ctrl.xml <source file='/dev/test02/jboss_swap'/> <target dev='sdc' bus='ide'/> <target dev='sdc' bus='ide'/> </disk> </disk> <disk type='block' device='cdrom'> <disk type='block' device='cdrom'> • Edit jboss-ctrl.xml and change the name and update the <target dev='hdc' bus='ide'/> <readonly/> <target dev='hdc' bus='ide'/> <readonly/> drive locations to the lvm volumes </disk> </disk> <interface type='network'> <interface type='network'> • Also change the network source to point at the new <source network='default'/> </interface> <source network='default'/> </interface> network create above ( in mnt/vm-share/images/ <serial type='pty'> <serial type='pty'> <source path='/dev/pts/1'/> jboss and in /etc/libvirt/qemu), change the name <source path='/dev/pts/1'/> <target port='0'/> <target port='0'/> for the file too,and delete the uuid.(the machine </serial> </serial> <console type='pty' tty='/dev/pts/1'> generate another one new for each node. <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <source path='/dev/pts/1'/> <target port='0'/> <target port='0'/> </console> </console> <input type='mouse' bus='ps2'/> <input type='mouse' bus='ps2'/> martes 17 de agosto de 2010
  16. 16. • Define the VM, with the new name ( you should be change before) • root@test02:/etc/libvirt/qemu# sudo virsh define jboss_ctrl02.xml • Start the VM • root@test02:/etc/libvirt/qemu# sudo virsh start jboss_ctrl02 • Get the IP address • root@test02:~# sudo virsh console jboss_ctrl02 Connecting to uri: qemu:///system Fedora release 12 (Constantine) Kernel 2.6.31.6-162.fc12.x86_64 on an x86_64 (/dev/ttyS0) jboss_ctrl login: Password: Last login: Thu Jun 17 13:38:23 on ttyS0 [test@jboss_ctrl ~]$ ifconfig martes 17 de agosto de 2010
  17. 17. <domain type='kvm'> <domain type='kvm'> <name>jboss_ctrl02</name> <name>jboss_node1</name> <uuid>8d695160-06e3-6af1-03b7-05d368c54aa8</ • Creating the <uuid></uuid> uuid> <memory>10485764</memory> <memory>10485764</memory> <currentMemory>1048576</currentMemory> <currentMemory>1048576</currentMemory> <vcpu>2</vcpu> <vcpu>2</vcpu> <os> <os> <type arch='x86_64' machine='pc'>hvm</type> <type arch='x86_64' machine='pc'>hvm</type> <boot dev='hd'/> nodes <boot dev='hd'/> </os> </os> <features> <features> <acpi/> <acpi/> <apic/> <apic/> <pae/> <pae/> </features> </features> <clock offset='utc'/> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <on_crash>restart</on_crash> <devices> <devices> <emulator>/usr/bin/kvm</emulator> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <disk type='file' device='disk'> <source file='/dev/test02/jboss_boot'/> <source file='/dev/test02/jboss_boot'/> <target dev='sda' bus='ide'/> <target dev='sda' bus='ide'/> • </disk> </disk> Create new swap partition <disk type='file' device='disk'> <disk type='file' device='disk'> • test02@test02:/$ sudo lvcreate -L 1GM -n <source file='/dev/test02/jboss_ctrl'/> <target dev='sdb' bus='ide'/> <source file='/dev/test02/jboss_node11'/> <target dev='sdb' bus='ide'/> jboss_swap1 test02  (where test02 is your volume </disk> </disk> <disk type='file' device='disk'> group name) <disk type='file' device='disk'> <source file='/dev/test02/jboss_ctrl_swap'/> <source file='/dev/test02/jboss_swap1'/> <target dev='sdc' bus='ide'/> <target dev='sdc' bus='ide'/> • </disk> </disk> Create a snapshot of the jboss1's root partition <disk type='block' device='cdrom'> <disk type='block' device='cdrom'> • test02@test02:/$ sudo lvcreate -L592M -s -n <target dev='hdc' bus='ide'/> <readonly/> <target dev='hdc' bus='ide'/> <readonly/> jboss_node11 /dev/test02/jboss_node1 </disk> </disk> <interface type='network'> • <interface type='network'> Use can use the current boot partition <mac address='52:54:00:83:04:87'/> <mac address='52:54:00:83:04:87'/> <source network='default'/> <source network='default'/> </interface> </interface> • Copy the config file <serial type='pty'> <serial type='pty'> <source path='/dev/pts/1'/> • <source path='/dev/pts/1'/> root@test02:~# sudo cp /mnt/vm-share/ <target port='0'/> <target port='0'/> </serial> images/jboss/jboss_node1.xml /etc/libvirt/ </serial> <console type='pty' tty='/dev/pts/1'> <console type='pty' tty='/dev/pts/1'> qemu/jboss_node2.xml <source path='/dev/pts/1'/> <source path='/dev/pts/1'/> <target port='0'/> <target port='0'/> </console> </console> • Edit jboss_node1.xml and change it's name <input type='mouse' bus='ps2'/> <input type='mouse' bus='ps2'/> martes 17 de agosto de 2010
  18. 18. • Define the VM • root@test02:/etc/libvirt/qemu# sudo virsh define jboss_node1.xml • Start the VM • root@test02:/etc/libvirt/qemu# virsh start jboss_node1 • TO go inside the node1 machine to install harmony • root@test02:~# sudo virsh console jboss_node1 • login with test/test • Get the IP address • ifconfig and note the ip address • Observations, • If you want copy in one of the nodes a image, you can use the same commands that we use for the load balancer, but we need create the space for this image. • For the nodes: • sudo lvcreate -L 11GM -n jboss_node1 test02 • sudo dd if=/mnt/vm-share/images/jboss/jboss_node_rootv1.img of=/dev/test02/jboss_node1 martes 17 de agosto de 2010
  19. 19. Run JBoss with • Harmony http://en.wikipedia.org/wiki/ • tar -zxvf http://apache.mirrors.esat.net/harmony/ JBoss_application_server milestones/5.0/M14/apache- harmony-5.0-jre-r946978- linux-x86_64-snapshot.tar.gz • http://www.jboss.org/ • tar -zxvf harmony5 • Login as the node user • Go to /home/test Jboss is listed here. Then edit the run.conf file in the bin and set JAVA_HOME =$ save and exit (make sure to remove # from JAVA) • Download harmony, in the directory /home/test/ • wget http://apache.mirrors.esat.net/harmony/milestones/ • From the command line execute run.sh in the directory: 5.0/M14/apache-harmony-5.0-jre- r946978-linux- jboss-4.2.3/bin x86_64-snapshot.tar.gz • We can change the name of the file, is very large: mv apache................. harmony5 • Unzip martes 17 de agosto de 2010
  20. 20. • When we have Harmony and # The load balancer is the main entry that goes into the child entries worker.list=loadbalancer JBoss running properly: # The load balancer is the main entry that goes # Node1 into the child entries worker.jboss1.port=8009 worker.list=loadbalancer worker.jboss1.host=192.168.122.104 worker.jboss1.type=ajp13 # Node1 worker.jboss1.lbfactor=1 worker.jboss1.port=8009 • Go to the directory /etc/httpd and edit worker.jboss1.host=192.168.122.184 worker.jboss1.type=ajp13 # Node2 worker.jboss2.port=8009 workers.properties worker.jboss1.lbfactor=1 worker.jboss2.host= 192.168.122.114 worker.jboss2.type=ajp13 # Node2 worker.jboss2.lbfactor=1 worker.jboss2.port=8009 worker.jboss2.host=jboss2 worker.jboss2.type=ajp3 # Node3 worker.jboss2.lbfactor=1 worker.jboss3.port=8009 [test@jboss_ctrl ~]$ cd /etc/httpd/ worker.jboss3.host= 192.168.122.72 [test@jboss_ctrl httpd]$ ls # Load balancing behaviour worker.loadbalancer.type=lb worker.jboss3.type=ajp13 worker.jboss3.lbfactor=1 conf conf.d logs modules run workers.properties worker.loadbalancer.balance_workers=jboss1 [test@jboss_ctrl httpd]$ nano workers.properties # Load balancing behaviour worker.loadbalancer.type=lb # set sticky to zero so that we are able to test alternation worker.loadbalancer.balance_workers=jboss1 worker.loadbalancer.sticky_session=0 worker.loadbalancer.balance_workers=jboss2 worker.loadbalancer.balance_workers=jboss3 • # set sticky to zero so that we are able to test alternation Make the following changes in the file worker.loadbalancer.sticky_session=0 martes 17 de agosto de 2010
  21. 21. • Now you need copy the file testservlet.war from • To see if the file is inside, go to the console for the the local machine to host machine node and use to swich off the firewall, make in a off state permanently sudo /etc/init.d/iptables stop • [workstation09@workstation09 Desktop]$ scp testservlet.war test@10.2.0.62: • To check the configuration of the firewall: sudo /etc/init.d/iptables status • The authenticity of host '10.2.0.62 (10.2.0.62)' can't be established. RSA key fingerprint is e9:d2:89:ae:7c:ab:cd:c6:d4:df: • Go to the hosts file 3b:ed:42:ab:21:1c. sudo vim /etc/hosts Are you sure you want to continue connecting (yes/ no)? yes Warning: Permanently added '10.2.0.62' (RSA) to the list of known hosts. • Insert this line in the file 127.0.0.1 test@10.2.0.62's password: localhost.localdomain localhost test02 testservlet.war jboss_ctrl • Then from the load balancing machine to each • Restart the Apache service node. We should be change the ip for each node. sudo /etc/init.d/httpd restart • [test@jboss_ctrl ~]$ scp testservlet.war • Running jboss in cluster mode on node ./run.sh -c all -b test@192.168.122.104:jboss-4.2.3.GA/ ip adress of node server/all/deploy ./run.sh -c all -b 192.168.122.104 martes 17 de agosto de 2010

×