在Linux上Ganeti集群虚拟化方法

系统 Linux
Ganeti项目是管理整个集群虚拟实例的工具。本文通过实际操作,具体介绍如何在Linux上进行Ganeti集群虚拟化?

Ganeti项目是管理整个集群虚拟实例的工具。它与Xen或KVM一起工作,作为底层管理程序并利用很多其它开源项目(如DRBD)来完成任务(如网络上的RAID)。

这篇文章将关注如何安装***的稳定版本(2.2版本)并使其在双节点集群上工作。我们将通过几个必要的步骤,包括我们从Ganeti IRC频道(freenode上的 #ganeti)了解到的几件事。

设置Ganeti系统

这篇文章,我们选择Debian Lenny作为基本操作系统,因为很多已出版的指导书是基于这个发布系统。最简单的安装方法就是从Debian主页下载网络安装映像。为了达到目的,我们下载64位计算机系统的映像,将ISO映像刻录到CD。如果你的网速,这个方法的效果是***的。

当你着手安装过程时,你需要记住几件事。Ganeti需要单独的分区用于存储虚拟实例。必须格式化它来运用逻辑卷管理器(LVM),并在安装过程中进行额外的配置。另一件要记住的事是内核版本号的重要性。Xen运行在现有的***端内核上,你需要保证内核版本相匹配来避免兼容性问题。

当你有大量节点时,命名变得至关重要。因为Ganeti需要所有集群节点完全符合域名(FQDN)。如果你选择默认安装,你将需要在几个文件上作少许改变。这包括/etc/hosts 和/etc/hostname。用下面的命令,你可以很快区分你是否正确命名配置:

$ hostname

它应该返回debian1.mydomain.net形式的东西,而不是简单的debian1形式。你需要编辑、更改这两个文件,并执行/etc/init.d/hostname.sh来开始设置新名称。节点的真实IP地址也应该在/etc/hosts文件中使用。

Ganeti和Xen的虚拟化

虽然Ganeti需要与KVM 和Xen一起工作,这篇文章重心在Xen。这也是内核版本关键之处。执行必要步骤的最简单方法是切换到用户root,然后使用apt-get命令,如下:

$ su root
password: XXXXXXX 
# apt-get install xen-hypervisor-3.2.1-amd64 xen-linux-system-2.6.26-2-xen-amd64 xen-utils-3.2-1 xen-tools

一旦这个过程完成,你将需要重启到新内核。Uname命令应该显示如下:

$ uname –r 
2.6.26-2-xen-amd64

***一步是添加新网络设备作为虚拟实例和真实的以太网接口之间的桥梁。这需要在/etc/network/interfaces中编辑添加以下内容:

auto xen-br0 
 iface xen-br0 inet static 
   address YOUR_IP_ADDRESS
   netmask YOUR_NETMASK 
   network YOUR_NETWORK 
   broadcast YOUR_BROADCAST_ADDRESS 
   gateway YOUR_GATEWAY 
   bridge_ports eth0 bridge_stp off bridge_fd 0

这将在YOUR_IP_ADDRESS静态地址中生成名为xen-br0的新设备。一定要用适合你网络的标签更换其他“YOUR”标签。完成了编辑,你必须开始用下面的命令控制接口:

# ifdown eth0 ifup xen-br0

安装Ganeti

在完成安装Ganeti之前的***一个步骤,配置LVM卷组。假设你有一个为LVM配置的分区(我们的是 /dev/sda3),其命令是:

# pvcreate /dev/sda3 
# vgcreate xenvg /dev/sda3

现在我们已经准备好Ganeti的实际安装。要获取***版本,你必须增加一行到etc/apt/sources.list文件,以包括backports中的信息库。增加的这行是:

deb http://backports.debian.org/debian-backports lenny-backports main

完成了这些,你必须用以下命名更新APT资源资料库:

# apt-get update

***,我们可以用这样的语句安装Ganeti:

# apt-get install ganeti2

在Ganeti正在开始工作之前,我们必须完成***一件事,那就是建立一个目录,如下:

directory as follows:
# cd /root 
# mkdir .ssh

此时集群准备就绪,可以初始化为:

# gnt-cluster init cluster1.mydomain.net

这会创建所有必要的程序和默认配置文件来初始化集群。要增加第二个节点到集群,除了要完成所有前面步骤之外,你还需要使用gnt-cluster初始命令。确保你给新节点赋予的名称和IP地址是唯一的。添加新节点到集群,你需要发出命令:

# gnt-node add cluster1.mydomain.net

用这条命名,你可以看到在集群中的所有节点:

# gnt-node list

Ganeti主页有一组完整的安装说明文档。如果你碰巧遇到问题,你应该可以在freenode (#ganeti)的IRC频道得到帮助。

原文:http://www.searchsv.com.cn/showcontent_44793.htm

【编辑推荐】

  1. 大型Linux集群简介和硬件配置
  2. 大型Linux集群的安装节点和管理
  3. 基于linux的集群系统第11季 Linux集群系统的实现(上)
责任编辑:黄丹 来源: TechTarget中国
相关推荐

2012-03-18 21:41:40

linux虚拟化

2009-12-25 10:05:00

Linux虚拟化Xen虚拟化

2010-08-12 15:41:12

MySQL集群

2013-07-29 10:18:58

大数据虚拟化

2009-03-18 09:13:00

Linux虚拟化架构

2010-09-29 10:16:02

Linux集群虚拟化

2015-05-11 15:50:10

OpenStack虚拟化Mutil-Hyper

2013-05-22 09:23:33

IBMKVM虚拟化

2009-03-04 12:32:43

LinuxVMWare虚拟PC

2009-03-04 12:32:43

LinuxVMWare虚拟PC

2024-02-23 10:11:00

虚拟化技术

2015-09-09 17:25:06

2018-06-13 14:42:53

集群虚拟化搭建

2020-03-10 18:30:06

GPU虚拟化FPGA

2023-09-19 10:00:34

Linux虚拟

2009-02-02 21:08:46

2009-06-25 08:50:43

微软Windows 7操作系统

2012-07-06 10:45:46

红帽

2009-06-13 09:22:41

Linux虚拟化Xen

2009-03-19 14:50:43

虚拟化中远
点赞
收藏

51CTO技术栈公众号