I apologize if this is a newbie question, but I have been unable to work out how to do this. I am adding code to my installation on dom0 (running CentOS 5.3) to monitor for hardware faults. If there is an issue, I want to propagate the status to all of the domUs (running CentOS 4.x or CentOS 5) running on the host.
What are my options to do this??
Thanks!
David
From: David Knierim, Wednesday, July 22, 2009 3:18 PM
I apologize if this is a newbie question, but I have been unable to work out how to do this.
I am adding code to my installation on dom0 (running CentOS 5.3) to monitor for hardware faults. If there is an issue, I want to propagate the status to all of the domUs (running CentOS 4.x or CentOS 5) running on the host.
What are my options to do this??
I would use shared file space. Maybe an NFS share that all machines could access... That way it is not restricted to virtual machines running on that server. If you expanded to 2 servers for increased capacity or fault tolerance, you would not have to redesign it.
----- "David Knierim" dknierim@gmail.com wrote:
I am adding code to my installation on dom0 (running CentOS 5.3) to monitor for hardware faults. If there is an issue, I want to propagate the status to all of the domUs (running CentOS 4.x or CentOS 5) running on the host.
How complicated do you want to get? There are a couple simple ways, but they require some very basic coding:
1. Share a tiny block device as read-only with every concerned guest domain. Write to the block device in dom0 and read from the block device periodically in domU. Treat it as a semaphore, but remember that your reads in domU may be goofed up and you may end up going through two or more cycles before a complete read can occur.
2. Share a private virtual network segment with every connected guest domain. Write a packet in dom0 and read in domU. This has the benefit that you can later expand this to a VLAN or physical segment for cross-physical-host communication. Make up whatever protocol you want if the network will only be used for this. If you want to have some foresight, just use UDP on some unassigned port and then make up whatever protocol you want. This isn't much different than just using SNMP SET, except your SNMP daemon won't be exposed to other networks. That is probably better, anyway.
If you want more of a supported framework, you can go to NFS, OCFS2, or GFS. The problem I see with this, for your simple use case, is that you are touching the kernel in dom0. This adds risk to stability.
On Wed, 22 Jul 2009, Christopher G. Stach II wrote:
----- "David Knierim" dknierim@gmail.com wrote:
I am adding code to my installation on dom0 (running CentOS 5.3) to monitor for hardware faults. If there is an issue, I want to propagate the status to all of the domUs (running CentOS 4.x or CentOS 5) running on the host.
- Share a private virtual network segment with every
connected guest domain. Write a packet in dom0 and read in domU.
The addition of a new private network segment seems like overkill and needless additional fragility and complexity -- if one to one, use a remote syslog setup (viz., over UDP); if one to many (domU), use a multicast sender and listeners.
Run either on the existing network seqment shared by the domUs and dom0 already.
-- Russ herrold
----- "David Knierim" dknierim@gmail.com wrote:
I am adding code to my installation on dom0 (running CentOS 5.3) to monitor for hardware faults. If there is an issue, I want to propagate the status to all of the domUs (running CentOS 4.x or CentOS 5) running on the host.
You can also use xenstore, but you may not want to screw around with it. I figured I'd let you know, anyway.