CentOS6.4部署OpenStack Havana(Nova-Network版) (上)


7.4.nova测试:


(1).创建网络:

[root@openstack ~]# nova network-create vmnet --fixed-range-v4=10.1.1.0/24 --bridge-interface=br1 --multi-host=T
[root@openstack ~]#nova network-list

+--------------------------------------+-------+-------------+
| ID                                   | Label | Cidr        |
+--------------------------------------+-------+-------------+
| d3bc4874-2b4b-4abf-b963-0e5ae69b7b31 | vmnet | 10.1.1.0/24 |
+--------------------------------------+-------+-------------+

[root@openstack ~]# nova-manage network list
id    IPv4           IPv6     start address  DNS1      DNS2     VlanID    project    uuid           
1     10.1.1.0/24    None     10.1.1.2       8.8.4.4   None     None      None       d3bc4874-2b4b-4abf-b963-0e5ae69b7b31

(2).设置安全组:

[root@openstack ~]# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0

+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| tcp         | 22        | 22      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+
[root@openstack ~]# nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range  | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp        | -1        | -1      | 0.0.0.0/0 |              |
+-------------+-----------+---------+-----------+--------------+

(3).创建虚拟机实例:

查看可用镜像:

[root@openstack ~]# nova image-list
+--------------------------------------+-----------+--------+--------------------------------------+
| ID                                   | Name      | Status | Server                               |
+--------------------------------------+-----------+--------+--------------------------------------+
| 45456157-9b46-4e40-8ee3-fbb2e40f227b | centos6.4 | ACTIVE |                                      |
+--------------------------------------+-----------+--------+--------------------------------------+

创建虚拟机实例:

[root@openstack ~]# nova boot --flavor 1 --image centos6.4 vm01

+--------------------------------------+--------------------------------------------------+
| Property                             | Value                                            |
+--------------------------------------+--------------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                           |
| OS-EXT-AZ:availability_zone          | nova                                             |
| OS-EXT-SRV-ATTR:host                 | -                                                |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | -                                                |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000001                                |
| OS-EXT-STS:power_state               | 0                                                |
| OS-EXT-STS:task_state                | scheduling                                       |
| OS-EXT-STS:vm_state                  | building                                         |
| OS-SRV-USG:launched_at               | -                                                |
| OS-SRV-USG:terminated_at             | -                                                |
| accessIPv4                           |                                                  |
| accessIPv6                           |                                                  |
| adminPass                            | hZBG4A7eJMdL                                     |
| config_drive                         |                                                  |
| created                              | 2014-03-31T07:12:55Z                             |
| flavor                               | m1.tiny                                          |
| hostId                               |                                                  |
| id                                   | f754afe1-784f-41d0-9139-a05d25eaca20             |
| image                                | centos6.4 (45456157-9b46-4e40-8ee3-fbb2e40f227b) |
| key_name                             | -                                                |
| metadata                             | {}                                               |
| name                                 | vm01                                             |
| os-extended-volumes:volumes_attached | []                                               |
| progress                             | 0                                                |
| security_groups                      | default                                          |
| status                               | BUILD                                            |
| tenant_id                            | 446893f3733b4294a7080f3b0bf1ba61                 |
| updated                              | 2014-03-31T07:12:55Z                             |
| user_id                              | 2d7f8e7ec15c40cfb4209134cb5b30ba                 |
+--------------------------------------+--------------------------------------------------+

查看虚拟机实例运行状态:

[root@openstack ~]# nova list

+--------------------------------------+-----------------------+--------+------------+-------------+-----------------+
| ID                                   | Name                  | Status | Task State | Power State | Networks        |
+--------------------------------------+-----------------------+--------+------------+-------------+-----------------+
| f754afe1-784f-41d0-9139-a05d25eaca20 | vm01                  | ACTIVE | -          | Running     | vmnet=10.1.1.2  |
+--------------------------------------+-----------------------+--------+------------+-------------+-----------------+

测试虚拟机实例连通性:

8.安装配置Horizon

[root@openstack ~]# ping 10.1.1.2
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=64 time=0.057 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=64 time=0.037 ms
--- 10.1.1.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1639ms
rtt min/avg/max/mdev = 0.037/0.047/0.057/0.010 ms

(1).安装Horizon

[root@openstack ~]# yum -y install openstack-dashboard

(2).修改local_settings文件,将DEBUG = False修改为DEBUG = True

[root@openstack ~]#
DEBUG = True
……


(3).修改httpd.conf文件,将#ServerName www.example.com:80修改为ServerName 192.168.10.21:80

[root@openstack ~]# vi /etc/httpd/conf/httpd.conf

#ServerName www.example.com:80
ServerName 192.168.10.21:80

(4).修改local_settings.py文件,将"Member"修改为"admin"
[root@openstack ~]# find / -name local_settings.py
/usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py
 [root@openstack keystone]# cat /usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py | grep OPENSTACK_KEYSTONE_DEFAULT_ROLE
 OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member"
 [root@openstack keystone]# vi /usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py 
 #OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member"
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "admin"

(5).启动http服务,设置开机自启动

[root@openstack ~]#
[root@openstack ~]#

(6).重启nova-api服务
[root@openstack ~]#

(7).添加防火墙策略
[root@openstack ~]#
[root@openstack ~]#
[root@openstack ~]#
[root@openstack ~]#

Horizon安装完成,使用http://192.168.10.21/dashboard访问openstack web界面。
用户名:admin
密码:password


openstack 使用flat连接外网 openstack network_python


9.添加新项目

(1).为操作员用户创建一个tenant:
[root@openstack ~]# keystone tenant-create --name=manager --description='Manager Tenant'

(2).创建操作员用户:
[root@openstack ~]# keystone user-create --name=manager --pass=password --email=manager@chensh.net

(3).创建一个管理角色manager:
[root@openstack ~]# keystone role-create --name=manager

(4).将manager角色添加到用户:
[root@openstack ~]# keystone user-role-add --user=manager --tenant=manager --role=manager

(5).将nova角色添加到用户:
[root@openstack ~]# keystone user-role-add --user=nova --tenant=service --role=manager 

*******************************************************************************************
三、计算节点安装(Node01)
1.基础配置
操作系统使用CentOS-6.4-x86_64-minimal.iso,安装过程省略,本文采用yum源安装。

(1).导入第三方安装源

[root@node01
[root@node01
[root@node01

(2).配置/etc/hosts文件
[root@node01

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.21   openstack
192.168.10.22   node01

(3).配置网络

[root@node01
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="E4:1F:13:45:AB:C1"
ONBOOT="yes"
IPADDR=192.168.10.22
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
TYPE="Ethernet"
[root@openstack ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="none"
HWADDR="E4:1F:13:45:AB:C3"
ONBOOT="yes"
TYPE="Ethernet"

(4).关闭selinux:

[root@node01
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted
[root@node01 ~]# setenforce 0

(5).修改/etc/sysctl.conf参数:
[root@node01
……………………
net.ipv4.ip_forward = 1
……………………
[root@node01 ~]#sysctl -p                    #使sysctl.conf配置生效

2.安装配置NTP客户端
(1).安装NTP客户端服务:
[root@node01

(2).设置时间同步:
[root@node01
31 Mar 16:17:03 ntpdate[5848]: the NTP socket is in use, exiting

(3).设置计划任务:
[root@node01
插入下行内容:
*/5 * * * * ntpdate 192.168.10.21 >> /var/log/ntpdate.log

3.设置环境变量
修改.bash_profile文件,添加以下参数:
[root@node01

………………
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD=password
export OS_AUTH_URL=http://192.168.10.21:5000/v2.0
export SERVICE_ENDPOINT=http://192.168.10.21:35357/v2.0
export SERVICE_TOKEN=12dd70ede7c9d9d3ed3c
………………
执行下面的命令使变量即时生效:
[root@node01

4.安装配置libvirt服务
(1).安装libvirt服务:
[root@node01 ~]# yum -y install qemu-kvm libvirt

(2)启动libvirt服务:
[root@node01

(3)查看net-list,发现default:
[root@node01
Name                 State      Autostart     Persistent
--------------------------------------------------
default              active     yes           yes

(4)删除default,即virbr0:
[root@node01
Network default destroyed
[root@node01
Network default has been undefined

(5)重启libvirtd服务,设置开机自启动:
[root@node01
[root@node01


5.安装MySQL客户端


(1).安装mysql客户端

[root@node01 ~]# yum -y install mysql


(2).检查mysql数据库连通性


[root@node01 ~]# mysql -h 192.168.10.21 -unova -pnova
Welcome to the MySQL monitor.  ………………
mysql> quit;
Bye

6.安装配置Nova服务


(1)安装nova-compute、nova-network、nova-scheduler

[root@node01 ~]# yum -y install openstack-nova-compute openstack-nova-network openstack-nova-scheduler

(2).修改nova配置文件

[root@node01 ~]# vi /etc/nova/nova.conf
[DEFAULT]
my_ip = 192.168.10.22
auth_strategy = keystone
state_path = /letv/openstack/lib/nova
verbose=True
allow_resize_to_same_host = true
rpc_backend = nova.openstack.common.rpc.impl_qpid
qpid_hostname = 192.168.10.21
libvirt_type = kvm
glance_api_servers = 192.168.10.21:9292
novncproxy_base_url = http://192.168.10.21:6080/vnc_auto.html
vncserver_listen = 192.168.10.22
vncserver_proxyclient_address = 192.168.10.22
vnc_enabled = true
vnc_keymap = en-us
network_manager = nova.network.manager.FlatDHCPManager
firewall_driver = nova.virt.firewall.NoopFirewallDriver
multi_host = True
flat_interface = eth1
flat_network_bridge = br1
public_interface = eth0
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = nova.openstack.common.notifier.rpc_notifier
compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler
[hyperv]
[zookeeper]
[osapi_v3]
[conductor]
[keymgr]
[cells]
[database]
sql_connection=mysql://nova:nova@192.168.10.21/nova
[image_file_url]
[baremetal]
[rpc_notifier2]
[matchmaker_redis]
[ssl]
[trusted_computing]
[upgrade_levels]
[matchmaker_ring]
[vmware]
[spice]
[keystone_authtoken]
auth_host = 192.168.10.21
auth_port = 35357
auth_protocol = http
admin_user = nova
admin_tenant_name = service
admin_password = service


因上管理节点nova.conf配置文件中修改了instances实例存放的位置,还需要作一下操作:

修改路径,设置目录权限:

[root@node01 ~]# cp -r /var/lib/nova/ /openstack/lib/
[root@node01 ~]# chown -R nova:nova /openstack/lib/nova/

(3).启动nova相关服务,设置开机自启动
[root@node01 ~]# service messagebus start
[root@node01 ~]# chkconfig messagebus on
[root@node01 ~]# service openstack-nova-compute start
[root@node01 ~]# service openstack-nova-network start
[root@node01 ~]# chkconfig openstack-nova-compute on
[root@node01 ~]# chkconfig openstack-nova-network on
*******************************************************************************************
OpenStack其他常用命令:

1.list nova服务,包含管理节点和计算节点
[root@openstack ~]# nova service-list
+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
| Binary           | Host        | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
| nova-cert        | openstack   | internal | enabled | up    | 2014-03-31T08:59:50.000000 | -               |
| nova-consoleauth | openstack   | internal | enabled | up    | 2014-03-31T08:59:54.000000 | -               |
| nova-scheduler   | openstack   | internal | enabled | up    | 2014-03-31T08:59:48.000000 | -               |
| nova-conductor   | openstack   | internal | enabled | up    | 2014-03-31T08:59:52.000000 | -               |
| nova-compute     | openstack   | nova     | enabled | up    | 2014-03-31T08:59:56.000000 | -               |
| nova-compute     | node01      | nova     | enabled | up    | 2014-03-31T08:59:53.000000 | -               |
| nova-network     | openstack   | internal | enabled | up    | 2014-03-31T08:59:50.000000 | -               |
| nova-network     | node01      | internal | enabled | up    | 2014-03-31T08:59:56.000000 | -               |
| nova-scheduler   | node01      | internal | enabled | up    | 2014-03-31T08:59:52.000000 | -               |

2.查看计算节点:

[root@node01 ~]# nova hypervisor-list
+----+---------------------+
| ID | Hypervisor hostname |
+----+---------------------+
| 1  | openstack           |
| 2  | node01              |
+----+---------------------+


3.查看虚拟机模板配置:

[root@node01 ~]# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1  | m1.tiny   | 512       | 1    | 0         |      | 1     | 1.0         | True      |
| 2  | m1.small  | 2048      | 20   | 0         |      | 1     | 1.0         | True      |
| 3  | m1.medium | 4096      | 40   | 0         |      | 2     | 1.0         | True      |
| 4  | m1.large  | 8192      | 80   | 0         |      | 4     | 1.0         | True      |
| 5  | m1.xlarge | 16384     | 160  | 0         |      | 8     | 1.0         | True      |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+