当前位置: 首页 > 编程日记 > 正文

[网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究.

原文参考:http://www.linuxde.net/2011/11/1599.html此处仅供学习记录,版权归原作者.

OpenStack 是 Python 2.6 写的,CentOS 5.6 上默认的是 Python 2.4 的环境并且还有很多依赖关系不容易升级到 2.6,所以在 Ubuntu 上安装会简单一些,而且 Ubuntu 是 OpenStack 的官方首选系统,文档都是按 Ubuntu 写的,所以这里 VPSee 采用最新的 Ubuntu 11.04 Server 64bit 版本来安装和配置 OpenStack Nova。

配置网络

在安装完基本的 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

  • 本站原创或编译的内容欢迎以任何形式来转载,转载请注明:文章来自 Linux Today
  • 其他转载的内容出于传递更多信息之目的,若无意侵犯了您的知识产权,请告之我们。
  • 本文固定链接:http://www.linuxde.net/2011/11/1599.html
  • 对《在Ubuntu上安装和配置OpenStack Nova》有何疑问或见解,请发表您的评论与网友交流: )
  • 若有其他问题或建议,请提交在留言板,谢谢!

转载于:https://www.cnblogs.com/haochuang/archive/2011/11/18/2253371.html

相关文章:

【Linux】Linux computer文件夹下各种文件的作用

1、bin:放可执行文件,一些Linux的命令 注:Linux的命令最终都是一些程序,这些程序都放在bin目录和sbin目录 2、boot : 启动目录 3、dev : 存放设备 注:在Linux中把所有硬件都叫设备 4、etc: 安装软件的各种…

售前十年,两种人生

售前十年,两种人生,多重感悟! 售前第一年: 你 开始会觉得兴奋、紧张、恐慌。你对客户的提问,会有机械性的反应,试着说服他,但客户的表现总让你很茫然,你总是想把自己装扮的像一个专家,甚至故意打…

点击返回上一页面

οnclick"javascript:window.history.back(-1);" 方法一、以按钮点击的方式实现&#xff1a; <input type"button" name"Submit" value"返回上一页" οnclick"javascript:window.history.back(-1);"> 或者 &l…

【Linux】Linux 简单操作指令之磁盘管理

注&#xff1a;有关Linux全面的命令可以到网站&#xff1a;http://linux.51yip.com/查询 1、pwd : 显示当前所在位置 2、ll : 显示当前目录下的内容 注&#xff1a; (1)如果开头为一个 d 则为一个文件夹 如果开头为 - 则是一个文件 (2)ll后可以跟上一个目录&#xff0c;表示显…

浅说——九讲背包之01背包

所谓九讲&#xff0c;也就是&#xff1a;0/1背包 0/1背包降维 完全背包 多重背包(二进制优化) 混合背包 二维费用背包 分组背包 有依赖的背包 背包的方案总数\背包的具体方案路径 0/1背包&#xff1a; [问题描述]&#xff08;经典&#xff09;有一个吝啬的地主&#xff0c;不愿…

msvcrt.lib和LIBCD.lib链接冲突

今天在移植一个开源代码到windows的VC6工程&#xff0c;编译时出现了这些奇怪的LINK错误。 msvcrt.lib(MSVCRT.dll) : error LNK2005: _toupper already defined in LIBCD.lib(toupper.obj)msvcrt.lib(MSVCRT.dll) : error LNK2005: _tolower already defined in LIBCD.lib(to…

Oracle 小知识点

-- 表create table test (names varchar2(12),dates date,num int,dou double);-- 视图create or replace view vi_test asselect * from test;-- 同义词create or replace synonym aafor dbusrcard001.aa;-- 存储过程create or replace produce dd(v_id in employee.empoy…

CC2540获取本机MAC地址

//获取自身蓝牙地址void GetOwnAddr(void){ static uint8 ownAddress[6] {0}; ownAddress[5] XREG(0x780E); ownAddress[4] XREG(0x780F); ownAddress[3] XREG(0x7810); ownAddress[2] XREG(0x7811); ownAddress[1] XREG(0x7812); ownAddress[0] XREG(0x7813);}转载于:h…

mysql的小练习

建立如下表&#xff1a; 建表语句&#xff1a; class表创建语句 create table class(cid int not null auto_increment primary key, caption varchar(32) not null)engineinnodb default charsetutf8;student表创建语句 create table student(-> sid int not null auto_inc…

针对 Windows Phone 7 上的独立存储的 Sterling

http://msdn.microsoft.com/zh-cn/magazine/hh205658.aspx转载于:https://www.cnblogs.com/thankchunzi/archive/2011/11/18/2254416.html

【Linux】Linux简单操作之文件管理

1、mkdir : 创建文件夹 2、rm &#xff1a; 删除文件或目录 注&#xff1a; 凡是涉及到路径&#xff0c;绝对路径相对路径都可以 &#xff08;1&#xff09;直接使用 rm 文件名可以删除文件&#xff0c;但删除不了文件夹 &#xff08;2&#xff09;删除时会有一行提示 如果…

phpmyadmin另类拿shell

发现了个PHPMYADMIN 结果弱口令登陆进去 爆出绝对路径 然后执行SQL语句发现导出SHELL的时候却发现缺少了import.php这个文件 结果没办法执行MYSQL语句&#xff01; 然后本地测试了下 发现另外的方法phpMyAdmin/sql.php?dbtest&tablea&printview1&sql_queryselect%…

第二章、IP协议详解

一、IP服务的的特点 IP协议是TCP/IP协议族的动力&#xff0c;他为上层协议提供的无状态无连接&#xff0c;不可靠的服务。 无状态是指IP通信双方不同步传输数据的状态信息&#xff0c;因此所有的ip数据报的发送&#xff0c;传出和接受都是相互独立的&#xff0c;没有上下文的联…

为绑定的NSArrayController设置默认的排序

当NSArrayController与一个class或者entity进行绑定&#xff08;Binding&#xff09;之后&#xff0c;可以为这个NSArrayController设置默认的排序。通过在Bindings Insepector中选择Controller Content Parameters -> Sort Descriptor进行默认排序的设定。 1、在.h文件中创…

快速求斯特林数总结(洛谷模板题解)

题目链接 第一类斯特林数行第一类斯特林数列第二类斯特林数行第二类斯特林数列 求一行第一类斯特林数 由第一类斯特林数的推论&#xff0c;\(x^{\overline{n}}\sum_i\begin{bmatrix}n\\i\end{bmatrix}x^i\)&#xff0c;分治FFT计算上升幂即可 \(O(nlog^2n)\)。 求一列第一类斯特…

【Linux】Linux简单操作之系统管理

1、date &#xff1a; 显示系统时间 注 &#xff1a;系统操作与所在的文件夹无关&#xff0c;在哪都能操作。 2、su &#xff1a; 切换账号 注&#xff1a; &#xff08;1&#xff09;如果高级用户切换低级用户可以直接切换&#xff0c;不用密码 &#xff08;2&#xff09;…

嵌入式开发博客收藏

http://hbhuanggang.cublog.cn 嵌入式linux之我行 http://blog.csdn.net/fudan_abc fudan_abc的Linux内核专栏 http://blog.chinaunix.net/space.php?uid20543672

【Python3.6+Django2.0+Xadmin2.0系列教程之一(入门篇-上)】环境搭建及项目创建

由于工作需要&#xff0c;接触了大半年时间的Djangoxadmin框架&#xff0c;一直没空对这块对进行相关的梳理。最近在同事的怂恿下&#xff0c;就在这分享下笔者的学习及工作经验吧。 好了&#xff0c;话不多说&#xff0c;下面开始进入正题&#xff1a; 转载请注明出处&#xf…

JavaScript深拷贝Json

今天因为项目需要写了个Json格式的深拷贝&#xff08;深度复制&#xff09;。很简单&#xff0c;没有做其他的判断&#xff0c;代码如下&#xff1a; function deepCopy(json){if(typeof json number || typeof json string || typeof json boolean){return json;}else if(t…

【Linux】Linux简单操作之压缩解压

一、tar &#xff1a; 归档 格式&#xff1a;tar 参数&#xff08;必须有&#xff09; 要被压缩的文件或目录 1、创建归档文件 格式&#xff1a; tar -zvcf 归档文件名 要归档文件列表 注意&#xff1a; &#xff08;1&#xff09;z是压缩 v是显示详细信息 c是创建压缩文件…

Firefox 的User Agent 将移除 CPU 架构信息

Mozilla 计划从 Firefox 的 User Agent&#xff08;用户代理&#xff09;和几个支持的 API 中移除 CPU 架构信息&#xff0c;以减少 Firefox 用户的“数字指纹”。Web 浏览器会自动向用户在应用程序中打开的网站显示信息&#xff0c;而用户代理会显示有关浏览器和浏览器版本、操…

工程师必读 微软如何部署Exchange2010

一年一度的IT技术盛典——微软TechEd2010大会将于2010年12月1日正式开幕。为了更好地为网友和读者报道今年的大会&#xff0c;我们IT168前方的记者在TechEd会场&#xff0c;为读者带来第一时间的报道。 在今天的大会现场&#xff0c;来自微软的高级顾问陈刘项为我们全面介绍了关…

线程范围内的数据共享

1、如果每个线程执行的代码相同&#xff0c;可以使用同一个Runnable对象&#xff0c;这个Runnable对象中有那个共享数据&#xff0c;例如&#xff0c;买票系统就可以这么做。 2、如果每个线程执行的代码不同&#xff0c;这时候需要用不同的Runnable对象&#xff0c;有如下两种方…

Setting the Reply-To Header in an Email using CDONTS.NewMail Object and CDO Message

代码 1 <%2 OptionExplicit3 4 DimobjMail5 DimstrSubject6 DimstrBody7 8 strSubject "This is a test email"9 strBody "This test email is using testdevasp.com "&_10 "as the sender email address but we are "&_11 "…

Codeforces Beta Round #95 (Div. 2) 部分解题报告 (dp,组合数,)

做这样的比赛既考快速编码的能力&#xff0c;还有快速思维的能力。本人很弱&#xff0c;跌了rating。。加油&#xff01;&#xff01;&#xff01;。。 第一题上来就把题意理解错了。。粗心啊。。直接模拟着做就行:1&#xff1a;如果字符串全是大写字母就进行大小写转换:2&…

【Linux】 Linux简单操作之网络通信和网络访问

一、网络通信 1、ifconfig &#xff1a; 查看ip信息 2、ping &#xff1a; 测试网络连通 格式 &#xff1a; ping ip或域名 注&#xff1a; 通过该测试你能知道你的计算机是不是能联网的。 二、网络访问 1、curl &#xff1a; 测试网络访问和模拟用户访问 2、wget &#x…

将类别加入到别人的名称空间内

怎样把自己的类别加入到别人的名称空间内&#xff0c;在引用时&#xff0c;能在别人的名称空间下使用到自己写的类别。 这是一位台湾朋友问及此问题&#xff0c;因此录制一个视频做演示&#xff1a; 视频文件格式&#xff1a;.wmv&#xff1b;大小&#xff1a;9,706KB&#xff…

Linux内核初期内存管理---memblock(转)

http://www.maxwellxxx.com/linuxmemblock转载于:https://www.cnblogs.com/erhu-67786482/p/8873112.html

看懂SqlServer查询计划(转)

转自&#xff1a;http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html 对于SqlServer的优化来说&#xff0c;可能优化查询是很常见的事情。关于数据库的优化&#xff0c;本身也是一个涉及面比较的广的话题&#xff0c;本文只谈优化查询时如何看懂SqlServer查询计划…

openoj的一个小比赛(F题解题报告)poj3978(dp+素数筛选)

http://openoj.awaysoft.com:8080/judge/contest/view.action?cid47#problem/F 一个素数帅选法的题目&#xff0c;才开始直接就套模板结构tle应为被题目中的As many as 1000 lines, 给坑了总的时间消耗是1000*10^5.。这样暴力枚举的话肯定会超时&#xff0c;当时就急了&#x…