|
|
|||||||
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
3 Creating An Image-Based Virtual Machine
I want to store the disk images of my image-based virtual machines in the directory /vm. Of course, you can use any other directory that has enough space left. If you use another directory, replace /vm with your own directory in this tutorial. If you want to save your virtual machines in /vm, too, but haven't created a partition for it or if the directory /vm doesn't exist on your system, you can create it like this: mkdir /vm CentOS comes with a nice tool called virt-install with which we can create virtual machines for Xen. To start it, we simply run virt-install The tools asks a few questions before it creates a virtual machine. I want to call my first virtual machine vm01, with 256MB RAM and a disk size of 4GB. I want to store it in the file /vm/vm01.img: Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. <-- no What is the name of your virtual machine? <-- vm01 How much RAM should be allocated (in megabytes)? <-- 256 What would you like to use as the disk (file path)? <-- /vm/vm01.img How large would you like the disk (/vm/vm01.img) to be (in gigabytes)? <-- 4 Would you like to enable graphics support? (yes or no) <-- no What is the virtual CD image, CD device or install location? <-- [Thành viên phải đăng ký mới xem được link này. ] You should answer the first question about the fully virtualized guest with no because otherwise you will not see the CentOS installer - the installation of the guest system will seem to hang. The question about the graphics support refers to the installer, not the virtual machine itself! It is possible to start a graphical installer, but you'd have to connect to it via VNC. It's easier to use the text installer - it offers the same options, so I choose the text installer. As install location, you should specify your CD/DVD drive (/dev/cdrom) or a mirror close to you where the installer can download all files needed for the installation of CentOS 5.4 in our virtual machine. You can find a list of CentOS mirrors here: [Thành viên phải đăng ký mới xem được link này. ] After we have answered all questions, virt-install starts the normal CentOS 5.4 installer (in text mode) in our vm01 virtual machine. You already know the CentOS installer, so it should be no problem for you to finish the CentOS installation in vm01. After the installation, we stay at the vm01 console. To leave it, type CTRL+] if you are at the console, or CTRL+5 if you're using PuTTY. You will then be back at the dom0 console. virt-install has created the vm01 configuration file /etc/xen/vm01 for us (in dom0). It should look like this: cat /etc/xen/vm01 name = "vm01" uuid = "986d8b21-906f-8d64-bdc4-a6098e75cf23" maxmem = 256 memory = 256 vcpus = 1 bootloader = "/usr/bin/pygrub" on_poweroff = "destroy" on_reboot = "restart" on_crash = "restart" vfb = [ ] disk = [ "tap:aio:/vm/vm01.img,xvda,w" ] vif = [ "mac=00:16:3e:08:fc:38,bridge=xenbr0" ] Run xm console vm01 to log in on that virtual machine again (type CTRL+] if you are at the console, or CTRL+5 if you're using PuTTY to go back to dom0), or use an SSH client to connect to it. To get a list of running virtual machines, type xm list The output should look like this: [root@server1 ~]# xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 3102 2 r----- 78.6 vm01 1 255 1 -b---- 237.6 [root@server1 ~]# To shut down vm01, do this: xm shutdown vm01 To start vm01 again, run xm create /etc/xen/vm01 If you want vm01 to start automatically at the next boot of the system, then do this: ln -s /etc/xen/vm01 /etc/xen/auto Here are the most important Xen commands: xm create -c /path/to/config - Start a virtual machine. xm shutdown <name> - Stop a virtual machine. xm destroy <name> - Stop a virtual machine immediately without shutting it down. It's as if you switch off the power button. xm list - List all running systems. xm console <name> - Log in on a virtual machine. xm help - List of all commands. 4 Creating An LVM-Based Virtual Machine This chapter explains how you can set up LVM-based virtual machines instead of virtual machines that use disk images. Virtual machines that use disk images are very slow and heavy on disk IO. In this example I'm using a CentOS 5.4 host with the LVM volume group /dev/VolGroup00 that has about 150GB of space. /dev/VolGroup00 contains two logical volumes, /dev/VolGroup00/LogVol00 and /dev/VolGroup00/LogVol01 that consume about 60GB of space - the rest is not allocated and can be used to create logical volumes for our virtual machines: vgdisplay [root@server1 ~]# vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 14 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 148.53 GB PE Size 32.00 MB Total PE 4753 Alloc PE / Size 1906 / 59.56 GB Free PE / Size 2847 / 88.97 GB VG UUID 5faE1k-DkMu-JUEk-K0JV-B9ta-Nyaf-n7tngf [root@server1 ~]# lvdisplay [root@server1 ~]# lvdisplay --- Logical volume --- LV Name /dev/VolGroup00/LogVol01 VG Name VolGroup00 LV UUID xA3e1Z-mEc9-rGT1-WcAu-TjF4-lbf3-6LvFaj LV Write Access read/write LV Status available # open 1 LV Size 992.00 MB Current LE 31 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/VolGroup00/LogVol00 VG Name VolGroup00 LV UUID mUt9QZ-dluZ-a1ud-5RA7-gkVA-6Z0b-w0pvIa LV Write Access read/write LV Status available # open 1 LV Size 58.59 GB Current LE 1875 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 [root@server1 ~]# I want to create the virtual machine vm02 now which uses the logical volume /dev/VolGroup00/vm02. I want the virtual machine to have a disk space of 10GB, so I create the logical volume /dev/VolGroup00/vm02 as follows: lvcreate -L10G -n vm02 VolGroup00 Afterwards we can run virt-install again: Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. <-- no What is the name of your virtual machine? <-- vm02 How much RAM should be allocated (in megabytes)? <-- 256 What would you like to use as the disk (file path)? <-- /dev/VolGroup00/vm02 Would you like to enable graphics support? (yes or no) <-- no What is the install location? <-- [Thành viên phải đăng ký mới xem được link này. ] As the disk file path, we specify our new volume group /dev/VolGroup00/vm02. Please note that virt-install doesn't ask for the disk space anymore because the disk space is determined by the size of the logical volume (10GB). |
![]() |
| Thread Tools | |
| Display Modes | |
|
|