`
haoningabc
  • 浏览: 1476870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)libvirt和Fedora 13 上搭建Eucalyptus

阅读更多
转载
http://blog.csdn.net/hispania/archive/2010/09/24/5902926.aspx
http://blog.csdn.net/MagBryan/archive/2010/03/22/5403907.aspx

Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。这些软件包括一个API库、一个daemon(libvirtd)和一个命令行工具(virsh)。Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和hypervisor。比如,命令行“virsh list -- all”可以列出所有任何支持的、基于hypervisor的虚拟机,这就避免学习、使用不同hypervisor的特定工具。
“使用libvirt”,意味着使用virsh、virt-manager、virt-install等工具管理虚拟机,这些工具都是围绕着libvirt开发的。人们不再直接使用基于XEN的xm、或是qemu【注1】/qemu-kvm【注2】等二进制工具。
libvirt的主要功能包括:

虚拟机管理:包括不同的领域生命周期操作,比如:启动、停止、暂停、保存、恢复和迁移。支持多种设备类型的热插拔操作,包括:磁盘、网卡、内存和CPU。
远程机器支持:只要机器上运行了libvirt daemon,包括远程机器,所有的libvirt功能就都可以访问和使用。支持多种网络远程传输,使用最简单的SSH,不需要额外配置工作。比如:example.com运行了libvirt,而且允许SSH访问,下面的命令行就可以在远程的主机上使用virsh命令行。 (可参考 http://libvirt.org/remote.html )
         virsh --connect qemu+ssh://root@example.com/system

存储管理:任何运行了libvirt daemon的主机都可以用来管理不同类型的存储:创建不同格式的文件映像(qcow2、vmdk、raw等)、挂接NFS共享、列出现有的LVM卷组、创建新的LVM卷组和逻辑卷、对未处理过的磁盘设备分区、挂接iSCSI共享,等等等等。因为libvirt可以远程工作,所有这些都可以通过远程主机使用。(可参考http://libvirt.org/storage.html )
网络接口管理:任何运行了libvirt daemon的主机都可以用来管理物理和逻辑的网络接口。可以列出现有的接口卡,配置、创建接口,以及桥接、vlan和关联设备等,通过netcf都可以支持。
虚拟NAT和基于路由的网络:任何运行了libvirt daemon的主机都可以用来管理和创建虚拟网络。Libvirt虚拟网络使用防火墙规则作为路由器,让虚拟机可以透明访问主机的网络。(可参考:http://libvirt.org/archnetwork.html )
Libvirt支持的Hypervisor列表: http://libvirt.org/drivers.html

Xen
QEMU
LXC
Test
OpenVZ
VirtualBox
OpenNebula
VMware ESX
Libvirt基于GNU Lesser General Public License协议。


注1: QEMU 是一种处理器模拟器,依赖于动态二进制翻译机制,在易于移植至新的主机CPU架构的同时,还要获得合理的速度响应。除提供CPU模拟之外,它还提供了一系列设备模型,允许它运行多种未经修改的客户操作系统;因此QEMU可以被看做一个宿主虚拟机监控软件。它还提供了加速模式,以支持(供kernel code的)二进制翻译和原生执行(供user code)的混合方式,这与VMware Workstation和Microsoft VirtualPC相同。
QEMU 也可以用作纯用户级处理的CPU模拟,在这种运作模式下,它类似于Valgrind。
QEMU有一个特有的可移植性功能,虚拟机可以运行在任何PC之上,即使用户只有有限的权限,而且没有管理员访问权限也没有关系,这让“USB优盘上的PC”这一概念变得可行。也有类似的应用,比如MojoPac,但是它们需要管理员权限才能运行。
注2: KVM,Kernel-based Virtual machine 。KVM是一种Linux下的kernel虚拟化基础结构,它自身无法进行任何模拟。需要用户空间的程序使用/dev/kvm接口来设置客户虚拟机的地址空间,像其输入I/O,并将其视频显示映射至主机。QEMU自0.10.0之后可以使用KVM。
-------------------------------------------------

这个没有试验,感觉和ubuntu上查不多,就收藏一下
在Fedora 13 上搭建Eucalyptus ( 你自己的云平台) 收藏
   在开始搭建之前:要确保2件事——关闭防火墙 及 关闭 SELINUX。

   关闭防火墙的指令为:#service iptables stop .

   关闭SELINUX 稍微麻烦一点:step 1:  先cd到指定路径下:# cd /etc/selinux ;step 2: 修改文件config :vi config ;step 3:最为重要的一步:将SELINUX=“XXX” 修改成 SELINUX=disabled 。 step 4: 重启电脑。

   重新开机后:输入指令 getenforce ,如果显示disabled,表示修改成功。

==================================================================================

   接着进入搭建环节:(按照官网的来)

   step 1:   yum install -y ntp

                 ntpdate pool.ntp.org

   step 2:   yum install -y java-1.6.0-openjdk ant ant-nodeps  dhcp httpd

                 yum install -y aoetools vlade vtun

   step 3:   yum install -y qemu-kvm libvirt

                 groupadd libvirt(这步官网上没写,但一定要做)

   step 4:   cd /etc/yum.repos.d

                 vi euca.repo

                 在该文件中写入,如下四行:

                 [euca]

                 name=Eucalyptus

                 baseurl=http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/2.0.0/yum/fedora

                 enable=1

                 保存退出后,输入命令:

                 yum install eucalyptus-cloud eucalyptus-cc eucalyptus-walrus eucalyptus-sc --nogpgcheck

   step 5:   vi /etc/libvirt/libvirtd.conf,修改如下指令:

                 #unix_sock_group = "libvirt"        =>  unix_sock_group = "libvirt"
                 #unix_sock_ro_perms = "0777"   =>  unix_sock_ro_perms = "0777"
                 #unix_sock_rw_perms = "0770"  =>  unix_sock_rw_perms = "0770"
                 #auth_unix_ro = "none"              =>  auth_unix_ro = "none"
                 #auth_unix_rw = "none"             =>  auth_unix_rw = "none"
  step 6:    先停止libvirt,再启动:

                 /etc/init.d/libvirtd stop
                 /etc/init.d/libvirtd start
                 chown root:libvirt /var/run/libvirt/libvirt-sock
                 chown root:libvirt /var/run/libvirt/libvirt-sock-ro

  step 7:    启动你的云平台eucalyptus 吧:

                 /etc/init.d/eucalyptus-cloud start
                 /etc/init.d/eucalyptus-cc start

==================================================================================
  完成如上步骤以后,在IE 中还是看不到你的云平台的,还要完成注册的步骤,方能显示,步骤如下:

  step 1 :  #euca_conf --register-walrus <your IP address> (注:不需要尖括号)

  step 2:   #euca_conf --register-cluster <clustername> <your IP address>

                如果不知道自己的IP ,可以通过#ifconfig eth0 查看。

  如果还想确认一下的话,可以输入命令:

                #euca_conf --list-walruses 和 euca_conf --list-clusters 进行查看。

==================================================================================

现在可以在IE中输入网址:http://your IP address:8443 就能够查看到你自己搭建的eucalyptus 云平台了:账号和密码初始化都为

admin.

在搭建过程中,我们遇到过一个棘手的问题,就是每次重启完之后,IE页面又无法正常显示,现在只找到了应急的方法:

在你第一次正常搭建完之后,请将/var/run/eucalyputs/下的webapp 文件夹,复制一份到其他地方(我放在/opt/下)。每次重启完之

后,它会自动将webapp下,子文件夹里的内容清空,导致WEBUI无法看到。你只要将那份备份的webapp,复制回来就可以了。

好的方法还在寻找中。
分享到:
评论

相关推荐

    libvirt和ruby-libvirt在Macos系统上安装失败解决方法

    在IT行业中,libvirt是一个非常重要的工具,它提供了一个API来管理虚拟化平台,如KVM、Xen、QEMU等。Ruby-libvirt是libvirt的Ruby语言...通过上述方法,你应该能够成功在MacOS上搭建libvirt和ruby-libvirt的开发环境。

    Libvirt 介绍

    Libvirt 是一个开源项目,提供了一组 API、工具和库,用于管理和控制虚拟化平台。在 OpenStack 环境中,Libvirt 是一个至关重要的组件,它为各种虚拟化技术(如 KVM、Xen、QEMU 和 LXC)提供了统一的接口,使得 ...

    Libvirt虚拟化技术介绍.pdf

    Libvirt虚拟化技术的应用非常广泛,包括OpenStack、OpenNebula、Eucalyptus等云计算平台,virt-manager、virsh等虚拟机管理工具等。 Libvirt虚拟化技术是当前最流行的虚拟化技术之一,提供了一套管理虚拟机的、...

    Libvirt Qemu KVM 教程大全

    本文档介绍了虚拟化的基础知识、不同类型的虚拟化技术以及 KVM、Qemu 和 Libvirt 之间的关系。通过了解这些核心概念和技术细节,您可以更好地理解如何在实际环境中部署和管理虚拟化环境。接下来的章节将深入探讨 ...

    Foundations of Libvirt Development.pdf

    本文档是关于libvirt开发的资料,主要内容涉及使用Python搭建和维护虚拟机环境。libvirt是一个开源API库,它提供了对虚拟化技术如KVM, Xen和QEMU等进行管理的接口。在IT行业中,libvirt库被广泛用于开发和管理虚拟化...

    libvirt application开发指南C语言

    libvirt是Linux下管理虚拟化资源的开放源代码API,它支持KVM、Xen和VMware等虚拟化技术。本文档是《libvirt C语言应用开发指南》的摘录,介绍了如何利用libvirt开发应用程序。文档详细说明了libvirt的架构、对象模型...

    Eucalyptus安装

    每个物理服务器上都会安装一个InstanceManager服务来监控和管理其上的虚拟机。 2. **GroupManager**:用于管理一组InstanceManager。它负责收集来自不同InstanceManager的信息,并管理由多个虚拟机节点组成的一个...

    PHP简单管理Libvirt虚拟机

    Libvirt是一个强大的开源库,用于管理和控制虚拟化平台,如KVM、Xen、QEMU等。这个PHP管理器利用Libvirt的API来执行各种操作,使非专业用户也能方便地进行虚拟机的日常维护。 该管理系统的核心功能包括: 1. **...

    Qemu KVM and Libvirt

    Qemu KVM 和 Libvirt 是虚拟化领域中的三个重要概念,分别是虚拟机监控器、内核模块和虚拟机管理工具。本文将对这三个概念进行解析,并探讨它们之间的关系。 虚拟化的基本类型 虚拟化可以分为三种基本类型:半虚拟...

    libvirt-java0.4.7

    《深入理解libvirt-java 0.4.7:构建虚拟化世界的桥梁》 在IT行业中,虚拟化技术已经成为云计算和数据...通过深入了解和掌握libvirt-java,开发者可以更高效地构建和管理虚拟化环境,提升业务系统的灵活性和可扩展性。

    libvirt源码

    Libvirt拥有活跃的开源社区,开发者可以在官方论坛、邮件列表和GitHub上获取帮助,参与讨论,报告问题或贡献代码。 总的来说,libvirt源码是理解和定制虚拟化管理的宝贵资源。通过学习和研究,开发者可以提升对...

    libvirt-snmp 网络管理接口

    它基于客户端-服务器模型,由管理站(管理软件所在设备)和代理(被管理设备上的软件)组成。SNMP通过发送陷阱消息(traps)和轮询(polling)机制,帮助管理员获取网络中的实时信息。 **libvirt-snmp 的功能** 1....

    libvirt-test-API

    - **scripts 目录**: 可用于在指定的 Fedora 16 系统上安装 autotest-server。 - **src 目录**: 包含框架代码。 #### 编写测试案例 文档中包含了一个测试案例的模板,该模板展示了如何编写测试案例的基本结构。模板...

    libvirt-1.3.5.tar.gz

    除了核心功能,libvirt还有许多附加组件和项目,如libguestfs用于在 guest OS 上执行文件系统操作,libvirt-vnc和SPICE用于图形化会话管理,以及libvirt-storage用于存储后端的抽象。 总结来说,libvirt作为虚拟化...

    libvirt编译安装

    libvirt支持多种类型的虚拟化技术,包括KVM、Xen、VirtualBox等,使用户能够在不同的平台上统一管理和操作虚拟机。 #### 1. 下载libvirt源码 首先,你需要下载libvirt的源代码包。可以通过以下命令从libvirt官网的...

    libvirt application开发指南 python

    本文档是一份针对使用Python语言进行libvirt应用程序开发的指南。...通过本指南的学习,开发者将掌握如何使用Python语言结合libvirt的API来进行虚拟化环境的开发和管理,这对于进行云计算平台开发和运维将非常有帮助。

    libvirt -java绑定

    libvirt java绑定包 提供java API

    libvirt内部原理

    Libvirt的开发目标是提供一个通用和稳定的抽象层,以便安全地管理节点上的虚拟机,包括可能远程的节点。Libvirt的功能涵盖了虚拟机的生命周期管理、存储管理、网络管理,以及虚拟网络的创建和监控。 在体系结构上,...

    libvirt0.9.4.tar.gz

    1. **多平台支持**:libvirt0.9.4支持多种虚拟化平台,包括Linux上的KVM、Xen,以及Windows上的Hyper-V等,提供了一致的编程接口,降低了开发难度。 2. **丰富的API**:该版本提供了C语言的API,同时也支持Python、...

Global site tag (gtag.js) - Google Analytics