再收藏一份openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究.
在安装完基本的 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
openstack nova 需要 ntp 服务器来保持所有节点服务器(cloud compute)的时间同步,所以需要在前端控制服务器(cloud controller)上安装 ntp 服务器,然后在节点服务器上安装 ntp 客户端保持与前端的同步:
$ sudo apt-get install ntp
$ sudo vi /etc/ntp.conf
$ sudo /etc/init.d/ntp restart
openstack nova 需要数据库的支持,这里选用 mysql(当然也可以用其他的数据库,比如 postgresql 等):
$ sudo apt-get install mysql-server
修改 mysql 绑定地址,以便其他的节点服务器也能访问这个数据库:
$ sudo vi /etc/mysql/my.cnf
$ 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 是个镜像服务器,用来给 openstack nova 提供操作系统镜像(image)服务,提供可选择的操作系统模版(镜像)。
$ sudo apt-get install glance
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
$ sudo vi /etc/nova/nova.conf
$ 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 数据库表、创建网络、创建管理员帐号、创建云并联到刚才创建的管理员上:
$ 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
$ 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 地址:
其他转载的内容出于传递更多信息之目的,若无意侵犯了您的知识产权,请告之我们。
转载请注明出处:http://www.cnblogs.com/haochuang/