云开源框架OpenStack安装笔记nova篇(转载)

刚刚参加了第三届云计算大会,对 RackSpace(美国排名第二的云计算提供商)的OpenStack比较有兴趣,将来的工作也需要用到,毕竟要和自家的C系列服务器搭配,事先熟悉一下吧。

OpenStack Compute Administration Manual

http://docs.openstack.org/cactus/openstack-compute/admin/content/
本文转自:http://blog.csdn.net/alen1985/archive/2011/03/11/6240314.aspx
======================================================================================

OpenStack安装总结
                                        ---nova篇

一、系统
ubuntu 10.04 Desktop 
机器ip:10.1.29.15
官方网站:http://www.openstack.org/

二、nova的安装

1.安装所用的信息服务器:Rabbitmq
sudo apt-get install rabbitmq-server

2.安装nova
1)nova包安装
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:nova-core/trunk
sudo apt-get update
注意:如果sudo add-apt-repository ppa:nova-core/trunk不行,换成sudo add-apt-repository ppa:nova-core/release

2)nova依赖包安装
sudo apt-get install python-nova
sudo apt-get install python-greenlet python-mysqldb python-nova nova-common nova-doc nova-api nova-network nova-objectstore nova-scheduler nova-compute euca2ools unzip

3)配置nova(/etc/nova/nova.conf)
这个文件是安装nova后自动生成的,如果没有,估计是系统问题。
vim /etc/nova/nova.conf
机器上内容如下:
------------------------------
--daemonize=1
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--loggdir=/var/log/nova
--state_path=/var/lib/nova
--verbose
--sql_connection=mysql://root:nova@10.1.29.15/nova
--s3_host=10.1.29.15
--rabbit_host=10.1.29.15
--ec2_host=10.1.29.15
--verbose
--ec2_url=http://10.1.29.15:8773/services/Cloud
--network_manager=nova.network.manager.VlanManager
--fixed_range=10.0.0.0/12
--network_size=8
-------------------------------
注意:10.1.29.15是我电脑ip,替换成你自己的ip即可

4)创建群组并授权
addgroup nova
chown -R root:nova /etc/nova
chmod 644 /etc/nova/nova.conf

3.安装mysql

1)绕过所有安装提示,加快安装速度
bash
MYSQL_PASS=nova
cat <<MYSQL_PRESEED | debconf-set-selections
mysql-server-5.1 mysql-server/root_password password $MYSQL_PASS
mysql-server-5.1 mysql-server/root_password_again password $MYSQL_PASS
mysql-server-5.1 mysql-server/start_on_boot boolean true
MYSQL_PRESEED

2)安装mysql
apt-get install -y mysql-server

3)编辑/etc/mysql/my.cnf,绑定地址
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
service mysql restart
注:sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf表示在行内全面用127.0.0.1代替0.0.0.0

4)mysql配置
创建nova数据库
mysql -uroot -p$MYSQL_PASS -e 'CREATE DATABASE nova;'
root用户为超级用户权限
mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;"
设置root用户密码
mysql -uroot -p$MYSQL_PASS -e "SET PASSWORD FOR 'root'@'%' = PASSWORD('$MYSQL_PASS');"
注意:mysql的root用户初始密码为空,在设置密码时候,最好自己设定一个密码来代替$MYSQL_PASS

4.网桥配置
vim /etc/network/interfaces
修改后内容如下:
-------------------------------------------
# The loopback network interface
auto lo
iface lo inet loopback

# Networking for NOVA
auto br100
iface br100 inet static
    address 10.1.29.15
    netmask 255.0.0.0
    network 10.0.0.0
    broadcast 10.255.255.255
    gateway 10.1.0.254
    bridge_ports eth0
    bridge_stp   off
    bridge_maxwait 0
    bridge_fd      0
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 59.108.119.3
-----------------------------------------------
注意:在官方配置介绍用的是DHCP,这里使用静态ip地址,根据实际情况,修改相应的address、netmask、network、broadcast、gateway、dns等。
最后,重启mysql:sudo /etc/init.d/networking restart

5.nova环境配置
/usr/bin/nova-manage db sync
/usr/bin/nova-manage user admin dub
/usr/bin/nova-manage project create dubproject dub
/usr/bin/nova-manage network create 192.168.0.0/24 1 255

注意:数据名、用户名、项目名等都可以自己设定。

6.nova认证
mkdir –p /root/creds
/usr/bin/python /usr/bin/nova-manage project zipfile $NOVA_PROJECT $NOVA_PROJECT_USER /root/creds/novacreds.zip
unzip /root/creds/novacreds.zip -d /root/creds/
cat /root/creds/novarc >> ~/.bashrc
source ~/.bashrc
注意:要在root下能建立目录,必须是root用户,可以用以下命令:
sudo passwd root
su root
输入密码,进入root用户

7.重启相关服务
/etc/init.d/libvirt-bin restart; service nova-network restart; service nova-compute restart; service nova-api restart; service nova-objectstore restart; service nova-scheduler restart
注意:/etc/init.d/libvirt-bin代替libirtd,ubuntu中没有libirtd

8.授权ping和ssh命令给VMS
euca-authorize -P icmp -t -1:-1 default
euca-authorize -P tcp -p 22 default
---(不能ping或ssh时候,使用以下命令)----
killall dnsmasq 
service nova-network restart
---------------------
chgrp kvm /dev/kvm
chmod g+rwx /dev/kvm

配置防火墙
# iptables -t nat -A PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.1.29.15:8773
注意:10.1.29.15改成你自己机器的ip

8.安装后测试
1)查看mysql中services表数据
mysql -u$root-p$nova nova -e 'select * from services;'
注意:root是用户名,nova是密码,用你自己设定的mysql用户名和密码即可。

2)获取image
image="ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz"
wget http://smoser.brickies.net/ubuntu/ttylinux-uec/$image
uec-publish-tarball $image mybucket

3)为ssh创建安全认证
euca-add-keypair mykey > mykey.priv
chmod 0600 mykey.priv

4)查看镜像
euca-describe-images

5)运行
euca-run-instances $emi -k mykey -t m1.tiny
注意:$emi用实际的代替,如:ami-u5o8a5lg
euca-describe-instances
ssh -i mykey.priv root@10.1.29.15
euca-terminate-instances ami-u5o8a5lg-id

--------------------------------------------
到此,nova的私有云就安装完毕!

主要参考:
http://wiki.openstack.org/NovaInstall/DevPkgInstall

原文地址:https://www.cnblogs.com/licheng/p/2053097.html