Host not HVM enabled? - apache-cloudstack

When I try to deploy an instance with my template onto a LXC hypervisor host,I get the error message:
2013-11-10 20:30:11,319 DEBUG [allocator.impl.FirstFitAllocator]
(Job-Executor-5:job-19 = [ d070b5ba-f342-4252-9137-4d2c1b19eca6 ]
FirstFitRoutingAllocator) Not considering hosts: [Host[-4-Routing]]
to deploy template:
Tmpl[201-TAR-201-2-7444dd2e-2fe3-347b-a9cc-97ba7bdca211 as they are
not HVM enabled
what does that mean?Any suggestion will be appreciated!

HVM is a hardware virtualization technology. Some of its extended features require a compatible processor, motherboard, and BIOS, but you may be able to get it working with just a compatible processor and enabling hardware virtualization in your BIOS setup.
CloudStack, according to its docs, requires HVM as a minimum requirement. (I don't know why - HVM is certainly not needed for LXC!)
I bought a new desktop PC motherboard specifically to get HVM with extended features on my PC - after two failed attempts! So if you post a question on SuperUser or ServerFault about buying hardware (probably ServerFault would be the most appropriate site for this), I can try to help you with that followup question.

There is a way to fool cloudstack into believing that the hypervisor is "HVM" enabled. This does not affect anything, and things work as expected. It seems to be a design flaw in Cloudstack.

Related

what Openstack version is better to deploye in vmware Virtualization

We have one existing vmware virtualization contains 4 host, each host contains nearly 6vms, Now we are planning to deploy Open stack, The thing which Open stack version is good to deploy in VM, i have installed Centos 7 on VM.
I have to confirm which version of open stack is good for real time environment.
If anyone knows pls suggest version, and installation URl it will much better understanding to me,
Get started with devstack which is easier to install as you just have to run one script(stack.sh) and it will deploy all the clients on same machine. You can use that to practice creating VMs, making security groups and assigning floating ip to the vms. After that try to configure on a multinode architecture and I would suggest that you get a Ravello account (https://www.ravellosystems.com/) for that instead of using your own servers. This link might help you in configuration (https://docs.oracle.com/cd/E36784_01/html/E54155/archover.html#scrolltoc).
Search "openstack multinode deployment" on google. You will have plenty of links.

Getting started with line-rate virtual machine

I am beginning to study the use of virtual machines with realtime applications, specifically network applications.
While I do understand the limitations and concerns, I'd like to get ideas as to how to get started on this task.
I am going to use a DPDK sample application over Linux, and probably use VMWare for starters. However, I do not know what my first steps with respect to setting up VMWare should be.
First I think it is better to use open source solution like QUEM/KVM for your virtualization platform. Many platform exist for run high performance network functions on virtualized platforms you can see OpenNetVM for example in order to get basic ideas.

In an OpenStack cluster, must all machines be of the same processor architecture?

With OpenStack's architecture, is it possible to, for instance, have a PowerPC64 (Altivec) machine, a Intel CoreDuo machine, and a ARMv6 all on the same cluster?
Or is this impossible, because of the restrictions in building buildpacks when deploying to multiple architectures?
EDIT: Whoops, I meant OpenStack, not OpenShift ;)
The answer above is correct (answer from developercorey).
Although whether this suits you depends on how its managed and what your trying to achieve. Typically when you add servers with different physical attributes such as CPU, Disk, Network cards etc you group them into different host aggregates.
By default when you launch a VM it will try and find a suitable host, but you can also tag it, so for example if your VM required alot of disk IO, you might want to place it on a host that has SSD drivers. So you can put those hosts into a 'SSD' aggregate, and then when launching your VM you can make sure it goes to a host in that aggregate.
If your just trying to make the most out of the hardware you have, then I don't see any issue by mixing them.
I don't think that they have to be, but I do believe that they only build packages for 1 or 2 architechtures, so I'm not sure how many options you really have there.

Questions regarding Cloudstack

Need help on 3 aspects of Cloudstack. It has become the major point of our decision to go ahead with the implementation
Serial port debugging:
We do lot of serial port kernel debugging in Windows and UNIX. There is no out of box support for it . We need to go to VMWARE level to enable it , and we want to shield users from this. Any suggestions on this front.
Memory Snapshoting
People here are used for VMWare memory snapshoting feature. Also the ease with which Workstation/vSphere manages the Snapshots. Is there any way we can use that in Cloudstack? Our implementation is on VMWare , so we already have things in place , so just want to know , how to get it integrated with Cloudstack.
VMWare Tools
Whenever we create an instance from ISO's , we see that Mouse do not work. It is really painful to install the VMWare tools and get the mouse working. Is there any solution for this problem.
Need immediate feedback on Apache CloudStack?
Send your question to the mailing list
Need specific features to be added?
Talk to support Vendor such as Citrix.
Serial port debugging: -- What Steps you follow in enabling it in vmware
Memory Snapshoting: -- Cloudstack provides the snapshot feature ,but after taking snapshot you can not create vm from that snapshot,first you will have to convert that snapshot in templates and then you can create vm
VMWare Tools -- You can use attach iso facility of cloudstack .Initially install operating system with tabs but after installation attach vmware-tools.iso to that vm from cloudstack and install it on browser itself.

Where to start with Xen?

I am a newbie with Xen.I want to know how does Xen work.
It's really a puzzle when facing the code and I don't know where to start.
Are there some easy articles for me?
Since you mention looking at the code, I assume you want to understand the technical details of Xen and not just merely how to start a VM.
As with all problems, start with something simple and then work your way up. Some pointers:
Be sure to have the prerequisite experience under your belt. In particular, strong C and Linux affinity, but also x86 paging and virtualized memory workings.
Make sure you have a sound grasp of the general Xen architecture. For instance, paravirtualized versus hardware-supported virtualization, the special role of the management domain (Dom0) compared to unprivileged domains (DomU), etc.
Investigate the the Xen components running in Dom0:
The Xen control library (libxc) which implements much of the logic relating to hypercalls and adds sugar around these (look in tools/libxc).
The swiss army knife for administrating Xen, namely the Xen light library (libxl). This library replaces the deprecated xm tool with the xl tool and takes care of all your maintenance tasks such as starting/stopping a VM, listing all running VMs, etc. For all these operations, it works in tandem with the aforementioned libxc. (Libxl lives in tools/libxl.)
The Xenstore is a tree-like data structure from which all running domains can retrieve and store data. This is necessary since all I/O goes through Dom0 (not the hypervisor!), and domains need to communicate with Dom0 how they are going to pass I/O along. (Look in tools/xenstore.) You can inspect the Xenstore with a tool such as xenstore-ls.
the blkback/netback kernel drivers which pass the data over shared channels to the VMs. (You will find these drivers in a recent Linux kernel (e.g. >= v3.0) that has so-called PVOPS support).
Take a look at the console daemon (tools/console). Note that sometimes the Qemu console is actually used. Qemu also comes in the pictures as a default backend for if you choose a file-backed virtual storage for a VM.
Experiment with the 'Xen-way' of inter-VM communication: Grant tables, event channels and the Xenstore. With these fundamentals you can create your own shared channel between VMs. You can do this, for example, with writing a kernel module that you use in two domains to let them talk to each other.
I can also give some pointers in the source that you can check out:
xen/xen/include/public/xen.h will give you a list of all the hypercalls with comments what they do.
xen/xen/include/xen/mm.h gives you an introduction to the different memory terminology used by Xen (i.e., real versus virtualized addresses and page numbers). If you don't grasp these differences, then reading the hypervisor code will surely be frustrating.
xen/xen/include/asm-x86/config.h gives an overview of the memory layout of Xen.
xen/tools/libxc/xenctrl.h exports a large list of interesting domain control operations, which gives an abstract view of task division between Dom0 and the hypervisor.
Last but not least, the book 'The Definitive Guide to the Xen Hypervisor' by David Chisnall comes highly recommended. It covers all these topics and more in a thorough, technical fashion with plenty of code examples.
The Xen wiki and developer mailing lists are also a great resource for understanding Xen.
If you have a more specific question, then I can give you a more specific answer.
Here are few links which will guide you with ZEN Start up.Hope they will be useful.
http://www.howtoforge.com/howtos/virtualization/xen
http://wiki.xen.org/wiki/Category:HowTo
http://wiki.debian.org/Xen
For me, that is the best and more concrete tutorial with examples and step by step to start. I used it when I started.
Then you can read a lot more on Xen documentation itself or some books but as a starting point that allows you to easily install and test Xen, I choose that tutorial from Debian Wiki.
If you just want an overview, you may read this: http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide.
This will introduce you to Xen hypervisor, suggest configuration to set up virtual machines, provide information about the networking and finally have details about tools for the management of virtual machines.
This documentation is to get the Xen specifically on ubuntu (Most importantly, it works!)
https://help.ubuntu.com/community/Xen
===
However, if you want to go to the next level and understand the working of Xen; Xen architecture, memory management, device management, CPU scheduling etc., I would recommend reading the book "The Definitive Guide to the Xen Hypervisor".

Resources