目的就是分享openstack 的安装文档,同时 我自己试验,感谢陈沙克老师的博客。因为下定决心学一门新的技术或者做一件事不容易。

下面命令可以参考,详细的命令使用,可以参考 Openstack命令集

nova list
nova p_w_picpath-list
nova floating-ip-create
nova flavor-list
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
nova secgroup-list
nova secgroup-list-rules default


命令行创建虚拟机的过程


nova keypair-add oskey > oskey.priv
chmod 600 oskey.priv
nova flavor-list
nova p_w_picpath-list
nova boot --flavor 2 --key_name oskey --p_w_picpath ea3ffba1-065e-483f-bfe2-c84184ee76be test1
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0


这个时候,你在服务器上可以直接ssh到虚拟机上,ubuntu的虚拟机,用户是ubuntu。虚拟机的Ip

# nova list
+--------------------------------------+-------+--------+------------------+
|                  ID                  |  Name | Status |     Networks     |
+--------------------------------------+-------+--------+------------------+
| 61e93d62-c926-46fa-8e0c-48073b7e58b0 | test1 | ACTIVE | private=10.0.0.2 |
| 6976e539-32d9-48a6-9fb5-28a3cdb55f71 | test2 | ACTIVE | private=10.0.0.4 |
+--------------------------------------+-------+--------+------------------+


在服务器上直接ssh到虚拟机,如果你在远程,就需要分配floating IP。

ssh -i oskey.priv [email protected]


登陆虚拟机后,你可以查看一下路由

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.0.0.3        0.0.0.0         UG    100    0        0 eth0
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0

显示网关是10.0.0.3,这个时候,你看一下

root@node07:~# ifconfig
br100     Link encap:Ethernet  HWaddr 00:e0:81:d8:4a:23 
          inet addr:10.0.0.3  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ccfc:5aff:fef5:4345/64 Scope:Link



结合上面的那个图,应该可以很好的帮助你的理解。如果你安装多节点,就更容易深入理解。


需要注意的是:br100的IP,需要你创建第一个虚拟机,他才会获得IP。


Dashobard

安装

apt-get install -y apache2 libapache2-mod-wsgi openstack-dashboard

重启nova api

restart nova-api


这个时候,就可以访问dashboard。

测试

登陆dashobard

http://10.1.199.17
user:admin
pass:password

Swift

由于swift的文档比较长,所以单独一个文档

http://www.chenshake.com/swift-single-version/


附录

理解project和user关系

上面需要注意的一个地方,就是 project的含义。以前的版本是tenant,租户意思,基本可以理解成企业。

你可以创建用户,用户属于一个project。创建用户的时候,就需要设置密码。

创建虚拟机

下面的流程,是复制我以前的文档,内容是没问题的。

1:设置安全组 Security group

安全组,其实就是虚拟机前面的防护墙。默认是关闭所有的包。需要打开防护墙。为了简单,我们把default的防护墙,端口全部打开。生产环境就不要这样操作。默认是default规则,直接修改default就可以。默认default,是阻止所有的访问。


2:创建密钥

为了安全考虑,ubuntu提供的模板,都是采用密钥登录。简单点说,你创建一对公钥和私钥。私钥下载到本地保存,公钥存放在服务器上,创建虚拟机的时候,会把公钥注入到虚拟机里。

这个时候,你如果有私钥,就可以直接登录。

下载私钥

点击create keypair,就会提示你下载私钥。私钥是pem后缀。

3:创建vm

创建vm的时候,你会选择keypair,安全组。

创建完成后,得到其实是一个内网IP

4:floating IP

给虚拟机分配一个 floating IP,可以理解成是公网的IP

关联vm

需要等待大概1分钟,才能看到关联后的结果


5:ssh 访问vm

这个看你的客户端是什么,linux,SecureCRT,putty,都有所不同。

对于ubuntu提供的p_w_picpath,ssh的用户名是:ubuntu,

SecureCRT 6.x版本

对于6.x版本,已经可以直接使用pem后缀的密钥

putty登录

对于putty,需要对密钥进行转换。

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

到官方网站下载:PuTTYgen这个工具

PUTTYGEN,通过load,找到刚才下载的私钥,注意,要选择全部文件,才可以找到。通过转换,选择保存私钥就可以

存放到本地。

设置putty使用密钥


linux客户端ssh登录vm

如果你是linux服务器上,你可以上传密钥到服务器上

ssh -i key_for_openstack.pem [email protected]

就可以直接登录虚拟机。