Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
vms:ipfire [2015/03/31 03:15] admin [Create the IPFire Virtual Hard Disk] |
vms:ipfire [2015/03/31 19:13] admin [Start the VM] |
||
---|---|---|---|
Line 39: | Line 39: | ||
==== Create the IPFire Virtual Hard Disk ==== | ==== Create the IPFire Virtual Hard Disk ==== | ||
---- | ---- | ||
+ | We intend to generally use FBD (File Based Devices) VDIs in our deployment, so we'll create an FBD: | ||
+ | <code> | ||
+ | > zcat ipfire-2.17.1gb-ext4-scon.i586-full-core87.img.gz > /opt/xen/X-Local-VMS/ipfire | ||
+ | > fallocate -l 4G /opt/xen/X-Local-VMS/ipfire | ||
+ | </code> | ||
- | ++++ Depracated method (click to see) | | + | If we were to use LVM VDIs, we'd use: |
+ | <code> | ||
+ | > lvcreate -L 4G -n ipfire vg0 | ||
+ | > zcat ipfire-2.17.1gb-ext4-scon.i586-full-core87.img.gz > /dev/vg0/ipfire | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | ==== Create VM configuration file ==== | ||
+ | ---- | ||
+ | By convention, Xen VMs configuration files should end in .cfg, but to help differentiate Paravirts and HVMs, we'll use the .hvm suffix. Thus we'll create //**/opt/xen/X-Local-VMS/ipfire.hvm**// | ||
+ | |||
+ | To get more details about the configuration's options, you can refer to [[http://wiki.ipfire.org/en/virtualization/xen/discussion_-_building_hvm_virtual_on_debian_xen_4.1#create_the_configuration_file|the original article this procedure is inspired from]]. | ||
+ | |||
+ | <code> | ||
+ | > nano /opt/xen/X-Local-VMS/ipfire.hvm | ||
+ | |||
+ | kernel="hvmloader" | ||
+ | builder='hvm' | ||
+ | device_model='qemu-dm' | ||
+ | memory = 512 # adjust this as needed, though 512M is enough for most purposes | ||
+ | name = "ipfire" | ||
+ | vcpus=1 # adjust as needed, though a single processor is fine | ||
+ | |||
+ | # this is the heart of the matter, setting up the correct network interfaces | ||
+ | # the bridge should match your configuration (must be defined to Xen) | ||
+ | # the mac address must be unique in YOUR network | ||
+ | # vifname simply allows you to find the interface from the DOM0 using ifconfig | ||
+ | vif = [ | ||
+ | 'mac=00:17:3e:be:b1:1a, bridge=xenbr0,vifname=fw_green', ## Green | ||
+ | 'mac=00:17:3e:be:b1:1b, bridge=xenbr1,vifname=fw_red', ## Red | ||
+ | # 'mac=00:17:3e:be:b1:1c, bridge=xenbr2,vifname=fw_blue', ## Blue | ||
+ | # 'mac=00:17:3e:be:b1:1d, bridge=xenbr3,vifname=fw_orange', ## Orange | ||
+ | ] | ||
+ | |||
+ | # points to the storage used for this DOMU | ||
+ | disk = [ | ||
+ | 'file:/opt/xen/X-Local-VMS/ipfire,hda,w', | ||
+ | # for LVM partitions: 'phy:/dev/vg0/ipfire,hda,w', | ||
+ | ] | ||
+ | |||
+ | |||
+ | localtime=0 # take time from server clock | ||
+ | serial='pty' # allow us to connect from xl console | ||
+ | boot="c" | ||
+ | sdl=0 | ||
+ | acpi=1 | ||
+ | apic=1 | ||
+ | pae=1 | ||
+ | usbdevice='tablet' | ||
+ | # do not use VNC since console is redirected to DOM0 | ||
+ | #vnc=1 | ||
+ | #vncdisplay=1 | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | ==== Start the VM ==== | ||
+ | ---- | ||
+ | Now we'd like to start the virtual machine. | ||
+ | |||
+ | Unfortunately, we're using the XAPI toolstack which doesn't provide an equivalent to the **xl create <vm> -c**. | ||
+ | |||
+ | |||
+ | It will boot, do some housekeeping and reboot. During the reboot you will lose your console, and must reconnect. | ||
+ | |||
+ | Start the virtual with | ||
+ | <code> | ||
+ | > cd /etc/xen | ||
+ | > xl create ipfire -c | ||
+ | </code> | ||
+ | |||
+ | the -c tells xl to connect you to the console immediately. You can watch as the housekeeping is done (mainly, enlarging the / partition), then you will see the reboot message. When you are back at the DOM0 prompt, reconnect with | ||
+ | |||
+ | xl console ipfire | ||
+ | |||
+ | and configure your router. Remember, if you are connected over a terminal window on your workstation (likely via ssh), the size of the window should be as close as possible to 80 char x 24 lines. This is an ongoing issue with the scon install, and one that can not be easily fixed. | ||
+ | |||
+ | ==== STOP ==== | ||
+ | ++++ Deprecated method (click to see) | | ||
Follow the [[hypervisor:base:xcp-xapi#create_and_access_a_vdi_from_dom0|procedure described in this wiki]] to create a dedicated VDI for the IPFire VM. But **DO NOT PLUG THE VBD YET**, as we'll first copy the IPFire image disk to it. | Follow the [[hypervisor:base:xcp-xapi#create_and_access_a_vdi_from_dom0|procedure described in this wiki]] to create a dedicated VDI for the IPFire VM. But **DO NOT PLUG THE VBD YET**, as we'll first copy the IPFire image disk to it. | ||
Line 76: | Line 158: | ||
---- | ---- | ||
- | |||
- | ==== STOP ==== | ||
++++ See deprecated method | | ++++ See deprecated method | |