[网摘学习]使用openstack构建私有云计算平台

  一、系统

  ubuntu 10.04 Desktop

  机器ip:10.1.29.15

  二、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-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://hb.qq.com/a/20110930/001298.htm

转载请注明出处:http://www.cnblogs.com/haochuang/ 8年IT工作经验,5年测试技术与管理,2年产品与项目管理,曾参与过云计算\云存储\车联网产品研发工作; 业余自媒体人,有技术类垂直微信公众号;如有招聘或求职方面需求,请Mail to uetest@qq.com ;或通过 QQ:363573922 微博:@念槐聚 联系;

上一篇:nhibernate入门使用经验


下一篇:「征集」2021阿里巴巴研发效能峰会议题征集