上接《Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(1)》
http://blog.csdn.net/dragon889/article/details/7973216
作者:刘宇龙 2012.9.13
安装的服务有,认证服务keystone,镜像存储glance,计算服务nova,存储服务swift,管理器dashboard(horizon)
特别注明:官方网站以外的安装文献,本文里很少参考,大量安装都依照官方文档-----》openstak.org
文章格式说明:
(1)缩进采用4空格,8空格,16空格...
(2)#表示注释
(3)文章太长,分为同题目三节
6.安装nova
[1.网络设置] 本人并没有参考官方文档的网络配置
正如最前头说的:
本人是单网卡安装,所以,这里和官网以及其他人有所不一样。
本人先安装了kvm,sudo apt-get install qume-kvm,然后ifconfig发现,里头多了一个virbr0,本人把他当作nova虚拟机的网桥,供后面使用。
[下载安装相关软件]
sudo apt-get install rabbitmq-server
sudo apt-get install nova-compute nova-volume nova-vncproxy nova-api nova-ajax-console-proxy nova-cert nova-consoleauth nova-doc nova-scheduler nova-network
[卸载]因为nova安装一但有错,你会发现服务很难重启,本人绝杀它,删了重装!!!!!!
sudo apt-get autoremove --purge nova-compute nova-volume nova-vncproxy nova-api nova-ajax-console-proxy nova-cert nova-consoleauth nova-doc nova-scheduler nova-network nova-common nova-objectstore python-nova python-novaclient nova-compute-kvm
[数据库]本人并没有使用MySQL,您可以试着使用,只需要在nova.conf里配置sql_connection=mysql://...
mysql -u root -p
drop database nova;
create database nova;
GRANT ALL ON nova.* TO 'nova'@'%' IDENTIFIED BY 'your password';
quit
[文件权限]
sudo groupadd nova
sudo usermod -g nova nova
sudo chown -R root:nova /etc/nova
sudo chmod 640 /etc/nova/nova.conf
[填写nova.conf]
sudo gedit /etc/nova/nova.conf
[本人的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
--force_dhcp_release=true
--iscsi_helper=tgtadm
--libvirt_use_virtio_for_bridges=false
--connection_type=libvirt
--root_helper=sudo nova-rootwrap
--verbose=false
--ec2_private_dns_show_ip=false
--auth_strategy=keystone
--image_service=nova.image.glance.GlanceImageService
--glance_api_servers=127.0.0.1:9292
--glance_host=127.0.0.1
--glance_port=9292
--network_manager=nova.network.manager.FlatDHCPManager
--firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
--public_interface=eth0
--flat_interface=eth0
--flat_network_bridge=virbr0
--fixed_range=192.168.122.0/24
--multi_host=false
]
你会发现本人没有使用mysql,不知到什么原因,一但我使用mysql,很多服务写不进数据库表!!!而表却创建的好好的!!!导致我
执行sudo nova-manage service list连个屁都不显示,根本看不到什么:)笑脸!!!!
修改sudo vim /etc/nova/nova-compute.conf确保你点虚拟化技术和nova.conf里一样
--libvirt_type=kvm
修改sudo vim /etc/nova/api-paste.ini
改最后三行:%%圈着的为 service ,nova,nova
然后重启各个服务:很多时候你会发现你重启的服务成了unkown instance,这大多是因为nova-network没有正常运行!
正确的重启,顺序!!!进入su, 然后:
/etc/init.d/rabbitmq-server restart
/etc/init.d/libvirt-bin restart
restart nova-network
restart nova-cert
restart nova-compute
restart nova-api
restart nova-objectstore
restart nova-scheduler
restart nova-vncproxy
restart nova-volume
restart nova-consoleauth
然后就可以sudo nova-manage service list ,看到笑脸Ok
Binary Host Zone Status State Updated_At
nova-cert swift nova enabled :-) 2012-09-12 14:31:02.556151
nova-consoleauth swift nova enabled :-) 2012-09-12 14:31:02.365247
nova-scheduler swift nova enabled :-) 2012-09-12 14:31:02.836640
nova-network swift nova enabled :-) 2012-09-12 14:30:57.767176
nova-compute swift nova enabled :-) 2012-09-12 14:30:56.050159
[为虚拟机创建网络][创建FIX IP,fix ip就是分配给虚拟机的实际IP地址。这些数据都会写入数据库]
sudo nova-manage network create private --multi_host=T --fixed_range_v4=192.168.122.0/24 --bridge_interface=virbr0 --num_networks=1 --network_size=32
因为我的网桥virbr0的IP是192.168.122.1,所以我上面点命令里就给虚拟机把IP也弄在了这个网段
sudo nova-manage network list
id IPv4 IPv6 start address DNS1 DNS2 VlanID project uuid
1 192.168.122.0/27 None 192.168.122.2 8.8.4.4 None None None 48a39bab-110f-4a84-a271-d4b4218b9336
[所谓Floating IP,是亚马逊EC2的定义。简单说,就是公网的IP。他其实是通过类似防火墙类似,做一个映射。实际上是通过iptables来实现映射.]
nova-manage floating create --ip_range=202.200.207.143/27
sudo nova-manage version list
2012.1.3-dev (2012.1.3-LOCALBRANCH:LOCALREVISION)
执行nova image-list 你会看到你前面glance里上传点镜像
+--------------------------------------+------------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+------------------------+--------+--------+
| 3eae5259-0139-490e-b250-ec2c1876deec | cirros-0.3.0-i386-disk | ACTIVE | |
| 8403e7bc-1789-439a-b24d-c259be10ad55 | ubuntu-12.04-1-386 | ACTIVE | |
+--------------------------------------+------------------------+--------+--------+
本人前面上传里一个cirros X86计算机用的微型操作系统只有9M,后面就用他启动实例:
nova secgroup-list
+---------+-------------+
| Name | Description |
+---------+-------------+
| default | default |
+---------+-------------+
让所有TCP链接可以通过22端口
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
为了能ping通虚拟机,你要创建一个ICMP
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
创建密钥对:
ssh-keygen
nova keypair-add --pub_key ~/.ssh/id_rsa.pub mykey
nova keypair-list
+------------------+-------------------------------------------------+
| Name | Fingerprint |
+------------------+-------------------------------------------------+
| dashboard-test | 5f:f3:0f:36:d5:4d:46:3f:04:63:77:83:ce:aa:81:17 |
| mykey | e5:e1:27:33:c3:6c:5f:74:f1:60:24:7f:30:f3:aa:d8 |
| ubuntu120401i386 | ca:c8:da:ae:bd:b3:5e:34:f9:30:47:05:8f:9a:f1:3d |
+------------------+-------------------------------------------------+
sudo nova-manage service list 查看,以下服务必须运行,状态 :-) :这四个必须是笑脸,要不然你会不能运行实例:
nova-api
nova-scheduler
nova-compute
nova-network
nova flavor-list
nova image-list
swift@swift:~$ nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor |
+----+-----------+-----------+------+-----------+------+-------+-------------+
| 1 | m1.tiny | 512 | 0 | 0 | | 1 | |
| 2 | m1.small | 2048 | 20 | 0 | | 1 | |
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | |
| 4 | m1.large | 8192 | 80 | 0 | | 4 | |
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | |
+----+-----------+-----------+------+-----------+------+-------+-------------+
swift@swift:~$ nova image-list
+--------------------------------------+------------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+------------------------+--------+--------+
| 3eae5259-0139-490e-b250-ec2c1876deec | cirros-0.3.0-i386-disk | ACTIVE | |
| 8403e7bc-1789-439a-b24d-c259be10ad55 | ubuntu-12.04-1-386 | ACTIVE | |
+--------------------------------------+------------------------+--------+--------+
[使用nova boot启动一个新到虚拟机实例:]
nova boot --flavor 1 --image 3eae5259-0139-490e-b250-ec2c1876deec --key_name mykey --security_group default lyl
查看启动的实例(我的实例我在dashboard都挂起了,所以状态是SUSPENDED)
nova list
+--------------------------------------+----------------+-----------+---------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+----------------+----------------------------------------------+
| 44c4ad41-336a-4927-a058-ef252a8826d5 | dashboard-test | SUSPENDED |rivate=192.168.122.4
| e6110978-fd23-4e7f-a64b-bb107544436d | lyl | SUSPENDED |private=192.168.122.2,202.200.207.97 |
+--------------------------------------+----------------+----------
ping你的实例
ping -c5 192.168.100.5
ssh登录实例
ssh cirros@192.168.100.5
查看实例状态:
nova show e6110978-fd23-4e7f-a64b-bb107544436d (ID)也可以nova show name(实例名称)
+-------------------------------------+----------------------------------------------------------+
| Property | Value |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-SRV-ATTR:host | swift |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name | instance-00000001 |
| OS-EXT-STS:power_state | 5 |
| OS-EXT-STS:task_state | None |
| OS-EXT-STS:vm_state | suspended |
| accessIPv4 | |
| accessIPv6 | |
| config_drive | |
| created | 2012-09-09T14:30:08Z |
| flavor | m1.tiny |
| hostId | ed91dcd1b7b8311ad6780dc54f92e0b8b28f1411d70336437fdc26ba |
| id | e6110978-fd23-4e7f-a64b-bb107544436d |
| image | cirros-0.3.0-i386-disk |
| key_name | mykey |
| metadata | {} |
| name | lyl |
| private network | 192.168.122.2, 202.200.207.97 |
| status | SUSPENDED |
| tenant_id | dad6118a6954456a915557a8cc919523 |
| updated | 2012-09-10T15:06:39Z |
| user_id | d958dae6df0248deaa73ef7f855f1c61 |
+-------------------------------------+----------------------------------------------------------+
我这里实例被挂起了,我resume一下启动他:
nova resume e6110978-fd23-4e7f-a64b-bb107544436d 没有任何输出
nova show e6110978-fd23-4e7f-a64b-bb107544436d看一下现在点状态:
+-------------------------------------+----------------------------------------------------------+
| Property | Value |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-SRV-ATTR:host | swift |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| OS-EXT-SRV-ATTR:instance_name | instance-00000001 |
| OS-EXT-STS:power_state | 1 |
| OS-EXT-STS:task_state | None |
| OS-EXT-STS:vm_state | active |
| accessIPv4 | |
| accessIPv6 | |
| config_drive | |
| created | 2012-09-09T14:30:08Z |
| flavor | m1.tiny |
| hostId | ed91dcd1b7b8311ad6780dc54f92e0b8b28f1411d70336437fdc26ba |
| id | e6110978-fd23-4e7f-a64b-bb107544436d |
| image | cirros-0.3.0-i386-disk |
| key_name | mykey |
| metadata | {} |
| name | lyl |
| private network | 192.168.122.2, 202.200.207.97 |
| progress | 0 |
| status | ACTIVE |
| tenant_id | dad6118a6954456a915557a8cc919523 |
| updated | 2012-09-12T14:42:30Z |
| user_id | d958dae6df0248deaa73ef7f855f1c61 |
+-------------------------------------+----------------------------------------------------------+
ping 192.168.122.2 看看他能不能ping通
~$ ping 192.168.122.2
PING 192.168.122.2 (192.168.122.2) 56(84) bytes of data.
64 bytes from 192.168.122.2: icmp_req=1 ttl=64 time=1.82 ms
64 bytes from 192.168.122.2: icmp_req=2 ttl=64 time=0.267 ms
64 bytes from 192.168.122.2: icmp_req=3 ttl=64 time=0.681 ms
64 bytes from 192.168.122.2: icmp_req=4 ttl=64 time=0.643 ms
64 bytes from 192.168.122.2: icmp_req=5 ttl=64 time=0.338 ms
64 bytes from 192.168.122.2: icmp_req=6 ttl=64 time=0.651 ms
64 bytes from 192.168.122.2: icmp_req=7 ttl=64 time=0.781 ms
--- 192.168.122.2 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6000ms
rtt min/avg/max/mdev = 0.267/0.740/1.825/0.477 ms
没有问题,哈哈,至此,一切正常
删除实例的命令:
nova delete e6110978-fd23-4e7f-a64b-bb107544436d
下转:《Ubuntu-12.04.1-desktop版安装OpenStack(单网卡,没有安装网络服务Quantum)(3)》