1、openstack 虚拟机下安装详细过程下面就是主要的搭建过程:第一步:准备系统1.首先先把你的系统升级到最新版,所有的软件包包括内核都升级一下,免得后面安装软件包的时候出现什么不依赖的情况sudo apt-get updatesudo apt-get upgrade还有就是下面所有的操作最好都切换到root用户,sudo passwdsudo -2.设置网络我的虚拟机的ip是222.24.24.174,大家最好按照我的设置做,等搭建成功之后在做修改sudo vim/etc/network/interfacesauto loiface lo inet loopbackauto eth0ifac
2、e eth0 inet staticaddress 222.24.24.174netmask 255.255.255.0broadcast 222.24.24.255gateway 222.24.24.1# dns-* options are implemented by the resolvconf package, if installeddns-nameservers 202.117.128.2auto eth1iface eth1 inet staticaddress 192.168.22.1network 192.168.22.0netmask 255.255.255.0broadc
3、ast 192.168.22.2553.重启下网络,让修改生效/etc/init.d/networking restart4.安装bridgeapt-get install bridge-utils重启网络或者重启一下机器都可以/etc/init.d/networking restart5.设置NTPapt-get install ntp编辑 /etc/ntp.conf 在末尾添加下面3行server iburstserver 127.127.1.0fudge 127.127.1.0 stratum 10重启服务sudo /etc/init.d/ntp restart6.设置Iscsiapt-
4、get installtgt重启服务service tgt start安装iscsi客户端apt-get install open-iscsi open-iscsi-utils8:安装rabbitmqapt-get install rabbitmq-server memcached python-memcacheapt-get install kvm libvirt-bin第二步:安装mysql,创建相关数据库Openstack的组件:nova,keystone,glance,都需要数据库。不过目前官方建议keystone,采用sqlite存储,而不用mysql存放。所以我们只需要创建nova
5、和glance两个数据库就可以1:安装mysql过程中,会提示你输入root密码。apt-get install -y mysql-serverpython-mysqldb让mysql支持外部访问sed -i s/127.0.0.1/0.0.0.0/g /etc/mysql/f重启服务service mysql restart2:安装phpmyadmin (可选)为了方便,可以把phpmyadmin装上,可以比较方便管理数据库apt-get install phpmyadmin安装的时候,第一个提示是让你输入root的密码。3:创建数据库nova数据库, 管理员:novadbadmin,密码是
6、:dieD9Mieglance数据库,管理员:glancedbadmin,密码是:ohC3teiv如果你修改密码,后面很多配置都需要相应更改。mysql -uroot -pCREATE DATABASE nova;GRANT ALL PRIVILEGES ON nova.* TO novadbadmin% IDENTIFIED BY dieD9Mie;CREATE DATABASE glance;GRANT ALL PRIVILEGES ON glance.* TO glancedbadmin% IDENTIFIED BY ohC3teiv;quit三:安装和配置keystoneOpensta
7、ck的各个组件,keystone是最难配置。搞定keystone,后面应该就没啥麻烦。1:安装keystoneapt-get install keystone python-keystone python-keystoneclient2:配置keystone需要修改 /etc/keystone/keystone.conf 两个地方默认定义的token就是ADMIN,我使用hastexo作为tokenDEFAULTbind_host = 0.0.0.0public_port = 5000admin_port = 35357#admin_token = ADMINadmin_token =hast
8、exo另外一个地方是catalog#driver = keystone.catalog.backends.sql.Catalogdriver = keystone.catalog.backends.templated.TemplatedCatalogtemplate_file = /etc/keystone/default_catalog.templates重启服务service keystone restart3: 导入数据这个是通过修改devstack的keystone_data.sh 脚本。实现导入数据。如果你上面的设置都和我一样,那直接运行这个脚本就可以。下载脚本wget mv key
9、stone_data.sh_.txt keystone_data.sh让脚本可运行chmod +x keystone_data.sh运行脚本, 如果你修改的默认的用户名和密码,你需要修改脚本。修改两个地方第一个是登录dashboard的admin的密码第二个就是keystone的token#ADMIN_PASSWORD=$ADMIN_PASSWORD:-hastexoADMIN_PASSWORD=$ADMIN_PASSWORD:-adminSERVICE_PASSWORD=$SERVICE_PASSWORD:-$ADMIN_PASSWORD#export SERVICE_TOKEN=haste
10、xoexport SERVICE_TOKEN=Centrinexport SERVICE_ENDPOINT=http:/localhost:35357/v2.0SERVICE_TENANT_NAME=$SERVICE_TENANT_NAME:-service然后运行这个脚本./keystone_data.sh顺利运行,会什么都没有输出rootopenstack:# echo $?0rootopenstack:# keystone -tenant=admin -username=admin -password=hastexo -auth_url=http:/127.0.0.1:5000/v2.0
11、 user-list+-+-+-+-+| id | enabled | email | name |+-+-+-+-+| a8fa3a4e842946f18f40f1132754e262 | True | admin | admin | b86ba4884b7c405e98529f94dc6f44f4 | True | demo | demo | e36322db7bdb46c0877cf6753bd23ebf | True | nova | nova | fcddaebccdfa47e2aa0cfed3ab516de8 | True | glance | glance |+-+-+-+-+看
12、到这些,就说明keystone安装正常。接下来就是添加环境变量export OS_TENANT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=hastexoexport OS_AUTH_URL=http:/localhost:5000/v2.0/然后运行rootopenstack:# keystone user-list+-+-+-+-+| id | enabled | email | name |+-+-+-+-+| a8fa3a4e842946f18f40f1132754e262 | True | admin | admin |
13、b86ba4884b7c405e98529f94dc6f44f4 | True | demo | demo | e36322db7bdb46c0877cf6753bd23ebf | True | nova | nova | fcddaebccdfa47e2aa0cfed3ab516de8 | True | glance | glance |+-+-+-+-+四:安装和配置glance1:安装软件apt-get install glance glance-api glance-client glance-common glance-registry python-glance2:配置/etc/g
14、lance/glance-api-paste.ini修改文件最后3行,这些设置都是keystone导入数据的时候设置的。admin_tenant_name = %SERVICE_TENANT_NAME%admin_user = %SERVICE_USER%admin_password = %SERVICE_PASSWORD%改成admin_tenant_name =adminadmin_user =adminadmin_password =hastexo3:设置 /etc/glance/glance-registry-paste.ini也是修改文件最后3行,和上面是一样的。admin_tena
15、nt_name = %SERVICE_TENANT_NAME%admin_user = %SERVICE_USER%admin_password = %SERVICE_PASSWORD%改成admin_tenant_name =adminadmin_user =adminadmin_password =hastexo4:配置/etc/glance/glance-registry.conf修改#sql_connection = sqlite:/var/lib/glance/glance.sqlitesql_connection = mysql:/glancedbadmin:ohC3teiv222
16、.24.24.174/glance在末尾添加两行paste_deployflavor = keystone5:配置/etc/glance/glance-api.conf在末尾添加两行paste_deployflavor = keystone6:同步数据库目前glance 需要手工同步数据库。你装一个phpmyadmin,先确认glance数据库没任何内容。 glance-manage version_control 0glance-manage db_sync成功之后会输出:/usr/lib/python2.7/dist-packages/glance/registry/db/migrate_
17、repo/versions/003_add_disk_format.py:47:SADeprecationWarning: useexisting is deprecated. Use extend_existing.useexisting=True)重启服务 service glance-api restart & service glance-registry restart7:验证glance服务是否正常下面的步骤照做就可以,具体原理可以看英文export OS_TENANT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=has
18、texoexport OS_AUTH_URL=http:/localhost:5000/v2.0/运行glance index没有任何的输出。表示正常。#echo $?下面会输出0 ,表示正常。# glance versionglance 2012.18:下载镜像并上传ubuntu官方专门提供image,http:/uec-。不过一定要注意这些镜像,都是必须使用密钥登录,直接用用户名密码是无法的登录的。下载镜像http:/cloud-这应该是ubuntu提供的最新的稳定的镜像。wget http:/cloud-上传镜像glance add name=Ubuntu 12.04 cloudimg
19、amd64 is_public=true container_format=ovf disk_format=qcow2 /root/precise-server-cloudimg-amd64-disk1.img上传完镜像后。在运行glance index或者glance username=admin password=hastexo tenant=admin auth_url=http:/127.0.0.1:5000/v2.0 index就可以看到上传的image。rootopenstack:# glance indexID Name Disk Format Container Format
20、Size- - - - -cbcc3785-dfe6-4100-9f7c-04be4d8d70bb Ubuntu 12.04 cloudimg amd64 qcow2 ovf 232259584五:安装配置nova1:安装nova相关组件apt-get install nova-api nova-cert nova-common nova-compute nova-compute-kvm nova-doc nova-network nova-objectstore nova-scheduler nova-volume python-nova python-novaclient nova-con
21、soleauth python-novnc novnc2:配置 /etc/nova/nova.conf把nova.conf 原来的内容删除掉。直接贴下面内容。重点需要注意的是,如果你是在虚拟机里测试Openstack。你需要把默认的虚拟化引擎从kvm改成qemu。还有就是修改/etc/nova/nova-compute.conf 将默认的虚拟化引擎从kvm改成qemu。rootopenstack:# cat /etc/nova/nova-compute.conf-libvirt_type=qemurootopenstack:# cat /etc/nova/nova.conf-dhcpbridg
22、e_flagfile=/etc/nova/nova.conf-dhcpbridge=/usr/bin/nova-dhcpbridge-logdir=/var/log/nova-state_path=/var/lib/nova-lock_path=/var/lock/nova-allow_admin_api=true-use_deprecated_auth=false-auth_strategy=keystone-scheduler_driver=nova.scheduler.simple.SimpleScheduler-s3_host=222.24.24.174-ec2_host=222.24
23、.24.174-rabbit_host=222.24.24.174-cc_host=222.24.24.174-nova_url=http:/222.24.24.174:8774/v1.1/-routing_source_ip=222.24.24.174-glance_api_servers=222.24.24.174:9292-image_service=nova.image.glance.GlanceImageService-iscsi_ip_prefix=192.168.22-sql_connection=mysql:/novadbadmin:dieD9Mie222.24.24.174/
24、nova-ec2_url=http:/222.24.24.174:8773/services/Cloud-keystone_ec2_url=http:/222.24.24.174:5000/v2.0/ec2tokens-api_paste_config=/etc/nova/api-paste.ini-libvirt_type=qemu-libvirt_use_virtio_for_bridges=true-start_guests_on_host_boot=true-resume_guests_state_on_host_boot=true#novnc-novnc_enabled=true-n
25、ovncproxy_base_url= http:/222.24.24.174:6080/vnc_auto.html-vncserver_proxyclient_address=127.0.0.1-vncserver_listen=127.0.0.1# network specific settings-network_manager=work.manager.FlatDHCPManager-public_interface=eth0-flat_interface=eth1-flat_network_bridge=br100-fixed_range=192.168.22.32/27-float
26、ing_range=10.42.0.32/27-network_size=32-flat_network_dhcp_start=192.168.22.33-flat_injected=False-force_dhcp_release-iscsi_helper=tgtadm-connection_type=libvirt-root_helper=sudo nova-rootwrap#-verbose-verbose=False3:配置/etc/nova/api-paste.ini也是修改文件最后3行,admin_tenant_name = %SERVICE_TENANT_NAME%admin_u
27、ser = %SERVICE_USER%admin_password = %SERVICE_PASSWORD%改成admin_tenant_name =adminadmin_user =adminadmin_password =hastexo4:停止和重启nova相关服务for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler novnc nova-volume nova-consoleauth; do service $a restart; done5:同步数据库以前我运行同步数据库,如果正确, 当nova.confverbose=False是没有任何的输出,否则有一堆是输出。nova-manage db sync创建网络nova-manage network create private -fixed_range_v4=192.168.22.32/27 -num_networks=1 -bridge=br100 -bridge_interface=eth1 -network_size=32设定floating IPnova-manage floating create -ip_range=22
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2