热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu13.04系统安装OpenStackGrizzly云计算平台

基于网上的安装文档,根据自己的环境做出一些更改,并加入安装出错处理方法。1.计划Eth010.0.0.2Eth1192.168.66.168安装方式单机双网卡在虚拟机中安装2.前期准备2.1Ubuntu系统准备切换用户改为soho源cp/etc/apt/source.list/etc/apt/source.li

基于网上的安装文档,根据自己的环境做出一些更改,并加入安装出错处理方法。

1.   计划

Eth0

10.0.0.2

Eth1

192.168.66.168

安装方式

单机双网卡在虚拟机中安装

2.   前期准备 2.1 Ubuntu系统准备

切换用户

改为soho源

cp /etc/apt/source.list
/etc/apt/source.list_back

然后将源替换成下面的源

deb http://mirrors.sohu.com/ubuntu/
raring mainrestricted

deb-src http://mirrors.sohu.com/ubuntu/
raring mainrestricted

deb http://mirrors.sohu.com/ubuntu/
raring-updates mainrestricted

deb-src http://mirrors.sohu.com/ubuntu/
raring-updatesmain restricted

deb http://mirrors.sohu.com/ubuntu/
raring universe

deb-src http://mirrors.sohu.com/ubuntu/
raring universe

deb http://mirrors.sohu.com/ubuntu/
raring-updatesuniverse

deb-src http://mirrors.sohu.com/ubuntu/
raring-updatesuniverse

deb http://mirrors.sohu.com/ubuntu/
raring multiverse

deb-src http://mirrors.sohu.com/ubuntu/
raring multiverse

deb http://mirrors.sohu.com/ubuntu/
raring-updatesmultiverse

deb-src http://mirrors.sohu.com/ubuntu/
raring-updatesmultiverse

deb http://mirrors.sohu.com/ubuntu/
raring-backports mainrestricted universe
multiverse

deb-src http://mirrors.sohu.com/ubuntu/
raring-backportsmain restricted universe
multiverse

deb http://mirrors.sohu.com/ubuntu/
raring-security mainrestricted

deb-src http://mirrors.sohu.com/ubuntu/
raring-securitymain restricted

deb http://mirrors.sohu.com/ubuntu/
raring-securityuniverse

deb-src http://mirrors.sohu.com/ubuntu/
raring-securityuniverse

deb http://mirrors.sohu.com/ubuntu/
raring-securitymultiverse

deb-src http://mirrors.sohu.com/ubuntu/
raring-securitymultiverse

deb http://extras.ubuntu.com/ubuntu
raring main

deb-src http://extras.ubuntu.com/ubuntu
raring main

 升级系统:

apt-get update

apt-get upgrade

apt-get dist-upgrade

2.2网络设置

编辑/etc/network/interfaces


       address
192.168.66.168



       netmask
255.255.255.0



       network
192.168.66.0



       broadcast
192.168.66.255



       gateway
192.168.66.254



       dns-nameservers
192.168.66.254


设置好后重启网络:service networking restart

2.3 安装MySQL & RabbitMQ

安装MySQL:

apt-get install -y
mysql-serverpython-mysqldb

配置并重启MySQL:

sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf

service mysql restart

安装RabbitMQ:

apt-get install -y rabbitmq-server

安装时若提示Startingrabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err} 

需在/etc/hosts中加入本机IP和主机名

       安装NTP:

2.4     其他

apt-get install -y vlan
bridge-utils

配置/etc/sysctl.conf

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

  3.   Keystone

安装并检查状态:

apt-get install -y keystone

建立数据库(蓝色标记的用户名和密码可改):

mysql -u root -p
CREATE DATABASE keystone;
GRANT ALL ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';

修改/etc/keystone/keystone.conf中的数据库连接

connection
=mysql://keystoneUser:keystonePass@10.0.0.2/keystone

重启并同步数据库:

同步时若提示"Access denied foruser…”,检查数据库访问权限

用下面两个脚本去填充keystone数据库,也就是增加user,tenant,role和service以及service的endpoint

#Modify the HOST_IP and HOST_IP_EXT variables before executing the scripts
wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_SingleNode/KeystoneScripts/keystone_basic.sh
wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_SingleNode/KeystoneScripts/keystone_endpoints_basic.sh
修改权限:
chmod +x keystone_basic.sh
chmod +x keystone_endpoints_basic.sh

修改keystone_basic.sh中的HOST_IP为自己的Eth0的IP 

修改keystone_endpoints_basic.sh中的HOST_IP和EXT_HOST_IP,同时将连接keystone数据库的的用户名和密码进行修改:

./keystone_basic.sh
./keystone_endpoints_basic.sh

WARNING: Bypassing authentication using a token& endpoint (authentication credentials are being ignored).此提示可忽略

编辑文件creds

export OS_TENANT_NAME=admin
export OS_PASSWORD=admin_pass
export OS_AUTH_URL="http://192.168.66.168:5000/v2.0/"

引入环境变量中:

source creds

或者可以直接加入root(cat creds >> /root/.bashrc)的环境变量,这样重启后就无需再次引入了

查看创建的user

keystone user-list

若出现如下错误:Unable to communicate with identity service:{"error": {"message": "The request you have maderequires authentication.", "code": 401, "title":"Not Authorized"}}. (HTTP 401)可删除数据库keystone后重新创建keystone,从keystone-manage db_sync 开始重试一次

4.   Glance

apt-get install -y glance

service glance-api status

service glance-registry status

建立glance数据库(用户名和密码可改):

GRANT ALL ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';

修改/etc/glance/glance-api-paste.ini

和/etc/glance/glance-registry-paste.ini文件

注:红色为必须要修改(核对)的地方,建议把提到的这几项都核对一下:

[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
delay_auth_decision = true
auth_host = 10.0.0.2
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = service_pass

编辑/etc/glance/glance-api.conf和/etc/glance/glance-registry.conf,修改数据库连接:

sql_cOnnection=mysql://glanceUser:glancePass@10.0.0.2/glance

并且在[paste_deploy]下加上flavor = keystone

[paste_deploy]
flavor = keystone

重启服务

service glance-api restart; serviceglance-registry restart

同步数据库:

再次重启服务

service glance-registry restart; serviceglance-api restart

上传镜像测试glance的安装情况:

glance image-create--name myFirstImage--is-public true --container-format bare --disk-format qcow2 -?locationhttps://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img

查看镜像:

2013.7.11更新

5.   Quantum 5.1. OpenVSwitch

安装OpenVSwitch

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

建立网桥br-int和br-ex:

#br-int will be used for VM integration

#br-ex is used to make to access the internet(not covered
in this guide)

apt-get install -y quantum-server
quantum-plugin-openvswitchquantum-plugin-openvswitch-agent dnsmasq
quantum-dhcp-agent quantum-l3-agent

创建quantum数据库(用户名和密码可修改):

GRANT ALL ON quantum.* TO 'quantumUser'@'%'IDENTIFIED BY
'quantumPass';

查看Quantum-*组件状态

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

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

paste.filter_factory
=keystoneclient.middleware.auth_token:filter_factory

admin_tenant_name = service

admin_password = service_pass


编辑OVS插件配置文件/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini


#Under the database section

sql_connection =
mysql://quantumUser:quantumPass@10.0.0.2/quantum

tenant_network_type = gre

tunnel_id_ranges = 1:1000

integration_bridge = br-int

编辑 /etc/quantum/metadata_agent.ini

# The Quantum user information for accessingthe Quantum API.

auth_url = http://10.0.0.2:35357/v2.0

admin_tenant_name = service

admin_password = service_pass

# IP address used by Nova metadata server

nova_metadata_ip = 127.0.0.1

# TCP Port used by Nova metadata server

nova_metadata_port = 8775

metadata_proxy_shared_secret = helloOpenStack

编辑 /etc/quantum/quantum.conf

admin_tenant_name = service

admin_password = service_pass

signing_dir = /var/lib/quantum/keystone-signing

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

6. Nova
6.1 KVM

确保硬件支持虚拟化:

apt-get install cpu-checker

若在虚拟机中安装,以下错误可忽略:


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

编辑/etc/libvirt/qemu.conf文件,使得cgroup_device_acl与下面相同:

"/dev/null", "/dev/full","/dev/zero",

"/dev/random","/dev/urandom",

"/dev/ptmx", "/dev/kvm","/dev/kqemu",

"/dev/rtc","/dev/hpet","/dev/net/tun"

删除默认的网桥(也可以不删除,不会有影响)

virsh net-destroy default

virsh net-undefine default

编辑 /etc/libvirt/libvirtd.conf 文件以便支持动态迁移:

修改/etc/init/libvirt-bin.conf 中的libvirtd_opts变量

env libvirtd_opts="-d -l"

修改/etc/default/libvirt-bin中的libvirtd_opts变量

重启libvirt 服务使得修改生效

service libvirt-bin restart

6.2 Nova-*

安装nova组件:

apt-get install -y nova-api nova-cert novnc nova-consoleauthnova-scheduler nova-novncproxy nova-doc nova-conductor nova-compute-kvm

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

GRANT ALL ON nova.* TO 'novaUser'@'%' IDENTIFIED BY
'novaPass';

修改/etc/nova/api-paste.ini文件::

paste.filter_factory =
keystoneclient.middleware.auth_token:filter_factory

admin_tenant_name = service

admin_password = service_pass

signing_dirname = /tmp/keystone-signing-nova

# Workaround for
https://bugs.launchpad.net/nova/+bug/1154809

修改 /etc/nova/nova.conf 文件(最好是把原来的文件备份,然后新建和下面一样的文件):

api_paste_cOnfig=/etc/nova/api-paste.ini


compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler


nova_url=http://10.0.0.2:8774/v1.1/


sql_cOnnection=mysql://novaUser:novaPass@10.0.0.2/nova


root_helper=sudo nova-rootwrap
/etc/nova/rootwrap.conf

use_deprecated_auth=false

glance_api_servers=10.0.0.2:9292


image_service=nova.image.glance.GlanceImageService



novncproxy_base_url=http://192.168.66.168:6080/vnc_auto.html


vncserver_proxyclient_address=10.0.0.2


network_api_class=nova.network.quantumv2.api.API


quantum_url=http://10.0.0.2:9696

quantum_auth_strategy=keystone

quantum_admin_tenant_name=service

quantum_admin_username=quantum

quantum_admin_password=service_pass


quantum_admin_auth_url=http://10.0.0.2:35357/v2.0



libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver



linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver



firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver


service_quantum_metadata_proxy = True

quantum_metadata_proxy_shared_secret =
helloOpenStack

metadata_listen = 127.0.0.1

metadata_listen_port = 8775

compute_driver=libvirt.LibvirtDriver

volume_api_class=nova.volume.cinder.API

osapi_volume_listen_port=5900

编辑 /etc/nova/nova-compute.conf:

#libvirt_type=kvm(物理机)


libvirt_type=qemu(虚拟机)


libvirt_ovs_bridge=br-int

libvirt_vif_type=ethernet


libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver


libvirt_use_virtio_for_bridges=True

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

检查nova-*各项服务是否工作正常(笑脸为正常)

7. Cinder

安装Cinder以及必须的软件包

sudo apt-get install cinder-api

cinder-scheduler cinder-volume open-iscsi
python-cinderclient tgt

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

GRANT ALL ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY
'cinderPass';

修改/etc/cinder/api-paste.ini:

paste.filter_factory =
keystoneclient.middleware.auth_token:filter_factory

service_host = 192.168.66.168

admin_tenant_name = service

admin_password = service_pass

编辑 /etc/cinder/cinder.conf :

rootwrap_cOnfig=/etc/cinder/rootwrap.conf

sql_connection =
mysql://cinderUser:cinderPass@10.0.0.2/cinder

api_paste_config = /etc/cinder/api-paste.ini

volume_name_template = volume-%s

volume_group = cinder-volumes

#osapi_volume_listen_port=5900

state_path=/var/lib/cinder

volumes_dir=/var/lib/cinder/volumes

dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G

losetup /dev/loop2 cinder-volumes

vgcreate cinder-volumes /dev/loop2

为了重启后逻辑组cinder-volumes还在,可以在/etc/rc.local的exit 0之前加入

losetup /dev/loop2 cinder-volumes

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

apt-get install openstack-dashboard memcached

如果不喜欢OpenStack ubuntu的主题页面,可以去除改包:

dpkg --purge openstack-dashboard-ubuntu-theme

重启apache2 和memcached 服务

service apache2 restart; service memcached restart

然后就可以从网页上访问192.168.66.168/horizon 

如果没有改,则默认的账号和密码是:admin:admin_pass.


推荐阅读
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
author-avatar
江自流
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有