一、环境介绍:

控制节点 eth0 (10.10.10.51), eth1 (192.168.100.51)
网络节点 eth0 (10.10.10.52), eth1 (10.20.20.52), eth2 (192.168.100.52)
计算节点 eth0 (10.10.10.53), eth1 (10.20.20.53)

说明1: 使用 dpkg -s <packagename> to 确保 grizzly packages (version : 2013.1)

说明2: 你可以添加比较多的计算节点,下面是网络结构

二、控制节点

2.1. Ubuntu准备

安装64位 Ubuntu 12.04 或则13.04 Server ,切换sudo模式

  1. sudo su

复制代码

添加 Grizzly 源 [Only for Ubuntu 12.04]:

  1. apt-get install -y ubuntu-cloud-keyring
  2. echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list

复制代码

对于上面命令不了解,可参考
安装openstack过程中:如何添加源,echo,<<分别代表什么意思?

更新系统:

  1. apt-get update -y
  2. apt-get upgrade -y
  3. apt-get dist-upgrade -y

复制代码



2.2. 网络配置
只有一个网卡接入互联网

  1. #For Exposing OpenStack API over the internet
  2. auto eth1
  3. iface eth1 inet static
  4. address 192.168.100.51
  5. netmask 255.255.255.0
  6. gateway 192.168.100.1
  7. dns-nameservers 8.8.8.8
  8. #Not internet connected(used for OpenStack management)
  9. auto eth0
  10. iface eth0 inet static
  11. address 10.10.10.51
  12. netmask 255.255.255.0

复制代码

重新启动网络

  1. service networking restart

复制代码

2.3. MySQL & RabbitMQ安装

安装 MySQL:

  1. apt-get install -y mysql-server python-mysqldb

复制代码

出现这个界面是输入MySQL的密码

配置mysql

  1. sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
  2. service mysql restart

复制代码

对于上面命令不了解可以参考下面内容:

安装openstack过程中:sed命令的作用是什么

学习openstack之linux mysql 操作命令汇总

2.4. RabbitMQ

安装 RabbitMQ:

  1. apt-get install -y rabbitmq-server

复制代码

安装 NTP service:

  1. apt-get install -y ntp

复制代码

创建数据库:

  1. mysql -u root -p
  2. #Keystone
  3. CREATE DATABASE keystone;
  4. GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';
  5. #Glance
  6. CREATE DATABASE glance;
  7. GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';
  8. #Quantum
  9. CREATE DATABASE quantum;
  10. GRANT ALL ON quantum.* TO 'quantumUser'@'%' IDENTIFIED BY 'quantumPass';
  11. #Nova
  12. CREATE DATABASE nova;
  13. GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass';
  14. #Cinder
  15. CREATE DATABASE cinder;
  16. GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass';
  17. quit;

复制代码

对于上面命令不了解可以参考下面内容:

安装openstack过程中:RabbitMQ与NTP是什么

学习openstack之linux mysql 操作命令汇总

2.5. 其他


安装其它服务:

  1. apt-get install -y vlan bridge-utils

复制代码

启动 IP_Forwarding:

  1. sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
  2. # To save you from rebooting, perform the following
  3. sysctl net.ipv4.ip_forward=1

复制代码

2.6. Keystone

安装Keystone

  1. apt-get install -y keystone

复制代码

在文件 /etc/keystone/keystone.conf  中添加如下语句

  1. connection = mysql://keystoneUser:keystonePass@10.10.10.51/keystone

复制代码

上面的配置可能大家的理解不一样这里给出图示:

上面connection注释掉,替换为上面链接如下图所示
 

重新启动Keystone,同步数据库

  1. service keystone restart
  2. keystone-manage db_sync

复制代码

下载keystone_basic.sh,keystone_endpoints_basic.sh并执行脚本

  1. #Modify the **HOST_IP** and **EXT_HOST_IP** variables before executing the scripts
  2. wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_basic.sh
  3. wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_endpoints_basic.sh
  4. chmod +x keystone_basic.sh
  5. chmod +x keystone_endpoints_basic.sh
  6. ./keystone_basic.sh
  7. ./keystone_endpoints_basic.sh

复制代码



注释与说明:
查看脚本keystone_basic.sh内容:

上面ip为控制节点的ip

查看脚本keystone_endpoints_basic.sh内容:

上面HOST_IP分别为控制节点的eth0,eth1两个网卡ip。
当脚本./keystone_basic.sh执行时,没有任何输出说明脚本执行成功。
执行./keystone_endpoints_basic.sh脚本时,会看到如下输出:

创建证书,后面不会遇到麻烦:(其实这里是环境变量的配置,我们在后面的操作中,就不需要每次都输入用户名密码等)

  1. nano creds
  2. #Paste the following:
  3. export OS_TENANT_NAME=admin
  4. export OS_USERNAME=admin
  5. export OS_PASSWORD=admin_pass
  6. export OS_AUTH_URL="http://192.168.100.51:5000/v2.0/"
  7. # Load it:
  8. source creds

复制代码

使用CLI命令,测试使用安装成功

  1. keystone user-list

复制代码

2.7. Glance

安装Glance

  1. apt-get install -y glance

复制代码

更新/etc/glance/glance-api-paste.ini 文件

  1. [filter:authtoken]
  2. paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
  3. delay_auth_decision = true
  4. auth_host = 10.10.10.51
  5. auth_port = 35357
  6. auth_protocol = http
  7. admin_tenant_name = service
  8. admin_user = glance
  9. admin_password = service_pass

复制代码



注释与说明:

即使找到上面[filter:authtoken],然后把相关内容进行粘帖。

替换为如下:

更新 /etc/glance/glance-registry-paste.ini文件

  1. [filter:authtoken]
  2. paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
  3. auth_host = 10.10.10.51
  4. auth_port = 35357
  5. auth_protocol = http
  6. admin_tenant_name = service
  7. admin_user = glance
  8. admin_password = service_pass

复制代码

  1. [paste_deploy]
  2. flavor = keystone

复制代码

操作同上,也是内容的替换。

替换/etc/glance/glance-api.conf文件

  1. sql_connection = mysql://glanceUser:glancePass@10.10.10.51/glance

复制代码

注释与说明:
 
同样是将原先sql_connection注释掉,替换为sql_connection = mysql://glanceUser:glancePass@10.10.10.51/glance

更新 /etc/glance/glance-registry.conf:

  1. sql_connection = mysql://glanceUser:glancePass@10.10.10.51/glance

复制代码

  1. [paste_deploy]
  2. flavor = keystone

复制代码

到这里我们是否找到一个规律就是无论是替换还是新增加内容,我们只要找到相关标签即可。如果有内容即替换,无内容则添加。

重启glance-api 与 glance-registry services:

  1. service glance-api restart; service glance-registry restart

复制代码

同步 glance 数据库:

  1. glance-manage db_sync

复制代码

导入img

  1. glance image-create --name myFirstImage --is-public true --container-format bare --disk-format qcow2 --location http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img

复制代码

测试安装是否成功

  1. glance image-list

复制代码

我们看到下图,说明安装成功

2.8. Quantum 安装Quantum

  1. apt-get install -y quantum-server

复制代码

更新 the OVS plugin configuration 文件 /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini:

  1. #Under the database section
  2. [DATABASE]
  3. sql_connection = mysql://quantumUser:quantumPass@10.10.10.51/quantum
  4. #Under the OVS section
  5. [OVS]
  6. tenant_network_type = gre
  7. tunnel_id_ranges = 1:1000
  8. enable_tunneling = True
  9. #Firewall driver for realizing quantum security group function
  10. [SECURITYGROUP]
  11. firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

复制代码

注释与说明:
 

我们看到上面链接替换为sql_connection = mysql://quantumUser:quantumPass@10.10.10.51/quantum即可。下面操作同理

编辑 /etc/quantum/api-paste.ini

  1. [filter:authtoken]
  2. paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
  3. auth_host = 10.10.10.51
  4. auth_port = 35357
  5. auth_protocol = http
  6. admin_tenant_name = service
  7. admin_user = quantum
  8. admin_password = service_pass

复制代码

更新 /etc/quantum/quantum.conf:

  1. [keystone_authtoken]
  2. auth_host = 10.10.10.51
  3. auth_port = 35357
  4. auth_protocol = http
  5. admin_tenant_name = service
  6. admin_user = quantum
  7. admin_password = service_pass
  8. signing_dir = /var/lib/quantum/keystone-signing

复制代码

重启 quantum server:

  1. service quantum-server restart

复制代码

2.9. Nova

安装 nova 组件

  1. apt-get install -y nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy nova-doc nova-conductor

复制代码

修改/etc/nova/api-paste.ini 中authtoken 部分

  1. [filter:authtoken]
  2. paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
  3. auth_host = 10.10.10.51
  4. auth_port = 35357
  5. auth_protocol = http
  6. admin_tenant_name = service
  7. admin_user = nova
  8. admin_password = service_pass
  9. signing_dirname = /tmp/keystone-signing-nova
  10. # Workaround for https://bugs.launchpad.net/nova/+bug/1154809
  11. auth_version = v2.0

复制代码

修改 the /etc/nova/nova.conf:

  1. [DEFAULT]
  2. logdir=/var/log/nova
  3. state_path=/var/lib/nova
  4. lock_path=/run/lock/nova
  5. verbose=True
  6. api_paste_config=/etc/nova/api-paste.ini
  7. compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler
  8. rabbit_host=10.10.10.51
  9. nova_url=http://10.10.10.51:8774/v1.1/
  10. sql_connection=mysql://novaUser:novaPass@10.10.10.51/nova
  11. root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
  12. # Auth
  13. use_deprecated_auth=false
  14. auth_strategy=keystone
  15. # Imaging service
  16. glance_api_servers=10.10.10.51:9292
  17. image_service=nova.image.glance.GlanceImageService
  18. # Vnc configuration
  19. novnc_enabled=true
  20. novncproxy_base_url=http://192.168.100.51:6080/vnc_auto.html
  21. novncproxy_port=6080
  22. vncserver_proxyclient_address=10.10.10.51
  23. vncserver_listen=0.0.0.0
  24. # Network settings
  25. network_api_class=nova.network.quantumv2.api.API
  26. quantum_url=http://10.10.10.51:9696
  27. quantum_auth_strategy=keystone
  28. quantum_admin_tenant_name=service
  29. quantum_admin_username=quantum
  30. quantum_admin_password=service_pass
  31. quantum_admin_auth_url=http://10.10.10.51:35357/v2.0
  32. libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
  33. linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
  34. #If you want Quantum + Nova Security groups
  35. firewall_driver=nova.virt.firewall.NoopFirewallDriver
  36. security_group_api=quantum
  37. #If you want Nova Security groups only, comment the two lines above and uncomment line -1-.
  38. #-1-firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
  39. #Metadata
  40. service_quantum_metadata_proxy = True
  41. quantum_metadata_proxy_shared_secret = helloOpenStack
  42. # Compute #
  43. compute_driver=libvirt.LibvirtDriver
  44. # Cinder #
  45. volume_api_class=nova.volume.cinder.API
  46. osapi_volume_listen_port=5900

复制代码

同步数据库:

  1. nova-manage db sync

复制代码

重启与nova有关的所有服务:

  1. cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done

复制代码

对于上面命令不了解,可以查看:
安装openstack过程中:Linux for循环的作用是什么?

检查安装是否成功

  1. nova-manage service list

复制代码

当我们看到下图时候,说明安装成功

2.10. Cinder安装所需要的 packages:

  1. apt-get install -y cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms

复制代码

对于上面命令新手可能会不理解,含义是分别安装
cinder-api ,cinder-scheduler,cinder-volume等包。详细可查看
新手安装openstack之命令apt-get install -y vlan bridge-utils的作用是什么

配置iSCSI 

  1. sed -i 's/false/true/g' /etc/default/iscsitarget

复制代码

上面命令的含义是在文件iscsitarget中新的一行插入s/false/true/g
详细可查看安装openstack过程中:sed命令的作用是什么

为保证生效,重启服务:

  1. service iscsitarget start
  2. service open-iscsi start

复制代码

配置 /etc/cinder/api-paste.ini 

  1. [filter:authtoken]
  2. paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
  3. service_protocol = http
  4. service_host = 192.168.100.51
  5. service_port = 5000
  6. auth_host = 10.10.10.51
  7. auth_port = 35357
  8. auth_protocol = http
  9. admin_tenant_name = service
  10. admin_user = cinder
  11. admin_password = service_pass
  12. signing_dir = /var/lib/cinder

复制代码

编辑 /etc/cinder/cinder.conf 文件

  1. [DEFAULT]
  2. rootwrap_config=/etc/cinder/rootwrap.conf
  3. sql_connection = mysql://cinderUser:cinderPass@10.10.10.51/cinder
  4. api_paste_config = /etc/cinder/api-paste.ini
  5. iscsi_helper=ietadm
  6. volume_name_template = volume-%s
  7. volume_group = cinder-volumes
  8. verbose = True
  9. auth_strategy = keystone
  10. iscsi_ip_address=10.10.10.51

复制代码

同步数据库

  1. cinder-manage db sync

复制代码

创建一个卷组命名为cinder-volumes:

  1. dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G
  2. losetup /dev/loop2 cinder-volumes
  3. fdisk /dev/loop2
  4. #Type in the followings:
  5. n
  6. p
  7. 1
  8. ENTER
  9. ENTER
  10. t
  11. 8e
  12. w

复制代码

注释与说明:首先执行
第一步:
 

第二步:

第三部:执行fdisk /dev/loop2会有相应命令输入,

只要按照下面命令输入就可以。

  1. n
  2. p
  3. 1
  4. ENTER
  5. ENTER
  6. t
  7. 8e
  8. w

复制代码

创建物理卷和卷组:

  1. pvcreate /dev/loop2
  2. vgcreate cinder-volumes /dev/loop2

复制代码

创建成功如下图:

注意: 重启后卷组不会自动挂载 (点击`这个点此`_ 设置在重启后自动挂载)

重启cinder 服务:

  1. cd /etc/init.d/; for i in $( ls cinder-* ); do sudo service $i restart; done

复制代码

查看cinder服务状态

  1. cd /etc/init.d/; for i in $( ls cinder-* ); do sudo service $i status; done

复制代码

看到下图所示:

2.11. Horizon


安装Horizon

  1. apt-get install -y openstack-dashboard memcached

复制代码

可以删掉默认的ubuntu的them

  1. dpkg --purge openstack-dashboard-ubuntu-theme

复制代码

重启Apache和memcached服务:

  1. service apache2 restart; service memcached restart

复制代码

这时候可以打开 http://192.168.100.51/horizon. 
登录用户名:admin
密码:admin_pass

3. 网络节点

准备节点
安装 64位 Ubuntu 12.04 or 13.04 Server, 切换sudo 模式:

  1. sudo su

复制代码

添加Grizzly库(适用于 Ubuntu 12.04):

  1. apt-get install -y ubuntu-cloud-keyring
  2. echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list

复制代码


更新系统:

  1. apt-get update -y
  2. apt-get upgrade -y
  3. apt-get dist-upgrade -y

复制代码


安装 ntp 服务:

  1. apt-get install -y ntp

复制代码

配置NTP保持与控制节点时间同步:

  1. #Comment the ubuntu NTP servers
  2. sed -i 's/server 0.ubuntu.pool.ntp.org/#server 0.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  3. sed -i 's/server 1.ubuntu.pool.ntp.org/#server 1.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  4. sed -i 's/server 2.ubuntu.pool.ntp.org/#server 2.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  5. sed -i 's/server 3.ubuntu.pool.ntp.org/#server 3.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  6. #Set the network node to follow up your conroller node
  7. sed -i 's/server ntp.ubuntu.com/server 10.10.10.51/g' /etc/ntp.conf
  8. service ntp restart

复制代码

安装vlan 与网桥配置工具bridge-utils

  1. apt-get install -y vlan bridge-utils

复制代码

启动 IP_Forwarding:

  1. sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
  2. # To save you from rebooting, perform the following
  3. sysctl net.ipv4.ip_forward=1

复制代码

3.2.网络配置

3 网卡配置如下:

  1. # OpenStack management
  2. auto eth0
  3. iface eth0 inet static
  4. address 10.10.10.52
  5. netmask 255.255.255.0
  6. # VM Configuration
  7. auto eth1
  8. iface eth1 inet static
  9. address 10.20.20.52
  10. netmask 255.255.255.0
  11. # VM internet Access
  12. auto eth2
  13. iface eth2 inet static
  14. address 192.168.100.52
  15. netmask 255.255.255.0

复制代码

3.3 OpenVSwitch (Part1)

安装 openVSwitch:

  1. apt-get install -y openvswitch-switch openvswitch-datapath-dkms

复制代码

添加 bridges:

  1. #br-int will be used for VM integration
  2. ovs-vsctl add-br br-int
  3. #br-ex is used to make to VM accessible from the internet
  4. ovs-vsctl add-br br-ex

复制代码

3.4. Quantum

安装  Quantum openvswitch 代理, l3 代理 and dhcp 代理组件:

  1. apt-get -y install quantum-plugin-openvswitch-agent quantum-dhcp-agent quantum-l3-agent quantum-metadata-agent

复制代码

编辑 /etc/quantum/api-paste.ini:

  1. [filter:authtoken]
  2. paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
  3. auth_host = 10.10.10.51
  4. auth_port = 35357
  5. auth_protocol = http
  6. admin_tenant_name = service
  7. admin_user = quantum
  8. admin_password = service_pass

复制代码

编辑 the OVS plugin 配置文件 /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini:

  1. #Under the database section
  2. [DATABASE]
  3. sql_connection = mysql://quantumUser:quantumPass@10.10.10.51/quantum
  4. #Under the OVS section
  5. [OVS]
  6. tenant_network_type = gre
  7. tunnel_id_ranges = 1:1000
  8. integration_bridge = br-int
  9. tunnel_bridge = br-tun
  10. local_ip = 10.20.20.52
  11. enable_tunneling = True
  12. #Firewall driver for realizing quantum security group function
  13. [SECURITYGROUP]
  14. firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

复制代码

更新/etc/quantum/metadata_agent.ini:

  1. # The Quantum user information for accessing the Quantum API.
  2. auth_url = http://10.10.10.51:35357/v2.0
  3. auth_region = RegionOne
  4. admin_tenant_name = service
  5. admin_user = quantum
  6. admin_password = service_pass
  7. # IP address used by Nova metadata server
  8. nova_metadata_ip = 10.10.10.51
  9. # TCP Port used by Nova metadata server
  10. nova_metadata_port = 8775
  11. metadata_proxy_shared_secret = helloOpenStack

复制代码

更新文件 /etc/quantum/quantum.conf,确保rabbitMQ IP指向了控制节点 

  1. rabbit_host = 10.10.10.51
  2. #And update the keystone_authtoken section
  3. [keystone_authtoken]
  4. auth_host = 10.10.10.51
  5. auth_port = 35357
  6. auth_protocol = http
  7. admin_tenant_name = service
  8. admin_user = quantum
  9. admin_password = service_pass
  10. signing_dir = /var/lib/quantum/keystone-signing

复制代码

编辑 /etc/sudoers.d/quantum_sudoers 

  1. nano /etc/sudoers.d/quantum_sudoers
  2. #Modify the quantum user
  3. quantum ALL=NOPASSWD: ALL

复制代码

注释与说明:上面配置的作用是quantum用户执行任何命令都不需要密码

重启quantum的所有服务

  1. cd /etc/init.d/; for i in $( ls quantum-* ); do sudo service $i restart; done

复制代码

3.4. OpenVSwitch (第二部分)

编辑 eth2   /etc/network/interfaces:

  1. # VM internet Access
  2. auto eth2
  3. iface eth2 inet manual
  4. up ifconfig $IFACE 0.0.0.0 up
  5. up ip link set $IFACE promisc on
  6. down ip link set $IFACE promisc off
  7. down ifconfig $IFACE down

复制代码

建立虚拟网桥与物理网口的链接

  1. #Internet connectivity will be lost after this step but this won't affect OpenStack's work
  2. ovs-vsctl add-port br-ex eth2
  3. #If you want to get internet connection back, you can assign the eth2's IP address to the br-ex in the /etc/network/interfaces file.

复制代码

4.计算节点

4.1. 准备环境

准备节点
安装 64位 Ubuntu 12.04 or 13.04 Server, 切换sudo 模式:

  1. sudo su

复制代码

添加Grizzly库(适用于 Ubuntu 12.04):

  1. apt-get install -y ubuntu-cloud-keyring
  2. echo deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly main >> /etc/apt/sources.list.d/grizzly.list

复制代码


更新系统:

  1. apt-get update -y
  2. apt-get upgrade -y
  3. apt-get dist-upgrade -y

复制代码


安装 ntp 服务:

  1. apt-get install -y ntp

复制代码

配置NTP保持与控制节点时间同步:

  1. #Comment the ubuntu NTP servers
  2. sed -i 's/server 0.ubuntu.pool.ntp.org/#server 0.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  3. sed -i 's/server 1.ubuntu.pool.ntp.org/#server 1.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  4. sed -i 's/server 2.ubuntu.pool.ntp.org/#server 2.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  5. sed -i 's/server 3.ubuntu.pool.ntp.org/#server 3.ubuntu.pool.ntp.org/g' /etc/ntp.conf
  6. #Set the compute node to follow up your conroller node
  7. sed -i 's/server ntp.ubuntu.com/server 10.10.10.51/g' /etc/ntp.conf
  8. service ntp restart

复制代码

安装vlan 与网桥配置工具bridge-utils

  1. apt-get install -y vlan bridge-utils

复制代码

启动 IP_Forwarding:

  1. sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf

复制代码

4.2.网络配置

  1. # OpenStack management
  2. auto eth0
  3. iface eth0 inet static
  4. address 10.10.10.53
  5. netmask 255.255.255.0
  6. # VM Configuration
  7. auto eth1
  8. iface eth1 inet static
  9. address 10.20.20.53
  10. netmask 255.255.255.0

复制代码

4.3 KVM

确保你的硬件支持虚拟化:

  1. apt-get install -y cpu-checker
  2. kvm-ok

复制代码

上面命令分别执行,当我们看到如下信息时,其实可以的。因为虽然不支持加速,但是是可以使用的。

如果上面是好的,我们安装和配置KVM

  1. apt-get install -y kvm libvirt-bin pm-utils

复制代码

添加 cgroup_device_acl 数组到文 /etc/libvirt/qemu.conf:

  1. cgroup_device_acl = [
  2. "/dev/null", "/dev/full", "/dev/zero",
  3. "/dev/random", "/dev/urandom",
  4. "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
  5. "/dev/rtc", "/dev/hpet","/dev/net/tun"
  6. ]

复制代码

如下图所示

 

删除virtual bridge(执行下面命令即可)

  1. virsh net-destroy default
  2. virsh net-undefine default

复制代码

更新文件 /etc/libvirt/libvirtd.conf:

  1. listen_tls = 0
  2. listen_tcp = 1
  3. auth_tcp = "none"

复制代码

注释与说明:
上面可以找到相应的注释,去掉注释即可。

这里面因为注释内容比较多,可以使用查询如下图所示:我们输入/listten_tls回车即可找到相应内容。

在文件 /etc/init/libvirt-bin.conf中添加 libvirtd_opts 变量:

  1. env libvirtd_opts="-d -l"

复制代码

注释与说明:
如下图位置所示

编辑 /etc/default/libvirt-bin 文件

  1. libvirtd_opts="-d -l"

复制代码

如下图红色箭头所示,我们只要在libvirtd_opts="-d"中添加-1即可,即为libvirtd_opts="-d -l"

重 libvirt service与 service libvirt-bin:

  1. service dbus restart && service libvirt-bin restart

复制代码

看到如下信息:

4.4. OpenVSwitch

安装 openVSwitch:

  1. apt-get install -y openvswitch-switch openvswitch-datapath-dkms

复制代码


创建 bridges:

  1. #br-int will be used for VM integration
  2. ovs-vsctl add-br br-int

复制代码


4.5. Quantum

安装 Quantum openvswitch 代理:

  1. apt-get -y install quantum-plugin-openvswitch-agent

复制代码

编辑 the OVS plugin配置文件 /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini:

  1. #Under the database section
  2. [DATABASE]
  3. sql_connection = mysql://quantumUser:quantumPass@10.10.10.51/quantum
  4. #Under the OVS section
  5. [OVS]
  6. tenant_network_type = gre
  7. tunnel_id_ranges = 1:1000
  8. integration_bridge = br-int
  9. tunnel_bridge = br-tun
  10. local_ip = 10.20.20.53
  11. enable_tunneling = True
  12. #Firewall driver for realizing quantum security group function
  13. [SECURITYGROUP]
  14. firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

复制代码

注释与说明:
注意上面的文件不能一次性全部复制到文件中,需要找到相应的标签,如下图所示为ovs的配置

确保你的 rabbitMQ IP  在 /etc/quantum/quantum.conf文件中配置指向控制节点:

  1. rabbit_host = 10.10.10.51
  2. #And update the keystone_authtoken section
  3. [keystone_authtoken]
  4. auth_host = 10.10.10.51
  5. auth_port = 35357
  6. auth_protocol = http
  7. admin_tenant_name = service
  8. admin_user = quantum
  9. admin_password = service_pass
  10. signing_dir = /var/lib/quantum/keystone-signing

复制代码

注释与说明:
同理上面的内容也是相应的内容放到相应的标签下面。切忌全部复制。

重启服务:

  1. service quantum-plugin-openvswitch-agent restart

复制代码

4.6. Nova

安装nova所需要组件:

  1. apt-get install -y nova-compute-kvm

复制代码

修改文件  /etc/nova/api-paste.ini   authtoken 部分   

  1. [filter:authtoken]
  2. paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
  3. auth_host = 10.10.10.51
  4. auth_port = 35357
  5. auth_protocol = http
  6. admin_tenant_name = service
  7. admin_user = nova
  8. admin_password = service_pass
  9. signing_dirname = /tmp/keystone-signing-nova
  10. # Workaround for https://bugs.launchpad.net/nova/+bug/1154809
  11. auth_version = v2.0

复制代码

编辑文件 /etc/nova/nova-compute.conf  

  1. [DEFAULT]
  2. libvirt_type=kvm
  3. libvirt_ovs_bridge=br-int
  4. libvirt_vif_type=ethernet
  5. libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
  6. libvirt_use_virtio_for_bridges=True

复制代码

修改文件 /etc/nova/nova.conf如下:

  1. [DEFAULT]
  2. logdir=/var/log/nova
  3. state_path=/var/lib/nova
  4. lock_path=/run/lock/nova
  5. verbose=True
  6. api_paste_config=/etc/nova/api-paste.ini
  7. compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler
  8. rabbit_host=10.10.10.51
  9. nova_url=http://10.10.10.51:8774/v1.1/
  10. sql_connection=mysql://novaUser:novaPass@10.10.10.51/nova
  11. root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
  12. # Auth
  13. use_deprecated_auth=false
  14. auth_strategy=keystone
  15. # Imaging service
  16. glance_api_servers=10.10.10.51:9292
  17. image_service=nova.image.glance.GlanceImageService
  18. # Vnc configuration
  19. novnc_enabled=true
  20. novncproxy_base_url=http://192.168.100.51:6080/vnc_auto.html
  21. novncproxy_port=6080
  22. vncserver_proxyclient_address=10.10.10.53
  23. vncserver_listen=0.0.0.0
  24. # Network settings
  25. network_api_class=nova.network.quantumv2.api.API
  26. quantum_url=http://10.10.10.51:9696
  27. quantum_auth_strategy=keystone
  28. quantum_admin_tenant_name=service
  29. quantum_admin_username=quantum
  30. quantum_admin_password=service_pass
  31. quantum_admin_auth_url=http://10.10.10.51:35357/v2.0
  32. libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
  33. linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
  34. #If you want Quantum + Nova Security groups
  35. firewall_driver=nova.virt.firewall.NoopFirewallDriver
  36. security_group_api=quantum
  37. #If you want Nova Security groups only, comment the two lines above and uncomment line -1-.
  38. #-1-firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
  39. #Metadata
  40. service_quantum_metadata_proxy = True
  41. quantum_metadata_proxy_shared_secret = helloOpenStack
  42. # Compute #
  43. compute_driver=libvirt.LibvirtDriver
  44. # Cinder #
  45. volume_api_class=nova.volume.cinder.API
  46. osapi_volume_listen_port=5900
  47. cinder_catalog_info=volume:cinder:internalURL

复制代码

注释与说明:
我们打开文件会看到如下内容:把文件内容清空,添加上面内容即可。
 

重启 nova所有服务:

  1. cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done

复制代码

查看是否安装成功:

  1. nova-manage service list

复制代码

OpenStack Grizzly详细安装指导的更多相关文章

  1. openstack grizzly版network网络节点安装

    版本以及源的配置和控制节点一致 1.安装完操作系统已经apt源配置完成之后,一定要执行 apt-get update root@cloud:~# mv /etc/apt/sources.list /e ...

  2. openstack grizzly版cloud控制节点安装

    openstack-ubuntu-create 参考官方文档 三个节点:cloud :控制节点内网:10.10.10.10外网:172.16.56.252 network:网络节点内网:10.10.1 ...

  3. OpenStack Grizzly版本部署(离线)

    参考原版地址:https://github.com/mseknibilel/OpenStack-Grizzly-Install-Guide 图转自原版地址 部署拓扑: 部署环境:vmware stat ...

  4. openstack 搭建详细步骤

    该博文转载于(https://www.cnblogs.com/whwh/p/16200004.html) 一.openstack单点部署 1.配置虚拟机NAT网络连接 查看vmware的NAT网络默认 ...

  5. [Openstack][Grizzly] Mysql删除僵尸实例

    由于某些原因,导致在通过nova delete删除虚拟机后,其task_state 一致处于deleting状态, 但是始终无法删除.由于虚拟机还没有分配到节点等信息,还没有拷贝镜像,所以可以直接从数 ...

  6. 《转》 Openstack Grizzly 指定 compute node 创建 instance

    声明:此文档仅仅做学习交流使用,请勿用作其它商业用途 作者:朝阳_tony 邮箱:linzhaolover@gmail.com 2013年6月4日9:37:44 星期二 转载请注明出处:http:// ...

  7. 在虚拟机单机部署OpenStack Grizzly

    安装过程 安装Ubuntu 我手头有的是Ubuntu Server 12.04 64位版,就直接用了,默认安装即可,配置的时候很简单,如下 内存:1G 硬盘:20G 处理器:2 网络:NAT 装好以后 ...

  8. 关于OpenStack的学习路线及相关资源汇总

    首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...

  9. openstack学习线路指导

    原文链接: http://www.aboutyun.com/thread-7225-1-1.html 网上很多hadoop资料,openstack资料相对较少,这里整理一下,帮助初学者尽快入门. 首先 ...

随机推荐

  1. 3 springboot配置文件

    springboot 是习惯优于配置,抛弃SSM中繁琐的配置内容,大量的基础配置由框架的完成.所以我们现在没有用任何的配置文件,可以快速的将项目运行起来. 我们找到web模块中的application ...

  2. 15、springboot访问html文件

    在pom.xml加入 <parent> <groupId>org.springframework.boot</groupId> <artifactId> ...

  3. js小练习

    1.题目:某班的成绩出来了,现在老师要把班级的成绩打印出来. 效果如下:xxx年xx月x日  星期x--班级总分为:81 格式要求:1.显示打印的日期.格式为类似“xxxx年xx月xx日 星期x”的当 ...

  4. python学习之老男孩python全栈第九期_day016知识点总结

    '''数据类型:intbool... 数据结构:dict (python独有的)listtuple (pytho独有的)setstr''' # reverse() 反转l = [1,2,3,4,5]l ...

  5. python中GIL和线程与进程

    线程与全局解释器锁(GIL) 一.线程概论 1.何为线程 每个进程有一个地址空间,而且默认就有一个控制线程.如果把一个进程比喻为一个车间的工作过程那么线程就是车间里的一个一个流水线. 进程只是用来把资 ...

  6. Android TextEdit属性

    EditText继承关系:View-->TextView-->EditText 去掉边框 将EditText属性设置修改 android:background="@null&qu ...

  7. ubuntu 命令、linux环境变量设置

    解压与压缩: tar.gz格式tar -xzvf xxx jar格式jar -xvf xxx.jar zip格式unzip xxx.zip zip -r xxx.zip xxx unarunar -e ...

  8. 机器学习vs深度学习及其知识点

    人工智能如火如荼,可以遇见这将会是近10年最大的创新机会.那么到底什么是人工智能? 机器学习和神经网络什么关系? 卷积神经网络中的矩阵内积是怎么计算的?

  9. 【Oracle】PL/SQL Developer使用技巧(持续更新中)

    1.关键字自动大写 在sql命令窗口中输入SQL语句时,想要关键字自动大写,引人注目该怎么办呢? 一步设置就可以达成了.点击Tools->Preference->Editor,看到截图中这 ...

  10. Entity Framework 6.X实现记录执行的SQL功能

    Entity Framework在使用时,很多时间操纵的是Model,并没有写sql语句,有时候为了调试或优化等,又需要追踪Entity framework自动生成的sql(最好还能记录起来,方便出错 ...