zoukankan      html  css  js  c++  java
  • 在Ubuntu上安装和配置OpenStack Nova

    OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as a Service, IaaS)。OpenStack 包含两个主要模块:Nova 和 Swift,前者是 NASA 开发的虚拟服务器部署和业务计算模块;后者是 Rackspack 开发的分布式云存储模块,两者可以一起用,也可以分开单独用。OpenStack 是开源项目,除了有 Rackspace 和 NASA 的大力支持外,后面还有包括 Dell、Citrix、 Cisco、 Canonical 这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云平台 Eucalyptus 的态势。

    OpenStack 是 Python 2.6 写的,CentOS 5.6 上默认的是 Python 2.4 的环境并且还有很多依赖关系不容易升级到 2.6,所以在 Ubuntu 上安装会简单一些,而且 Ubuntu 是 OpenStack 的官方首选系统,文档都是按 Ubuntu 写的,所以这里 VPSee 采用最新的 Ubuntu 11.04 Server 64bit 版本来安装和配置 OpenStack Nova. 如果对其他类似的开源云计算平台感兴趣的话可以看看:在 CentOS 上安装和配置 OpenNebula.

    配置网络

    在安装完基本的 Ubuntu 11.04 Server 系统后升级和更新整个系统,安装完 bridge-utils 包后重启系统:

    $ sudo apt-get update
    $ sudo apt-get upgrade
    $ sudo apt-get install bridge-utils
    $ sudo reboot

    配置网桥:

    $ sudo vi /etc/network/interfaces
    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 172.16.39.111
    netmask 255.255.254.0
    gateway 172.16.38.1
    auto br100
    iface br100 inet static
    bridge_ports eth1
    bridge_stp off
    bridge_maxwait 0
    bridge_fd 0
    address 192.168.0.1
    netmask 255.255.0.0
    broadcast 192.168.255.255

    安装 NTP 服务

    OpenStack Nova 需要 NTP 服务器来保持所有节点服务器(Cloud Compute)的时间同步,所以需要在前端控制服务器(Cloud Controller)上安装 NTP 服务器,然后在节点服务器上安装 NTP 客户端保持与前端的同步:

    $ sudo apt-get install ntp
    $ sudo vi /etc/ntp.conf
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
    $ sudo /etc/init.d/ntp restart


    安装和配置 MySQL 数据库

    OpenStack Nova 需要数据库的支持,这里选用 MySQL(当然也可以用其他的数据库,比如 PostgreSQL 等):

    $ sudo apt-get install mysql-server

    修改 MySQL 绑定地址,以便其他的节点服务器也能访问这个数据库:

    $ sudo vi /etc/mysql/my.cnf
    ...
    #bind-address = 127.0.0.1
    bind-address = 0.0.0.0
    ...
    $ sudo /etc/init.d/mysql restart

    创建一个名为 nova 的数据库,并设置 root 从任何 IP 访问的权限和密码:

    $ sudo mysql -uroot -ppassword -e 'CREATE DATABASE nova;'
    $ sudo mysql -uroot -ppassword -e "GRANT ALL PRIVILEGES ON *.* TO \
    'root'@'%' WITH GRANT OPTION;"
    $ sudo mysql -uroot -ppassword -e "SET PASSWORD FOR \
    'root'@'%' = PASSWORD('password');"

    安装 Glance 镜像服务

    Glance 是个镜像服务器,用来给 OpenStack Nova 提供操作系统镜像(image)服务,提供可选择的操作系统模版(镜像)。

    $ sudo apt-get install glance

    安装 OpenStack Nova

    OpenStack Nova 已经进入 Ubuntu 11.04 源,所以直接安装就可以了,不必源码安装:

    $ sudo apt-get install rabbitmq-server nova-common nova-doc python-nova
    nova-api nova-network nova-volume nova-objectstore nova-scheduler nova-compute
    $ sudo apt-get install -y euca2ools
    $ sudo apt-get install -y unzip

    配置 Nova:

    $ sudo vi /etc/nova/nova.conf
    --dhcpbridge_flagfile=/etc/nova/nova.conf
    --dhcpbridge=/usr/bin/nova-dhcpbridge
    --logdir=/var/log/nova
    --state_path=/var/lib/nova
    --lock_path=/var/lock/nova
    --verbose
    --s3_host=172.16.39.111
    --rabbit_host=192.168.0.1
    --cc_host=192.168.0.1
    --ec2_url=http://172.16.39.111:8773/services/Cloud
    --fixed_range=192.168.0.0/16
    --network_size=8
    --FAKE_subdomain=ec2
    --routing_source_ip=192.168.0.1
    --sql_connection=mysql://root:password@172.16.39.111/nova
    --glance_host=192.168.0.1
    --image_service=nova.image.glance.GlanceImageService

    重启 nova 相关服务以便设置生效:

    $ sudo restart libvirt-bin; sudo restart nova-network;
    sudo restart nova-compute; sudo restart nova-api;
    sudo restart nova-objectstore; sudo restart nova-scheduler;
    sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry

    使用 Nova

    开始使用 Nova 前需要创建 nova 数据库表、创建网络、创建管理员帐号、创建云并联到刚才创建的管理员上:

    $ sudo nova-manage db sync
    $ sudo nova-manage network create 192.168.0.0/24 1 255
    $ sudo nova-manage floating create 10.10.10.2 10.10.10.224/27
    $ sudo nova-manage user admin vpsee
    $ sudo nova-manage project create mycloud vpsee

    因为多个管理员可以创建多个不同的云,所以某个云的管理员需要特定的权限才能访问和管理自己的 Nova 云,创建权限信息,并解压到自己的目录里,需要注意的是每次使用 nova 管理云的时候都需要读取 novarc 里面的配置信息:

    $ mkdir /home/vpsee/creds
    $ sudo nova-manage project zipfile mycloud vpsee /home/vpsee/creds/novacreds.zip
    $ cd /home/vpsee/creds
    $ unzip novacreds.zip
    $ sudo chown -R vpsee:vpsee /home/vpsee/creds/
    $ source /home/vpsee/creds/novarc

    每次用 nova 的时候都要用到 novarc 里面的环境变量,每次 source novarc 很麻烦,所以最好加到 .bashrc 里面:

    $ cat /home/vpsee/creds/novarc >> /home/vpsee/.bashrc
    $ source /home/vpsee/.bashrc

    再次重启 nova 相关的所有服务:

    $ sudo restart libvirt-bin; sudo restart nova-network;
    sudo restart nova-compute; sudo restart nova-api;
    sudo restart nova-objectstore; sudo restart nova-scheduler;
    sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry

    如果一切正常的话,应该可以打印出如下的类似信息:

    $ euca-describe-availability-zones verbose
    AVAILABILITYZONE nova available
    AVAILABILITYZONE |- node00
    AVAILABILITYZONE | |- nova-scheduler enabled :-) 2011-05-22 10:32:31
    AVAILABILITYZONE | |- nova-network enabled :-) 2011-05-22 10:32:32
    AVAILABILITYZONE | |- nova-compute enabled :-) 2011-05-22 10:32:24

    启动第一个实例

    启动实例之前需要先上传一个系统模版,我们称之为镜像(image),自己制作操作系统镜像有点麻烦,这里直接使用一个已经做好的 Ubuntu 10.10 版本镜像,下载已经做好的镜像文件并上传到镜像服务器(这里镜像服务器和前端服务器在同一台物理服务器上):

    $ wget http://c0179148.cdn1.cloudfiles.rackspacecloud.com/ubuntu1010-UEC-localuser-image.tar.gz
    $ uec-publish-tarball ubuntu1010-UEC-localuser-image.tar.gz ubuntu1010-bucket x86_64

    列出云里现有的可以加载的镜像,并以某个镜像(比如编号为 ami-00000003)为模版启动一个实例(操作系统):

    $ euca-describe-images
    IMAGE aki-00000001 ubuntu1010-bucket/vmlinuz-2.6.32-28-server.manifest.xml available public x86_64 kernel
    IMAGE ari-00000002 ubuntu1010-bucket/initrd.img-2.6.32-28-server.manifest.xmavailable public x86_64 ramdisk
    IMAGE ami-00000003 ubuntu1010-bucket/maverick-server-uec-amd64.img.manifest.xml available public x86_64 machine aki-00000001 ari-00000002
    $ euca-run-instances -k mykey -t m1.tiny ami-00000003

    检查一下实例是否成功启动和运行:

    $ virsh list
    Id Name State
    ----------------------------------
    1 instance-00000001 running

    访问实例

    启动实例后怎么访问呢?和访问 VPS 一样,需要 IP 地址然后 ssh 访问,还记得上面的网络配置么,新创建的系统将按照 192.168.0.x 的形式分配 IP,所以 192.168.0.3 就是刚刚 euca-run-instances 创建的实例的 IP 地址:

    $ ssh ubuntu@192.168.0.3

    原文:http://www.vpsee.com/2011/05/install-openstack-nova-on-ubuntu/

  • 相关阅读:
    古谚、评论与论断、名篇与名言
    重读《西游记》
    重读《西游记》
    命名之法 —— 时间、季节、地点
    命名之法 —— 时间、季节、地点
    文言的理解 —— 古时的称谓、别称、别名
    文言的理解 —— 古时的称谓、别称、别名
    Oracle GoldenGate for Oracle 11g to PostgreSQL 9.2.4 Configuration
    瀑布 敏捷 文档
    POJ 1325 ZOJ 1364 最小覆盖点集
  • 原文地址:https://www.cnblogs.com/mumue/p/2467013.html
Copyright © 2011-2022 走看看