天天看點

[網摘學習]使用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:[email protected]/nova

  s3_host=10.1.29.15

  rabbit_host=10.1.29.15

  ec2_host=10.1.29.15

  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 [email protected]

  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 [email protected] ;或通過 qq:363573922 微網誌:@念槐聚 聯系;