如何在 Ubuntu 12.04 LTS 服务器上安装 Xen(XCP-XAPI)?

如何在 Ubuntu 12.04 LTS 服务器上安装 Xen(XCP-XAPI)?

如何以跨平台方式(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终端)创建网络共享 - 一种简单、快捷的方法

相关内容