Fedora Core 6, Xen, LVM, AMD 64, and Zimbra When creating xen clients, don't use the default partitions because they are a hastle. That VolGroup00-{LogVol00,LogVol01} makes expanding the root file system very difficult. Instead let the boot partition stand at /dev/vxd0 and create /dev/vxd1 and /dev/vxd2 for the swap and root partitions. Mount Xen client root partitions when the xen client default partitioning was used. {Summary of section: #Assume myVirtServer is the name of the server used in virt-install. #Assume vg0 is name of the vlm group. #Assume myVirtVolume is the volume name I used with the vlcreate -L 50G myVirtVolume command. xm shutdown myVirtServer xm list <-- verify that myVirtServer has stopped kpartx -a /dev/vg0/myVirtVolume vgscan vgchange -ay VolGroup00 mount /dev/VolGroup00/LogVol00 /mnt .... .... umount /mnt vgchange -an VolGroup00 kpartx -d /dev/vg0/myVirtVolume xm create /etc/xen/myVirtServer End of summary section} Make sure the Xen client isn't running # xm list shouldn't show the server. If it does use # xm shutdown and check # xm list until the server disappears from the list. # kpartx -a /dev// This creates mount points for the partitions withing the volume # vgscan This updates the Volume Group List. VolGroup00 should now show up # vgchange -ay VolGroup00 /dev/VolGroup00 directory should now exist and contain LogVol00 (Root) and LogVol01 (swap). Yea!!! # mount /dev/VolGroup00/LogVol00 /mnt You now have access to the client root When done we need to reverse our actions # umount /mnt Unmount the partition # vgchange -an VolGroup00 Unmount the group # kpartx -d /dev// remove mount points for the partitions within the volume Now we can restart the server # xm create /etc/xen/ This will start the server. Personally, I think the create command should have been something like start so newbies don't think it creates a new server, but creates and instance of the server. Zimbra stuff: create a separate partition for the zimbra installation and mount it in /opt. That way you can get up and running fairly quickly when replacing or updating linux. To hand a dom host the new partition, edit the server file in /etc/xen and add the device to the disk line. Ex: disk = [ 'phy:/dev/vg1/mailserver,xvda,w', 'phy:/dev/vg1/mailserver_data,xvdb,w' ] Note: If you have multiple network cards, you can control which network card is used with this line. vif = [ 'mac=00:16:3e:50:00:e8, bridge=xenbr1', ]. xenbr0 is eth0 and xenbr1 is eth1, if you want access to both cards, then add both entries, as such. vif = [ 'mac=00:16:3e:6f:90:57, bridge=xenbr0', 'mac=00:16:3e:6f:90:56, bridge=xenbr1', ]. Remember to make up a unique mac address to each card entry. Don't worry overly about the mac number, it only needs to be unique on the current network trunk and (depending on the router configuration) on a trunk that is one hop away. I doubt you would land on an existing one unless you intentionally grabed the values from a rip table. I turned off ip6. Edit the /etc/hosts file and remove the ::1 line or zimbra will complain during installation. To fix, or prevent sudo: sorry, you must have a tty to run sudo ERROR - failed to start slapd Edit the /etc/sudoers file and rem out the requiretty line by placing a pound sign in front of it. #Defaults requiretty To fix or prevent libphp-5.so permission error, turn off selinux edit the /etc/selinux/config file and set selinux from enforcing to disabled, then restart the server with the xm shutdown , xm create 4gb seg fixup, process mysql Don't bother with echo "hwcap 0 nosegneg" because it is already in the ld.so.conf.d directory in the kernelcap file. I was able to reduce the number of warnings by updating mysql. The problem is that zimbra's mysql is using a copy of libc that doesn't know about the xen hypervisor. Download mysql standard 5.0.27 (I used the one that was compiled for libc-2.3 the Linux (x86) version even though I had an AMD 64 bit processor) and put it in both the /opt/zimbra and /opt/zimbra/logger directory. You don't need to use the configure command, just put the untared directory here. Relink mysql so that it points to the new version of mysql. in the mysql directory, create libexec and copy bin/mysqld into it. change the owner and group to zimbra This goes for the copy in /opt/zimbra/logger as well. I may try compiling from source sometime and check whether this fixes it completely.