All Things Xen

General ramblings regarding Citrix XenServer & its open source counter part.

Creedence: Debian 7.x and PVHVM Testing

Introduction

On my own time and on my own testing equipment, I have been able to run many Guests VMs in PVHVM containers - before Creedence after its release to the public back in June.  Last week's broadcast of Creedence Beta 3's release, I was naturally excited to see Tim's spotlight on PVHVM and the following article's intent is to show - in a test environment only - how I was able to run Debian 7.x (64-bit) in the same fashion.

For more information regarding PV + HVM as to establish a PVHVM container, Tim linked a great article in his Creedence Beta 3 post last Monday that I highly recommend you read as the finer details are out of scope for this article's intent and purpose.

Why is this important to me?  Quite simply we can go from this....

... to this ...

So now, let's make a PVHVM container for a Debian 7.x (64-Bit) Guest VM within XenCenter!

Requirements

1.  Creedence Beta 3 and XenCenter

2.  The full installation ISO for Debian 7.x (from https://www.debian.org/CD/http-ftp/#stable )

3.  Any changes mentioned below should not be applied to any of the stock Debian templates

4.  This should not be performed on your production environment

Creating A Default Template

With XenCenter open, ensure that from the View options one has "XenServer Templates" selected:

We should now see the default templates that XenServer installs:

1.  Right-click on the "Debian Wheezy 7 (64-bit)" template and save it as "Debian 7":

 

3.  This will produce a "custom template" - highlight it and copy the UUID of the custom template:

4.  The remainder of this configuration will take place from the command-line.

5.  To make the changes to the custom template easier, export the UUID of the custom template we created to avoid copy/paste errors:

export myTemp="af84ad43-8caf-4473-9c4d-8835af818335"
echo $myTemp
af84ad43-8caf-4473-9c4d-8835af818335

6.  With the $myTemp variable created, let us first convert this custom template to a default template by executing:

xe template-param-set uuid=$myTemp other-config:default_template=true

xe template-param-remove uuid=$myTemp param-name=other-config param-key=base_template_name

7.  Now configure the template's "platform" variable to leverage VGA graphics:

xe template-param-set uuid=$myTemp platform:viridian=false platform:device_id=0001 platform:vga=std platform:videoram=16

8.  Due to how some distros work with X, clear the PV-args and set a "vga=792" flag:

xe template-param-set uuid=$myTemp PV-args="vga=792"

9.  Disable the PV-bootloader:

xe template-param-set uuid=$myTemp PV-bootloader=""

10.  Specify that the template uses an HVM-style bootloader (DVD/CD first, then hard drive, and then network):

xe template-param-set uuid=$myTemp HVM-boot-policy="BIOS order"
xe template-param-set uuid=$myTemp HVM-boot-params:order="dcn"

 

Now, before creating a Debian 7.x Guest VM, one should now see in XenCenter that "Debian 7" is listed as a "default template":

 

Lastly, for the VGA flag and what it means to most distros, the following is a table explaining the VGA flag and bit settings to achieve XxY resoluton @ a color depth:

VGA Resolution and Color Depth reference Chart:

Depth 800×600 1024×768 1152×864 1280×1024 1600×1200
8 bit vga=771 vga=773 vga=353 vga=775 vga=796
16 bit vga=788 vga=791 vga=355 vga=794 vga=798
24 bit vga=789 vga=792   vga=795 vga=799

Create A New Debian Guest

From now, one should be able to create a new Guest VM using the template we have just created and should be able to walk through the entire install:

Post installation, tools can be installed as well!

Enjoy and happy testing!

 

jkbs | @xenfomation

Security bulletin covering "Shellshock"
Security bulletin covering XSA-108

Related Posts

 

Comments 18

Guest - Tobi on Friday, 10 October 2014 13:27

Hi JK,

thanks a lot for these insights! After reading your evaluation of Debian 7.4 and 7.6 on Xenserver (http://xenserver.org/discuss-virtualization/virtualization-blog/entry/debian-7-4-and-7-6-guest-vms.html) and this post I'd like to ask if you could give a hint how to get Debian working with a graphical user interface in PV mode.

I get Debian installed ok on various hosts but I do not manage to get a GUI, espacially in XenCenter. I understand that I have to redirect X via VNC somehow but I do not get the point how to do it correctly. Obviously in the future that will not be necessary anymore thanks to PVHVM but for now it would be a very welcome feature.

Thanks in advance!

Best regards
Tobi

1
Hi JK, thanks a lot for these insights! After reading your evaluation of Debian 7.4 and 7.6 on Xenserver (http://xenserver.org/discuss-virtualization/virtualization-blog/entry/debian-7-4-and-7-6-guest-vms.html) and this post I'd like to ask if you could give a hint how to get Debian working with a graphical user interface in PV mode. I get Debian installed ok on various hosts but I do not manage to get a GUI, espacially in XenCenter. I understand that I have to redirect X via VNC somehow but I do not get the point how to do it correctly. Obviously in the future that will not be necessary anymore thanks to PVHVM but for now it would be a very welcome feature. Thanks in advance! Best regards Tobi
JK Benedict on Friday, 10 October 2014 19:40

Hey, Tobi -

Thanks for the feedback! With regards to the graphical install, are you referring to how to do this with XenServer 6.2? I am just trying to understand the question and goal as so to provide the right advice.

With the steps I have provided above, the installer should be graphical through XenCenter in the Alpha/Betas. If not - what is the install media type you are using? I have had most success with the full DVD install media.

Let me know, sir!
--jkbs | @xenfomation

0
Hey, Tobi - Thanks for the feedback! With regards to the graphical install, are you referring to how to do this with XenServer 6.2? I am just trying to understand the question and goal as so to provide the right advice. With the steps I have provided above, the installer should be graphical through XenCenter in the Alpha/Betas. If not - what is the install media type you are using? I have had most success with the full DVD install media. Let me know, sir! --jkbs | @xenfomation
Guest - Tobi on Saturday, 11 October 2014 12:49

Hey JK,

thanks for your quick reply!

Sorry, I should have been much more precise: I've got a few XenServer 6.2 hosts running, with Debian 7.6 VMs. The installer is not my main problem, the text console is quite ok there. Instead I would like to run a GUI in production use in these VMs. The GUI should be visible through the XenCenter and remotely by VNC (example: I need a browser to configure other VMs with websites on the same host).

Is that possible? Or do I have to wait for Creedence and the PVHVM-mode for a GUI in XenCenter with Linux?

Thank you for your patience!

Best regards
Tobi

1
Hey JK, thanks for your quick reply! Sorry, I should have been much more precise: I've got a few XenServer 6.2 hosts running, with Debian 7.6 VMs. The installer is not my main problem, the text console is quite ok there. Instead I would like to run a GUI in production use in these VMs. The GUI should be visible through the XenCenter and remotely by VNC (example: I need a browser to configure other VMs with websites on the same host). Is that possible? Or do I have to wait for Creedence and the PVHVM-mode for a GUI in XenCenter with Linux? Thank you for your patience! Best regards Tobi
JK Benedict on Wednesday, 22 October 2014 03:10

Alrighty --

Been busy, but the following BASH script should make a copy of your Debain 7 template and make a generic, HVM template (allowing graphics).

This is just for your own experimentation, but let us know how it turns out!


#!/bin/bash

#
# Make a Generic Debian HVM Template
#
DEB7=`xe template-list name-label="Debian Wheezy 7.0 (64-bit)" params=uuid --minimal`

DEBHVM=`xe vm-clone uuid=$DEB7 new-name-label="Debian (Generic HVM)"`

xe template-param-remove uuid=$DEBHVM param-name=other-config param-key=base_template_name \
param-name=other-config param-key=debian-release

xe template-param-set uuid=$DEBHVM other-config:default_template=true other-config:install-distro="debianlike" \ other-config:install-methods="cdrom,http,ftp,nfs" PV-args="" PV-bootloader="" HVM-boot-policy="BIOS order" \
HVM-boot-params:order="dcn" platform:nx=true platform:pae=true platform:apic=true platform:acpi=true \
platform:vga=std platform:videoram=16 platform:device_id=0001


--jkbs | @xenfomation

0
Alrighty -- Been busy, but the following BASH script should make a copy of your Debain 7 template and make a generic, HVM template (allowing graphics). This is just for your own experimentation, but let us know how it turns out! #!/bin/bash # # Make a Generic Debian HVM Template # DEB7=`xe template-list name-label="Debian Wheezy 7.0 (64-bit)" params=uuid --minimal` DEBHVM=`xe vm-clone uuid=$DEB7 new-name-label="Debian (Generic HVM)"` xe template-param-remove uuid=$DEBHVM param-name=other-config param-key=base_template_name \ param-name=other-config param-key=debian-release xe template-param-set uuid=$DEBHVM other-config:default_template=true other-config:install-distro="debianlike" \ other-config:install-methods="cdrom,http,ftp,nfs" PV-args="" PV-bootloader="" HVM-boot-policy="BIOS order" \ HVM-boot-params:order="dcn" platform:nx=true platform:pae=true platform:apic=true platform:acpi=true \ platform:vga=std platform:videoram=16 platform:device_id=0001 --jkbs | @xenfomation
Guest - Tobi on Wednesday, 22 October 2014 11:46

Hi Jesse,

thanks for your information!

Currently I'm at #CitrixTEX2014 and after that I will have to complete some high priority projects - but after that I will be more than glad to test your suggestion and give you feedback.

Best regards
Tobi

1
Hi Jesse, thanks for your information! Currently I'm at #CitrixTEX2014 and after that I will have to complete some high priority projects - but after that I will be more than glad to test your suggestion and give you feedback. Best regards Tobi
JK Benedict on Wednesday, 22 October 2014 03:21

You should quite able to copy-n-paste the code above -- that will remove the emoticons from the colon + some other character.

0
You should quite able to copy-n-paste the code above -- that will remove the emoticons from the colon + some other character.
JK Benedict on Saturday, 11 October 2014 16:27

Btw - no need to apologize, Tobi! If anything, I should to the community. I have been quite busy with personal items that I haven't had much time to do what my passion is : share what I know, test, break things, annoying my awesome colleagues with theories and ideas, praise them for their work, and... work with clients, fans, and partners just like you!

I will post something here today - even if it is a simple bash script - as we support Debian in 6.2 and I am quite certain the first thing I did was PV CentOS, Fedora, and Debian (my goto OS of choice).

-jkbs @xenfomation

0
Btw - no need to apologize, Tobi! If anything, I should to the community. I have been quite busy with personal items that I haven't had much time to do what my passion is : share what I know, test, break things, annoying my awesome colleagues with theories and ideas, praise them for their work, and... work with clients, fans, and partners just like you! I will post something here today - even if it is a simple bash script - as we support Debian in 6.2 and I am quite certain the first thing I did was PV CentOS, Fedora, and Debian (my goto OS of choice). -jkbs @xenfomation
Tobias Kreidl on Saturday, 11 October 2014 02:09

Thanks, Jesse, for another helpful article. This will be very useful for users who stay with Windows 7 for some time to come and want better video options. Note that on Windows 8.X the default is already VGA and 8 MB of video RAM. This same mechanism can be used to adjust the amount of committed video RAM for such VMs, as well (also limited to a maximum of 16 MB).
-=Tobias

1
Thanks, Jesse, for another helpful article. This will be very useful for users who stay with Windows 7 for some time to come and want better video options. Note that on Windows 8.X the default is already VGA and 8 MB of video RAM. This same mechanism can be used to adjust the amount of committed video RAM for such VMs, as well (also limited to a maximum of 16 MB). -=Tobias
JK Benedict on Saturday, 11 October 2014 16:22

Tobias and Tobi,

Thanks! Indeed, while I am (obviously from bugs.xenserver.org) a command line guy.... GUI's still serve a purpose for the other 99% of the world.

Tobi, I am quite sure I can help. However, I need to make sure my home lab has a vanilla 6.2 install as... I tinker, and I code, and I change things that I would never share with the public! that being said, I am quite certain I had the GUI up by making a custom template...

I will keep you posted and Tobias, I plan to beat up a few real world and pseudo world machines with some network testing... and I am using the GUI on CentOS 6, etc!

Bah!!!! The only GUI driven OS I learned to love and Windows 2000. Years later I am too tired these days to compile an old NTFS/Fat32 command.com and as such, I am just filling in the gaps of Windows Neptune Build 5111.

Keep the comments, questions, and concerns coming: especially the Beta!!

-jkbs @xenfomation

0
Tobias and Tobi, Thanks! Indeed, while I am (obviously from bugs.xenserver.org) a command line guy.... GUI's still serve a purpose for the other 99% of the world. Tobi, I am quite sure I can help. However, I need to make sure my home lab has a vanilla 6.2 install as... I tinker, and I code, and I change things that I would never share with the public! that being said, I am quite certain I had the GUI up by making a custom template... I will keep you posted and Tobias, I plan to beat up a few real world and pseudo world machines with some network testing... and I am using the GUI on CentOS 6, etc! Bah!!!! The only GUI driven OS I learned to love and Windows 2000. Years later I am too tired these days to compile an old NTFS/Fat32 command.com and as such, I am just filling in the gaps of Windows Neptune Build 5111. Keep the comments, questions, and concerns coming: especially the Beta!! -jkbs @xenfomation
Tessio Fechine on Thursday, 23 October 2014 17:02

Will creedence support pvscsi? http://wiki.xen.org/wiki/Paravirtualized_SCSI

0
Will creedence support pvscsi? http://wiki.xen.org/wiki/Paravirtualized_SCSI
Guest - rukawa on Tuesday, 02 December 2014 09:45

Hi,JK
Thanks for sharing. I have three question
1.what is the difference between pv bootloader and hvm bootloader
2.compared with pv, pvhvm advantage in where? what is the difference between debian7(pv) and debian7(pvhvm)
3.How about Centos6(64bit) pvhvm?
Looking forward to your reply

1
Hi,JK Thanks for sharing. I have three question 1.what is the difference between pv bootloader and hvm bootloader 2.compared with pv, pvhvm advantage in where? what is the difference between debian7(pv) and debian7(pvhvm) 3.How about Centos6(64bit) pvhvm? Looking forward to your reply
JK Benedict on Wednesday, 03 December 2014 05:41

Rukawa,

Anytime! Thanks for your additional questions.

So, before I tackle your questions, I wanted to take this opportunity to present some "historical" information as well as documentation. The reason for this two-fold and simple:

- It puts a perspective on how far (in the computing field) we have come, but yet how far we have to go
- It puts information into the reader's mind: offering information most may not know and can also explain why, even today, virtualization is nothing trivial, nothing simple, and at the time of writing this, why there are sub-classifications to the "type of virtualization" that happens today...

So, what is so important to make historical reference to?

Well, virtualization: at its inception, production, and use that has led to the "art" of what we now can seemingly take for granted. Here we go:

The original problem with computers was that of "Time Shares", or as we know it, "Multitasking". Large computers only offered access to one user at a time, one compute operation at a time, but lo: in the 1960s, Burroughs Corporation (yes, the Burroughs started by William S. Burroughs' grand father) was the first to implement TRUE virtualization on their mainframes. It is here I say "Thanks, Dad! I salute you!". Later, IBM followed in the late 60s/early 70s with their own mainframe models that offered virtualization.

This information along with Rukawa's questions should paint a pretty clear picture as to why these questions are important. Why virtualization products - far from the "one-shop, mainframe vendor" of yesterday - have overcome many obstacles with more yet to come.

Now, before the questions, I suggest the two links for good measure -- especially as to keep me from rambling on a passion of mine here @ XenServer.org:

- https://blog.xenproject.org/2012/10/23/the-paravirtualization-spectrum-part-1-the-ends-of-the-spectrum/
- https://blog.xenproject.org/2012/10/31/the-paravirtualization-spectrum-part-2-from-poles-to-a-spectrum/

SO....

1.what is the difference between pv bootloader and hvm bootloader
The bootloaders are responsible - from a bare-metal machine - in booting an operating system off of a physical medium on boot. I think what is more important is that we have already asked about "PV" and "HVM": two types of virtualization modes Xen supports.

So, the difference between the two is really at the Guest Level and the hypervisor. PV booting requires far less "assistance" from the hypervisor to leverage a virtual disk. The opposite is true for HVM, as this requires more robust assistance from the hypervisor to leverage a virtual disk.

Lastly, what I mean by "leveraging a disk" is how the hypervisor, XenServer, presents faux hardware, firmware, and the handling of a Guest VM's calls as so that it "boots" without confusion, error, or halting with the question: "Um, am I being virtualized?"

2. compared with pv, pvhvm advantage in where? what is the difference between debian7(pv) and debian7(pvhvm)


The advantage goes back to the basic styles of virtualization XenServer offers - without considering Intel, AMD, or ARM architecture - as it boils down to this:

PV Guests, such as Linux, etc, require far less "man handling" by the hypervisor: from install, to kernel calls, to translating Guest VM entry/exit calls, etc. Most Linux distros now offer a "xen-style" kernel that, until before, required additional I/O work by the hypervisor to facilitate interaction, function, and overall execution of a Guest VM with the underlying bare-metal hardware.

HVM Guests, such as Windows, require more "man handling" by the hypervisor. This is quite simply because x86 calls, such as those made by NT-based kernels, require more attention and conditional handling by the hypervisor to keep I/O resources (virtual) satisfied by enhancing (or FULLY virtualizing BIOS, firmware, etc) what the Guest OS "sees", "requests", and makes kernel-level "calls" for.

Where is the advantage?

By combining both into a Guest VM container, you gain the efficiency of a PV guest: not having to more heavily involve the hypervisor in the Guest VM's overall execution. You also gain the BENEFIT - if desired - of virtualized I/O resources, such as GRAPHICS. A great example is ... Ubunutu. Where before you had the option to install Ubunutu, without graphics, different network drivers, and more "virtualized" support that appears "native" to the Ubuntu Guest VM. Another example is, in 6.5 or in 6.2 with a PV/HVM, you can mount an ISO image in XenCenter and Ubuntu (or other PV/HVM guests) automatically detect that an ISO/CDROM is present.... and it auto-mounts it, just like it would as if it were running on bare-metal.

You essentially get the same security and control of a Guest VM, or "domU", with more features exposed by dom0 to the Guest VM that makes the overall experience of virtualization feel native, act native, and in the Guest Vm... behave natively.

Lastly, 3.How about Centos6(64bit) pvhvm?
As with Debian, Ubuntu, etc -- this too is possible. As of Beta 3, CentOS 7 runs in PV/HVM and that beat me to writing an article on how to achieve this.

Your question is for CentOS 6. Essentially, use this template for a CentOS 7 install OR make a copy of this template and make the modifications necessary to support CentOS 6 - 32 or 64-bit.

I hope this helps!

--jkbs | @xenfomation

0
Rukawa, Anytime! Thanks for your additional questions. So, before I tackle your questions, I wanted to take this opportunity to present some "historical" information as well as documentation. The reason for this two-fold and simple: - It puts a perspective on how far (in the computing field) we have come, but yet how far we have to go - It puts information into the reader's mind: offering information most may not know and can also explain why, even today, virtualization is nothing trivial, nothing simple, and at the time of writing this, why there are sub-classifications to the "type of virtualization" that happens today... So, what is so important to make historical reference to? Well, virtualization: at its inception, production, and use that has led to the "art" of what we now can seemingly take for granted. Here we go: The original problem with computers was that of "Time Shares", or as we know it, "Multitasking". Large computers only offered access to one user at a time, one compute operation at a time, but lo: in the 1960s, Burroughs Corporation (yes, the Burroughs started by William S. Burroughs' grand father) was the first to implement TRUE virtualization on their mainframes. It is here I say "Thanks, Dad! I salute you!". Later, IBM followed in the late 60s/early 70s with their own mainframe models that offered virtualization. This information along with Rukawa's questions should paint a pretty clear picture as to why these questions are important. Why virtualization products - far from the "one-shop, mainframe vendor" of yesterday - have overcome many obstacles with more yet to come. Now, before the questions, I suggest the two links for good measure -- especially as to keep me from rambling on a passion of mine here @ XenServer.org: - https://blog.xenproject.org/2012/10/23/the-paravirtualization-spectrum-part-1-the-ends-of-the-spectrum/ - https://blog.xenproject.org/2012/10/31/the-paravirtualization-spectrum-part-2-from-poles-to-a-spectrum/ SO.... [b]1.what is the difference between pv bootloader and hvm bootloader[/b] The bootloaders are responsible - from a bare-metal machine - in booting an operating system off of a physical medium on boot. I think what is more important is that we have already asked about "PV" and "HVM": two types of virtualization modes Xen supports. So, the difference between the two is really at the Guest Level and the hypervisor. PV booting requires far less "assistance" from the hypervisor to leverage a virtual disk. The opposite is true for HVM, as this requires more robust assistance from the hypervisor to leverage a virtual disk. Lastly, what I mean by "leveraging a disk" is how the hypervisor, XenServer, presents faux hardware, firmware, and the handling of a Guest VM's calls as so that it "boots" without confusion, error, or halting with the question: "Um, am I being virtualized?" [b]2. compared with pv, pvhvm advantage in where? what is the difference between debian7(pv) and debian7(pvhvm) [/b] The advantage goes back to the basic styles of virtualization XenServer offers - without considering Intel, AMD, or ARM architecture - as it boils down to this: PV Guests, such as Linux, etc, require far less "man handling" by the hypervisor: from install, to kernel calls, to translating Guest VM entry/exit calls, etc. Most Linux distros now offer a "xen-style" kernel that, until before, required additional I/O work by the hypervisor to facilitate interaction, function, and overall execution of a Guest VM with the underlying bare-metal hardware. HVM Guests, such as Windows, require more "man handling" by the hypervisor. This is quite simply because x86 calls, such as those made by NT-based kernels, require more attention and conditional handling by the hypervisor to keep I/O resources (virtual) satisfied by enhancing (or FULLY virtualizing BIOS, firmware, etc) what the Guest OS "sees", "requests", and makes kernel-level "calls" for. Where is the advantage? By combining both into a Guest VM container, you gain the efficiency of a PV guest: not having to more heavily involve the hypervisor in the Guest VM's overall execution. You also gain the BENEFIT - if desired - of virtualized I/O resources, such as GRAPHICS. A great example is ... Ubunutu. Where before you had the option to install Ubunutu, without graphics, different network drivers, and more "virtualized" support that appears "native" to the Ubuntu Guest VM. Another example is, in 6.5 or in 6.2 with a PV/HVM, you can mount an ISO image in XenCenter and Ubuntu (or other PV/HVM guests) automatically detect that an ISO/CDROM is present.... and it auto-mounts it, just like it would as if it were running on bare-metal. You essentially get the same security and control of a Guest VM, or "domU", with more features exposed by dom0 to the Guest VM that makes the overall experience of virtualization feel native, act native, and in the Guest Vm... behave natively. Lastly, [b]3.How about Centos6(64bit) pvhvm?[/b] As with Debian, Ubuntu, etc -- this too is possible. As of Beta 3, CentOS 7 runs in PV/HVM and that beat me to writing an article on how to achieve this. Your question is for CentOS 6. Essentially, use this template for a CentOS 7 install OR make a copy of this template and make the modifications necessary to support CentOS 6 - 32 or 64-bit. I hope this helps! --jkbs | @xenfomation
Guest - rukawa on Friday, 05 December 2014 10:51

I have got the difference between these modes, following your links, thanks!
But when I install centos6(pvhvm) following your steps, it is not graphic;And there is not qemu instance in Dom0.Is this right?
How can I confirm whether my environment support for pvh?
How about xenserver6.5 on Dell R910?
Thx...

0
I have got the difference between these modes, following your links, thanks! But when I install centos6(pvhvm) following your steps, it is not graphic;And there is not qemu instance in Dom0.Is this right? How can I confirm whether my environment support for pvh? How about xenserver6.5 on Dell R910? Thx...
Gian on Saturday, 07 February 2015 13:17

Hi JK Benedict,

Can you please point me in a good direction to understand all of this?

when I thought I have almost got it the difference between PV and HVM I saw this and now I'm back again on the starting point??

I'm a linux sys-admin, who worked with Vmware ESXi for too long and now xen seems really sweet

My first 3 questions:

1) how many modes are on Xenserver 6.2? PV and HVM only?
2) does this pvhvm will allow us to VNC on PV host as well?
3) will we get the option to get the GRUB for our Guest VMs?
4) Will we be able to go in single user mode from the guest GRUB?
5) Will we be able to type init commands?

Thanks and sorry for the noobie questions

1
Hi JK Benedict, Can you please point me in a good direction to understand all of this? when I thought I have almost got it the difference between PV and HVM I saw this and now I'm back again on the starting point?? I'm a linux sys-admin, who worked with Vmware ESXi for too long and now xen seems really sweet My first 3 questions: 1) how many modes are on Xenserver 6.2? PV and HVM only? 2) does this pvhvm will allow us to VNC on PV host as well? 3) will we get the option to get the GRUB for our Guest VMs? 4) Will we be able to go in single user mode from the guest GRUB? 5) Will we be able to type init commands? Thanks and sorry for the noobie questions
JK Benedict on Tuesday, 10 February 2015 21:16

Gian,

Thanks for the comments and let me take a moment this evening to collect the information you need -- also so I can be sure that I am clear in my answers!

Rough answers to your questions are:
1) 3 modes, technically, but to be precise... PV and HVM. The method of using Debian in this configuration is my attempt to bring these together.

2) Yes. From XenCenter you should have graphics from start to finish. Further more, with Debian and Ubuntu releases, there is a package called XRDP -- it will allow you to use Remote Desktop, per user, as so they can leverage the same VM.

3) Yes

4) Yes

5) Yes

Thanks!!

--jkbs | @xenfomation

0
Gian, Thanks for the comments and let me take a moment this evening to collect the information you need -- also so I can be sure that I am clear in my answers! Rough answers to your questions are: 1) 3 modes, technically, but to be precise... PV and HVM. The method of using Debian in this configuration is my attempt to bring these together. 2) Yes. From XenCenter you should have graphics from start to finish. Further more, with Debian and Ubuntu releases, there is a package called XRDP -- it will allow you to use Remote Desktop, per user, as so they can leverage the same VM. 3) Yes 4) Yes 5) Yes Thanks!! --jkbs | @xenfomation
JK Benedict on Tuesday, 10 February 2015 21:21

Oh - one last thing!

These tests were from the pre-6.5 release, but I have ran ... MANY operating systems in the same configuration in 6.2. There is a "warning/advisory" here:

1) Citrix Support. Engineering qualifies OSes that XenServer can support - especially Linux OSes. The tests are complex, etc and the best example I can think of - from long ago - was a specific CentOS minor release. I can't recall the specifics, but that minor release was not supported due to the kernel, etc contained within that release.

Again, I will do some digging to better paint a picture!

--jkbs | @xenfomation

0
Oh - one last thing! These tests were from the pre-6.5 release, but I have ran ... MANY operating systems in the same configuration in 6.2. There is a "warning/advisory" here: 1) Citrix Support. Engineering qualifies OSes that XenServer can support - especially Linux OSes. The tests are complex, etc and the best example I can think of - from long ago - was a specific CentOS minor release. I can't recall the specifics, but that minor release was not supported due to the kernel, etc contained within that release. Again, I will do some digging to better paint a picture! --jkbs | @xenfomation
Guest - Gian on Tuesday, 10 February 2015 23:22

Hi JK,

Just to clarify in your guide:

this is from "other install media"
HVM-boot-policy ( RW): BIOS order
HVM-boot-params (MRW): order: dc
HVM-shadow-multiplier ( RW): 1.000
PV-kernel ( RW):
PV-ramdisk ( RW):
PV-args ( RW):
PV-legacy-args ( RW):
PV-bootloader ( RW):
PV-bootloader-args ( RW):
last-boot-CPU-flags ( RO):
last-boot-record ( RO): ''


this are the params for HVM Debian (create myself):

HVM-boot-policy ( RW): BIOS order
HVM-boot-params (MRW): order: dcn
HVM-shadow-multiplier ( RW): 1.000
PV-kernel ( RW):
PV-ramdisk ( RW):
PV-args ( RW):
PV-legacy-args ( RW):
PV-bootloader ( RW): eliloader
PV-bootloader-args ( RW):

This instead comes from the default debian template[PV]:

HVM-boot-policy ( RW):
HVM-boot-params (MRW):
HVM-shadow-multiplier ( RW): 1.000
PV-kernel ( RW):
PV-ramdisk ( RW):
PV-args ( RW): -- quiet console=hvc0
PV-legacy-args ( RW):
PV-bootloader ( RW): eliloader
PV-bootloader-args ( RW):

What I can see you have setup:
PV-args="vga=792"
PV-bootloader=""
HVM-boot-policy="BIOS order"
HVM-boot-params:order="dcn"


does this means that:
this will boot in HVM then move back in PV loading some sort of PV video drivers?

I'm kind interested in this: HVM gives a better user experience but PV gives better performances

0
Hi JK, Just to clarify in your guide: this is from "[b]other install media[/b]" HVM-boot-policy ( RW): BIOS order HVM-boot-params (MRW): order: dc HVM-shadow-multiplier ( RW): 1.000 PV-kernel ( RW): PV-ramdisk ( RW): PV-args ( RW): PV-legacy-args ( RW): PV-bootloader ( RW): PV-bootloader-args ( RW): last-boot-CPU-flags ( RO): last-boot-record ( RO): '' this are the params for HVM Debian (create myself): HVM-boot-policy ( RW): BIOS order HVM-boot-params (MRW): order: dcn HVM-shadow-multiplier ( RW): 1.000 PV-kernel ( RW): PV-ramdisk ( RW): PV-args ( RW): PV-legacy-args ( RW): PV-bootloader ( RW): eliloader PV-bootloader-args ( RW): This instead comes from the [b]default[/b] debian template[[b]PV[/b]]: HVM-boot-policy ( RW): HVM-boot-params (MRW): HVM-shadow-multiplier ( RW): 1.000 PV-kernel ( RW): PV-ramdisk ( RW): PV-args ( RW): -- quiet console=hvc0 PV-legacy-args ( RW): PV-bootloader ( RW): eliloader PV-bootloader-args ( RW): What I can see [b]you[/b] have setup: PV-args="vga=792" PV-bootloader="" HVM-boot-policy="BIOS order" HVM-boot-params:order="dcn" does this means that: this will boot in HVM then move back in PV loading some sort of PV video drivers? I'm kind interested in this: HVM gives a better user experience but PV gives better performances
Guest - Benoit Plessis on Thursday, 29 October 2015 14:32

Hi,

Having a PVHVM Guest is not simply about a graphical capability, personnally i could care less, but as a matter of fact all our VMs are running in PVHVM mode !

Why ? because, contrary to what could seem to be an evidence PVHVM mode is actually quite faster than simple PV, network, disk are a bit faster and with lower latency.
As far as i know this is mostly due to the fact than current CPU have huge virtualisation optimisation that aren't used in PV mode.

Benchmark exemple:
https://xen-orchestra.com/blog/debian-pvhvm-vs-pv/

However PV mode is also interesting in that it allow more easily to automate (preseed) a VM installation, so we still do the install in PV mode, apply a few simple lines in the Guest and shut it down, and restart it in PVHVM.

Guest reconfiguration:

sed -i 's/#GRUB_TERMINAL/GRUB_TERMINAL/; s/console=hvc0//' /etc/default/grub
update-grub
sed -i '/1:/ s/hvc0/tty1/; s/^\([23456]:\)/#\1/' /etc/inittab
halt


#!/bin/bash

if [ $# -lt 1 ]; then
echo "$0 "
exit
fi

VM_NAME=$1
VM_UUID=`xe vm-list name-label=${VM_NAME} params=uuid --minimal`

if [ -z ${VM_UUID} ]; then
echo "no matching VM"
exit
fi
echo "$VM_NAME: $VM_UUID"

echo "Setting HVM Boot Policy: "
xe vm-param-set uuid=$VM_UUID HVM-boot-policy="BIOS order" PV-bootloader="" PV-bootloader-args=""

echo "Toggle first VBD as bootable:"
VBD_UUID=`xe vbd-list vm-uuid=$VM_UUID type=Disk params=uuid --minimal`
if [ -z ${VBD_UUID} ]; then
echo "No disk on VM"
else
VBD_UUID=`echo $VBD_UUID | sed 's/,.*$//'`
xe vbd-param-set uuid=$VBD_UUID bootable=true
fi

xe vm-start uuid=$VM_UUID

0
Hi, Having a PVHVM Guest is not simply about a graphical capability, personnally i could care less, but as a matter of fact all our VMs are running in PVHVM mode ! Why ? because, contrary to what could seem to be an evidence PVHVM mode is actually quite faster than simple PV, network, disk are a bit faster and with lower latency. As far as i know this is mostly due to the fact than current CPU have huge virtualisation optimisation that aren't used in PV mode. Benchmark exemple: https://xen-orchestra.com/blog/debian-pvhvm-vs-pv/ However PV mode is also interesting in that it allow more easily to automate (preseed) a VM installation, so we still do the install in PV mode, apply a few simple lines in the Guest and shut it down, and restart it in PVHVM. Guest reconfiguration: [quote]sed -i 's/#GRUB_TERMINAL/GRUB_TERMINAL/; s/console=hvc0//' /etc/default/grub update-grub sed -i '/1:/ s/hvc0/tty1/; s/^\([23456]:\)/#\1/' /etc/inittab halt[/quote] [quote] #!/bin/bash if [ $# -lt 1 ]; then echo "$0 " exit fi VM_NAME=$1 VM_UUID=`xe vm-list name-label=${VM_NAME} params=uuid --minimal` if [ -z ${VM_UUID} ]; then echo "no matching VM" exit fi echo "$VM_NAME: $VM_UUID" echo "Setting HVM Boot Policy: " xe vm-param-set uuid=$VM_UUID HVM-boot-policy="BIOS order" PV-bootloader="" PV-bootloader-args="" echo "Toggle first VBD as bootable:" VBD_UUID=`xe vbd-list vm-uuid=$VM_UUID type=Disk params=uuid --minimal` if [ -z ${VBD_UUID} ]; then echo "No disk on VM" else VBD_UUID=`echo $VBD_UUID | sed 's/,.*$//'` xe vbd-param-set uuid=$VBD_UUID bootable=true fi xe vm-start uuid=$VM_UUID[/quote]

About XenServer

XenServer is the leading open source virtualization platform, powered by the Xen Project hypervisor and the XAPI toolstack. It is used in the world's largest clouds and enterprises.
 
Technical support for XenServer is available from Citrix.