设为首页 收藏本站
查看: 1184|回复: 0

[经验分享] OpenStack Grizzly版本部署(离线)

[复制链接]

尚未签到

发表于 2017-6-25 06:00:33 | 显示全部楼层 |阅读模式
  参考原版地址:https://github.com/mseknibilel/OpenStack-Grizzly-Install-Guide
  图转自原版地址
  部署拓扑:https://camo.githubusercontent.com/c5bbff98a5ad9b4d82bcc841cdbd76c07a50b82e/687474703a2f2f692e696d6775722e636f6d2f467273756768652e6a7067
  部署环境:vmware station架设三台虚拟机 (ubuntu12.04操作系统)
  我的配置:eth0 vmnet8 NAT 192.168.40.0/24
  eth1 vmnet3 host-only 192.168.10.0/24
  eth2 vmnet4 host-only 192.168.157.0/24
  一、首先配置离线源:
  (1)添加网络源、更新源、更新所有安装包



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

apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -y
  (2)安装需要的服务和组件



mysql-server python-mysqld rabbitmq-server ntp vlan bridge-utils keystone glance quantum-server
nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy nova-doc nova-conductor
cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms
openstack-dashboard memcached
openvswitch-switch openvswitch-datapath-dkms
quantum-plugin-openvswitch-agent quantum-dhcp-agent quantum-l3-agent quantum-metadata-agent
cpu-checker kvm libvirt-bin pm-utils   nova-compute-kvm
  (3)制作源 ---方法http://blog.sina.com.cn/s/blog_6ab596b90100u4xh.html
  二、控制节点的安装
  (1)在network/interface中配置静态IP



# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.40.128
netmask 255.255.255.0
gateway 192.168.40.2
#控制节点暂不设eth1
  并重启 service networking restart
  (2)安装mysql数据库和消息队列rabbitmq



apt-get install -y mysql-server python-mysqldb
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
service mysql restart
apt-get install -y rabbitmq-server
  (3)安装ntp时间服务器 这个非常重要 用于组件之间的实时同步



apt-get install -y ntp

  (4)更改数据库密码



修改MySQL密码为passwd:
[iyunv@stonex ~]#  mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
...... 省略了一些行
mysql> select user,host,password from mysql.user;
查询用户的密码,都为空,用下面的命令设置root的密码为password
mysql> set password for root@localhost=password('password');
mysql> exit
  (5)在mysql中添加各个组件的数据库并授权



mysql -u root -p
#Keystone
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystoneUser'@'%' IDENTIFIED BY 'keystonePass';
#Glance
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glanceUser'@'%' IDENTIFIED BY 'glancePass';
#Quantum
CREATE DATABASE quantum;
GRANT ALL PRIVILEGES ON quantum.* TO 'quantumUser'@'%' IDENTIFIED BY 'quantumPass';
#Nova
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'novaUser'@'%' IDENTIFIED BY 'novaPass';
#Cinder
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinderUser'@'%' IDENTIFIED BY 'cinderPass';
quit;

  (6)安装vlan和管理网桥的工具



apt-get install -y vlan bridge-utils
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
# To save you from rebooting, perform the following 开启路由转发功能
sysctl net.ipv4.ip_forward=1
  (7)安装keystone (前六步可以说是准备工作)



apt-get install -y keystone
  将keystone.conf中



connection = mysql://keystoneUser:keystonePass@192.168.40.128/keystone
  重启并同步数据库



service keystone restart
keystone-manage db_sync
  下面要开始创建keystone的user、tenant、service和role,这里直接借用源地址作者提供的两个脚本。



#Modify the **HOST_IP** and **EXT_HOST_IP** variables before executing the scripts
wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_basic.sh
wget https://raw.github.com/mseknibilel/OpenStack-Grizzly-Install-Guide/OVS_MultiNode/KeystoneScripts/keystone_endpoints_basic.sh
如果是离线安装,脚本事先要下好

chmod +x keystone_basic.sh
chmod +x keystone_endpoints_basic.sh
./keystone_basic.sh
./keystone_endpoints_basic.sh
  创建一个credential 执行一些环境变量,这样才能使用openstack的命令



nano creds
#Paste the following:
#此处name和pass都要与上面两个脚本中的一一对应
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin_pass
export OS_AUTH_URL="http://192.168.40.128:5000/v2.0/"
# Load it:  使用方法 source这个credential即可
source creds
  测试keystone



keystone user-list
keystone service-list等

  (8)安装glance



apt-get install -y glance
  修改配置文件



修改 /etc/glance/glance-api-paste.ini with:
[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
delay_auth_decision = true
auth_host = 192.168.40.128
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = service_pass

修改the /etc/glance/glance-registry-paste.ini with:
[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
auth_host = 192.168.40.128
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = service_pass

修改/etc/glance/glance-api.conf with:
sql_connection = mysql://glanceUser:glancePass@192.168.40.128/glance
And:
[paste_deploy]
flavor = keystone
Update the /etc/glance/glance-registry.conf with:
sql_connection = mysql://glanceUser:glancePass@192.168.40.128/glance
And:
[paste_deploy]
flavor = keystone
  重启并同步数据库



service glance-* restart
glance-manage db_sync
  测试



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 此处的image是一个在线的镜像 镜像也可以自己做 教程以后再写

glance image-list
  (9)安装quantum



apt-get install -y quantum-server
  修改配置文件



编辑/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini with:
#Under the database section
[DATABASE]
sql_connection = mysql://quantumUser:quantumPass@192.168.40.128/quantum

#Under the OVS section
[OVS]
tenant_network_type = gre
tunnel_id_ranges = 1:1000
enable_tunneling = True
#Firewall driver for realizing quantum security group function
[SECURITYGROUP]
firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
编辑/etc/quantum/api-paste.ini
[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
auth_host = 192.168.40.128
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = quantum
admin_password = service_pass
编辑the /etc/quantum/quantum.conf:
[keystone_authtoken]
auth_host = 192.168.40.128
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = quantum
admin_password = service_pass
signing_dir = /var/lib/quantum/keystone-signing
  重启quantum



service quantum-server restart
  (10)安装nova



apt-get install -y nova-api nova-cert novnc nova-consoleauth nova-scheduler nova-novncproxy nova-doc nova-conductor
  修改配置



编辑 /etc/nova/api-paste.ini file to this:
[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
auth_host = 192.168.40.128
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = nova
admin_password = service_pass
signing_dirname = /tmp/keystone-signing-nova
# Workaround for https://bugs.launchpad.net/nova/+bug/1154809
auth_version = v2.0
编辑 /etc/nova/nova.conf like this:
[DEFAULT]
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/run/lock/nova
verbose=True
api_paste_config=/etc/nova/api-paste.ini
compute_scheduler_driver=nova.scheduler.simple.SimpleScheduler
rabbit_host=192.168.40.128
nova_url=http://192.168.40.128:8774/v1.1/
sql_connection=mysql://novaUser:novaPass@192.168.40.128/nova
root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf
# Auth
use_deprecated_auth=false
auth_strategy=keystone
# Imaging service
glance_api_servers=192.168.40.128:9292
image_service=nova.image.glance.GlanceImageService
# Vnc configuration
novnc_enabled=true
novncproxy_base_url=http://192.168.40.128:6080/vnc_auto.html
novncproxy_port=6080
vncserver_proxyclient_address=192.168.40.128
vncserver_listen=0.0.0.0
# Network settings
network_api_class=nova.network.quantumv2.api.API
quantum_url=http://192.168.40.128:9696
quantum_auth_strategy=keystone
quantum_admin_tenant_name=service
quantum_admin_username=quantum
quantum_admin_password=service_pass
quantum_admin_auth_url=http://192.168.40.128:35357/v2.0
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver
#If you want Quantum + Nova Security groups
firewall_driver=nova.virt.firewall.NoopFirewallDriver
security_group_api=quantum
#If you want Nova Security groups only, comment the two lines above and uncomment line -1-.
#-1-firewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver
#Metadata
service_quantum_metadata_proxy = True
quantum_metadata_proxy_shared_secret = helloOpenStack
# Compute #
compute_driver=libvirt.LibvirtDriver
# Cinder #
volume_api_class=nova.volume.cinder.API
osapi_volume_listen_port=5900
  重启并同步



cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done
nova-manage db sync
  (11)安装cinder



apt-get install -y cinder-api cinder-scheduler cinder-volume iscsitarget open-iscsi iscsitarget-dkms
  修改配置



配置 iscsi services:
sed -i 's/false/true/g' /etc/default/iscsitarget
Restart the services:
service iscsitarget start
service open-iscsi start
编辑/etc/cinder/api-paste.ini like the following:
[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
service_protocol = http
service_host = 192.168.40.128
service_port = 5000
auth_host = 192.168.40.128
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = cinder
admin_password = service_pass
signing_dir = /var/lib/cinder

编辑the /etc/cinder/cinder.conf to:
[DEFAULT]
rootwrap_config=/etc/cinder/rootwrap.conf
sql_connection = mysql://cinderUser:cinderPass@192.168.40.128/cinder
api_paste_config = /etc/cinder/api-paste.ini
iscsi_helper=ietadm
volume_name_template = volume-%s
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
iscsi_ip_address=192.168.40.128
  同步



cinder-manage db sync
  最后 创建volume-group



dd if=/dev/zero of=cinder-volumes bs=1 count=0 seek=2G
losetup /dev/loop2 cinder-volumes
fdisk /dev/loop2
#Type in the followings:
n
p
1
ENTER
ENTER
t
8e
w
Proceed to create the physical volume then the volume group:
pvcreate /dev/loop2
vgcreate cinder-volumes /dev/loop2
  这种方法在重启后会失效  解决方法
  https://github.com/mseknibilel/OpenStack-Folsom-Install-guide/blob/master/Tricks%26Ideas/load_volume_group_after_system_reboot.rst
  重启



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



apt-get install -y openstack-dashboard memcached
  如何卸载openstack-ubuntu的主题



dpkg --purge openstack-dashboard-ubuntu-theme
  重启



service apache2 restart; service memcached restart
  通过
  Check OpenStack Dashboard at http://192.168.40.128/horizon. We can login with the admin / admin_pass访问

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387776-1-1.html 上篇帖子: openstack第四天——nova之虚拟化 下篇帖子: B站运维团队成长的血泪史
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表