如何以跨平台方式(Windows 和 Linux 用户)在 Ubuntu 12.04 LTS 服务器上安装 Xen (XCP-XAPI)?我需要一份关于该主题的完整而全面的指南,涵盖为 Linux、Windows 和“Winux”用户提供完整、实用、经济实惠且易于维护的环境(虚拟机管理程序)所需的所有步骤!
答案1
这文档对我帮助很大。不过我会给你一些剧透:
- LVM 支持的 SR 存储不适用于 xcp-xapi ubuntu 包。(您需要安装一些驱动程序文件来破解一些文件以启用它,xcp-xapi 源包中有这些文件),或者,您可以使用 ppa 存档(有些可以使用)
- domU 机器上的 grub2 会给您带来启动问题(如果您备份到文件并恢复,12:04 LTS domU 将无法启动)。像 Maverick 这样的老机器会这样。这是 grub2 更新。记下 domU 机器内部的 UUID(根磁盘!),因为您需要它来修复它。
- 之后你可以安装任何你想要的客户端,HVM/PV ....
现在,如何将其与您的业务在可负担性等方面联系起来,就留给您自己去做了。
更新:
我不会再自己修改文件了,这是一个艰苦的过程,容易出错。使用自定义 PPA 似乎工作得很完美(我现在有 6 个 xcp-xapi 中的 1 个以这种方式安装,工作得很好)。我现在使用这些:
deb http://ppa.launchpad.net/ubuntu-xen-org/xcp-unstable/ubuntu precise main
deb-src http://ppa.launchpad.net/ubuntu-xen-org/xcp-unstable/ubuntu precise main
虽然我自己的博客关于 xcp-install 没有提到这一点(尚未),从那时起我改变了主意,而且情况变得更好了。
答案2
在 Ubuntu Server 12.04 LTS/Debian 6/基于 Debian 的发行版上设置 XCP - Xen 云平台(XEN 虚拟机管理程序)
内容
关于本指南
介绍
安装 Ubuntu 期间
安装 Ubuntu 后
安装 Xen(XCP - Xen 云平台)
下载并安装 XenCenter (Windows)
下载并安装 OpenXenManager(XenCenter 的替代品)(Ubuntu 12.04 Server LTS)
为什么我应该为 Xen“dom0”指定固定数量的内存?
来源
关于本指南
本指南适用于想要以简单、不复杂的方式使用 XEN 探索所有 Ubuntu Server 12.04 LTS 设施的用户以及在混合环境中和“混合用户”(Windows/Linux)一起工作的用户。
本指南内容全面,包括 Ubuntu Server 12.04 LTS 的安装和配置。除其他内容外,我们还介绍了 Open SSH 的安装,以便进行远程访问。
我们还想提供一些简短的指导(嵌入在本指南中),说明如何测试此过程(使用 VMware Workstation)。作为一个友好的 Hypervisor,我们建议那些有兴趣研究和使用 XEN 的人使用 VMware Workstation 作为测试环境。也就是说,我们谈论的是将 XEN Hypervisor (XAPI) 安装到 VMWare Workstation 上,以便用户可以在其桌面上以简单、可控、快速和安全的方式了解该技术。
我们解释了 OpenXenManager(管理环境)的安装并提出了另一种工具堆栈替代方案。
我可以使用 XenServer,对吗?
XenCenter 是一个很棒且实用的选择,但最终您会遇到一些问题:
每 12 个月“免费”更新许可证;
您将不会使用完全免费的系统;
通过使用完全免费的软件,您将对社会做出更多贡献;
硬件限制
Xen 并非设计用于桌面硬件(包括处理器!)。要了解您的处理器是否受支持,请参阅以下页面:
http://hcl.xensource.com/CPUMatrix.aspx(XenServer,相同的Xen免费基础代码)
http://wiki.xensource.com/xenwiki/HVM_Compatible_Processors
笔记:Xen 支持 Intel i7 和 i5;
介绍
Xen 是 1 类裸机虚拟机监视器(或虚拟机管理程序),可在同一物理机器上运行一个或多个操作系统实例。与其他类型的虚拟化一样,Xen 在许多用例中都很有用,例如服务器整合以及生产和开发环境的隔离(例如:同一系统上的企业和个人环境)。
我们的示例使用 LVM 作为虚拟磁盘,使用网络桥接作为虚拟网卡。它还假设使用 Xen 4.1(12.04 中提供的版本)。它假设您熟悉一般虚拟化问题以及特定的 Xen 术语。请参阅 Xen wiki(参见http://wiki.xen.org/wiki/Xen_Overview) 了解更多信息。
安装 Ubuntu 期间
笔记:对于 VMware Workstation 测试用户 -> 在虚拟机设置上启用“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”
在安装 Ubuntu 时,分区方法选择“引导 - 使用整个磁盘并设置 LVM”。然后,当提示输入“用于引导分区的卷组数量”时,输入一个足够大的值以容纳 Xen dom0 系统,其余部分留给虚拟磁盘。输入一个小于安装驱动器大小的值。例如,100 GB 应该足够容纳最小的 Xen dom0 系统。请记住,在我们的模型中,所有用于客户操作系统和其他有用文件的安装介质都保留在该客户机 (dom0) 内,因此客户机上必须有足够的空间。
安装 Ubuntu 后
- 安装 Open SSH
您可能已经知道,SSH 是一种安全通信协议,可让您远程访问联网计算机。它被称为非常不安全的 Telnet 的替代品。虽然 Telnet 以纯文本形式发送流量,但另一方面,SSH 使用安全协议进行通信。
运行以下命令来安装 SSH 服务器。
要登录远程机器,请在终端上输入
ssh <remote_user>@<ip_or_name>
安装 Xen(XCP - Xen 云平台)
XCP - Xen Cloud Platform 是与 Citrix XenServer 类似的开源版本,使用 Xen Hypervisor。XCP 使用 XAPI 或 XenAPI 来管理 Xen 主机。XCP 基于 CentOS 5.5。
Kronos 项目是一项将 XAPI 工具堆栈移植到 Debian 和 Ubuntu 的计划。它是一个用 OCaml 实现的管理堆栈,用于配置和控制 Xen 主机、附加存储、网络和虚拟机生命周期。它公开了一个用于资源管理的命令行界面 (xe)。
XenCenter 是 Citrix 的 Windows 桌面应用程序,与 XenServer 一起分发,用于管理运行 XenServer 的服务器(相当于 Linux 的是 OpenXenManager)。它使用 XAPI 与 Xen 资源池通信。由于我们正在设置 XAPI,因此我们可以使用 XenCenter 来管理服务器(这种关系中存在一些错误)。
Ubuntu Server 12.04 是一个 LTS 版本,支持 5 年
- 安装和配置 Xen Hypervisor
安装 Xen 虚拟机管理程序
sudo apt-get install xen-hypervisor
设置 GRUB 以启动 Xen Hypervisor
sudo sed -i 's/GRUB_DEFAULT=.*\+/GRUB_DEFAULT="Xen 4.1-amd64"/' /etc/default/grub
在启动时禁用 apparmor
sudo sed -i 's/GRUB_CMDLINE_LINUX=.*\+/GRUB_CMDLINE_LINUX="apparmor=0"/' /etc/default/grub
将“dom0”限制为 1GB 内存和 1 VCPU(示例)(参见“为什么我应该为 Xen“dom0”分配固定数量的内存?”)
sudo gedit /etc/default/grub
在 GRUB_CMDLINE_LINUX="apparmor=0" 之后添加行 GRUB_CMDLINE_XEN="dom0_mem=1G,max:1G dom0_max_vcpus=1"
使用我们刚刚所做的配置更改来更新 Grub
sudo update-grub
重新启动服务器,以便 Xen 在服务器上启动
sudo reboot
服务器恢复在线后,确保 Xen 正在运行
cat /proc/xen/capabilities should display "control_d"
笔记:停止或启动 xcp-xapi
sudo /etc/init.d/xcp-xapi stop (or start)
安装和配置 XAPI(XenAPI)
安装 XCP-XAPI
sudo apt-get 安装 xcp-xapi
注意:提示网络后端时选择“桥接”
设置默认工具堆栈
sudo gedit /etc/default/xen
注意:设置“TOOLSTACK=xapi”
禁用 xend 在启动时启动
sudo sed -i -e 's/xend_start$/#xend_start/' -e 's/xend_stop$/#xend_stop/' /etc/init.d/xend
笔记:仅 xend 守护进程需要禁用,"/etc/init.d/xend" 处理模块和 xenfs 等其他事务。请勿从运行级别禁用它。
禁用服务 xendomains
sudo update-rc.d xendomains 禁用
修复了模拟控制台的“qemu”没有正确位置的键盘映射的问题
sudo mkdir /usr/share/qemu; sudo ln -s /usr/share/qemu-linaro/keymaps /usr/share/qemu/keymaps
网络配置
本节介绍如何在 Xen 中设置 Linux 桥接。假设 eth0 既是您到 dom0 的主要接口,也是您希望虚拟机使用的接口。还假设您将手动使用 IP 配置。
sudo apt-get install bridge-utils
笔记:如果尚未安装
设置桥接网络
sudo gedit /etc/network/interfaces
创建一个名为 xenbr0 的绑定。对于静态网络配置,该文件应如下所示:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # Xen network interface for "dom0" auto xenbr0 iface xenbr0 inet static # IP address address 192.168.1.111 # Subnet mask netmask 255.255.255.0 # Default Gateway gateway 192.168.1.1 # DNS Server dns-nameservers 192.168.1.1 bridge_ports eth0 iface eth0 inet manual # The primary network interface # auto eth0 # iface eth0 inet dhcp
配置 xcp 使用“bridge”网络而不是“openswitch”
sudo gedit /etc/xcp/network.conf
注意:将“openswitch”替换为“bridge”
注意:对于 VMware Workstation (Linux) 测试用户:
Configure with "bridge" for network adapter and run these comands on host: sudo chmod ugo+rwx /dev/vmnet0 sudo chown <username> /dev/vmnet0 sudo chown :<usergroup> /dev/vmnet0 Eg.: sudo chmod ugo+rwx /dev/vmnet0 sudo chown eduardo /dev/vmnet0 sudo chown :eduardo /dev/vmnet0
要测试网络是否正常工作,请运行以下命令
sudo /etc/init.d/networking restart
一切就绪!准备重启并让 xcp-xapi toolstack 接管
sudo reboot
重新启动时确认 xcp 正常运行
sudo xe vm-list
预期输出示例:
uuid (RO) : dbcf74d2-ee50-edd5-d44d-b81fc8ba1777 name-label (RW): Control domain on host: ubuntu-xenserver-1 power-state (RO): running
注意:如果您的输出看起来类似,“xapi”正在服务器上运行,如果您收到“连接被拒绝”,则 xapi 设置不正确!
- 配置存储库以用于 XAPI
NFS 服务器是共享文件系统基础架构的常见形式,可用作虚拟磁盘的存储库基底。由于 NFS 存储库是共享的,因此存储在其中的虚拟磁盘允许在资源池中的任何服务器上启动虚拟机,并使用 XenMotion 在它们之间迁移。配置 NFS 存储库时,只需提供 NFS 服务器的主机名或 IP 地址以及用于包含存储库的目录的路径(如果此资源位于另一台计算机上,则不是我们的情况)。
显示卷组 (VG)
sudo pvs
创建具有 X GB 的 LV
sudo lvcreate -L <X>GB -n <StorageRepositoryName> /dev/<VG> Eg1.: sudo lvcreate -L 25GB -n StorageRepository /dev/ubuntus1204 Eg2.: sudo lvcreate -l 100%FREE -n StorageRepository /dev/ubuntus1204
注册逻辑卷以供 XAPI 使用
sudo xe sr-create type=ext shared=true name-label=<StorageRepositoryName> device-config:device=/dev/<VG>/<StorageRepositoryName> Eg.: sudo xe sr-create type=ext shared=true name-label=StorageRepository device-config:device=/dev/ubuntus1204/StorageRepository
这应该会显示存储库
sudo xe sr-list name-label=<StorageRepositoryName> Eg.: sudo xe sr-list name-label=StorageRepository uuid ( RO): 37bc5263-c9fc-8876-d24c-d5927f1bbed2 name-label ( RW): StorageRepository name-description ( RW): host ( RO): ubuntus1204 type ( RO): ext content-type ( RO):
- 配置 ISO 存储库以用于 XAPI
ISO 存储库包含用于执行安装的操作系统的 ISO(磁盘映像)。
然后,以下示例将创建一个名为 ISOs 的存储库
sudo xe sr-create name-label=<LocalISORepositoryName> type=iso shared=true device-config:location=<FolderPath> device-config:legacy_mode=true content-type=iso Eg.: sudo mkdir -p /var/opt/xen/LocalISORepository/ sudo xe sr-create name-label=LocalISORepository type=iso shared=true device-config:location=/var/opt/xen/LocalISORepository/ device-config:legacy_mode=true content-type=iso
这应该会显示 ISO 存储库
sudo xe sr-list name-label=<LocalISORepositoryName> Eg.: sudo xe sr-list name-label=LocalISORepository uuid ( RO): 26edb27b-72fc-af56-ad2f-4d15a8d8e3f7 name-label ( RW): LocalISORepository name-description ( RW): host ( RO): ubuntus1204 type ( RO): iso content-type ( RO): iso
笔记:在本教程中(下面的链接),我将教您如何轻松创建 samba 共享,以便您可以在“domu”上访问您的文件、ISO 等。
https://help.ubuntu.com/community/如何通过Samba和CLI(命令行界面/Linux终端)创建网络共享 - 一种简单、快捷的方法!
下载并安装 XenCenter (Windows)
去http://citrixxperience.com/2012/02/24/download-and-install-citrix-xencenter-6-0/并下载ISO“XenServer-6.1-install-cd.iso”(当然,如果版本是6.1的话)。
里面有安装程序“XenCenter.msi”。注意,这个ISO也是XenCenter的安装CD。
启动 XenCenter 并单击“添加新服务器”。输入安装期间设置的服务器 IP、用户名和密码,让奇迹开始吧!
下载并安装 OpenXenManager(XenCenter 的替代品)
OpenXenManager 是 XenCenter 的免费克隆版,据称可与 XenServer 和免费软件 XCP 完全兼容。该程序捆绑为一组 Python 脚本,包含在单个存档中,因此几乎可以在任何地方轻松部署。不过,您不会获得与桌面主题的任何视觉集成。
如果您打算使用 XCP 进行全免费组合设置,或者需要 Linux 的 GUI 管理,那么您可能需要考虑此程序,因为 OpenXenManager 可以在非 Windows 机器上运行,而 XenCenter 则仅适用于 Windows。现在,官方页面看起来有点过时,因此您可能还需要考虑长期支持。
安装
您可以从以下位置下载 OpenXenManagerhttp://sourceforge.net/projects/openxenmanager/或者使用以下命令在您的 Ubuntu/类似操作系统上安装它:
sudo apt-get install openxenmanager
最后的考虑
如果您正在寻找一款简单、免费且非 Windows 的 GUI 管理器,用于基于 Xen 的裸机虚拟机管理程序设备,那么 OpenXenManager 就是您想要的工具,尽管它外观丑陋且功能不足。它允许与 XCP 完美搭配,对抗 Citrix Server-Center 解决方案,而且价格低廉。
OpenXenManager 为您提供了该产品的所有功能。但是,我必须承认,它的稳定性较差,而且更容易出现奇怪的错误,尤其是与网络配置相关的错误。您必须确保您的网络没有可能干扰程序连接的代理或防火墙规则。此外,无论有没有 SSL 隧道,它都可能无法始终正常工作。这是您在部署策略中必须权衡的风险。但总而言之,它运行良好。
为什么我应该为 Xen“dom0”指定固定数量的内存?
首先(dom0)Linux 内核根据启动时的内存量来计算各种网络相关参数。第二个原因是 Linux 需要内存来存储内存元数据(每页信息结构),而这种分配也是基于启动时的内存量。
加:
如果您考虑高性能和高可用性,则应考虑以下一些因素:
- 只考虑真实的核心(硅)而不是线程;
- 高性能磁盘和/或每个磁盘几台机器或只有一台(磁盘是任何虚拟机管理程序的主要瓶颈之一);
- 使用 iscsi 或光纤通道作为磁盘的基础设施;
- 正在使用的核心数(不是线程数)永远等于“总量”-1;
- “DomU”规模庞大,资源丰富;
- 优化客户端。举个例子,Debian 在这方面有很多可能性;
来源
http://wiki.xen.org/wiki/Xen_Best_Practices
http://www.mad-hacking.net/documentation/linux/deployment/xen/basicconfig.xml
https://help.ubuntu.com/community/Xen
http://www.dedoimedo.com/computers/openxenmanager.html
http://platonic.techfiz.info/2012/07/openxenmanager/
http://forums.citrix.com/thread.jspa?threadID=152189
http://www.liberiangeek.net/2012/03/enable-ssh-secure-shell-in-ubuntu-12-04-precise-pangolin/