1、1openstack icehousemulti完整版openstack icehouse 在ubuntu14.04上的搭建过程(多节点)第一节 平台的基本搭建参考地址:一、 框架图Openstack三节点架构图二、准备工作1,新建三台虚拟机分别为controller、network、compute等三个节点,然后在各自虚拟机目录下,在.vmx中修改成vcpu.hotadd = FALSE2,在三台虚拟机上,新建网卡,然后分别设以下ipcontroller vmnet8 172.24.54.12 Vmnet1 10.0.0.11network vmnet8 172.24.54.22 vmnet
2、1 10.0.0.21 vmnet2 10.0.1.21 computevmnet8 172.24.54.32 vmnet1 10.0.0.31 vmnet2 10.0.1.31 具体过程如下:(1)controller vi /etc/hostname 并写入controllervi /etc/hosts 并写入10.0.0.11 controller 10.0.0.21 network 10.0.0.31 computevi /etc/network/interfaces# The management network interfaceauto eth0iface eth0 inet s
3、taticaddress 172.24.54.12netmask 255.255.255.0gateway 172.24.54.2# The public network interfaceauto eth1iface eth1 inet staticaddress 10.0.0.11netmask 255.255.255.0如果不能上外网,添加DNS在目录下创建tail文件,对network和compute也适用cd /etc/resolvconf/resolv.conf.d/ vim tail 写入nameserver 172.24.54.2(2)networkvi /etc/hostna
4、me 并写入networkvi /etc/hosts 并写入10.0.0.11 controller 10.0.0.21 network 10.0.0.31 computevi /etc/network/interfaces# The management network interfaceauto eth0iface eth0 inet staticaddress 172.24.54.22netmask 255.255.255.0gateway 172.24.54.2# VM traffic interfaceauto eth1iface eth1 inet staticaddress 10
5、.0.0.21netmask 255.255.255.0# The public network interfaceauto eth2iface eth2 inet staticaddress 10.0.1.21netmask 255.255.255.0(3)computevi /etc/hostname 加入computevi /etc/hosts 加入10.0.0.11 controller 10.0.0.21 network 10.0.0.31 computevi /etc/network/interfaces# The management network interfaceauto
6、eth0iface eth0 inet staticaddress 172.24.54.32 netmask 255.255.255.0gateway 172.24.54.2# VM traffic interfaceauto eth1iface eth1 inet staticaddress 10.0.0.31netmask 255.255.255.0# VM traffic interfaceauto eth2iface eth2 inet staticaddress 10.0.1.31netmask 255.255.255.0(4)测试从controller 节点# ping a sit
7、e on the internet:ping openstack.org# ping the management interface on the network node:ping network# ping the management interface on the compute node:ping compute从network 节点:# ping a site on the internet:ping openstack.org# ping the management interface on the controller node:ping controller# ping
8、 the VM traffic interface on the compute node:ping 172.24.55.31从compute 节点:# ping a site on the internet:ping openstack.org# ping the management interface on the controller node:ping controller# ping the VM traffic interface on the network node:ping 172.24.55.21三、搭建过程1, controller节点要安装以下服务1.1安装支持服务(
9、MySQL和RabbitMQ)。(1)更新系统以及各依赖关系apt-get update -y & apt-get upgrade -y & apt-get dist-upgrade(2)安装时间同步服务apt-get install -y ntp(3)安装数据库mysql apt-get install -y mysql-server python-mysqldb(4)修改下面文件vi /etc/mysql/fbind-address = 10.0.0.11vi /etc/mysql/fmysqlddefault-storage-engine = innodbinnodb_file_per_
10、tablecollation-server = utf8_general_ciinit-connect = SET NAMES utf8character-set-server = utf8(5)重启数据库 service mysql restart(6)删除数据库匿名用户 在终端下执行 mysql_install_dbmysql_secure_installation(7)安装 RabbitMQ (Message Queue)服务:apt-get install -y rabbitmq-server1.2 安装认证服务(Keystone)(1)安装keystone包 apt-get inst
11、all -y keystone(2)为keystone创建数据库mysql -u root -pCREATE DATABASE keystone;GRANT ALL PRIVILEGES ON keystone.* TO keystonelocalhost IDENTIFIED BY KEYSTONE_DBPASS;GRANT ALL PRIVILEGES ON keystone.* TO keystone% IDENTIFIED BY KEYSTONE_DBPASS;exit;(3)移除Keystone SQLite 数据库rm /var/lib/keystone/keystone.db(4
12、)编辑修改文件vi /etc/keystone/keystone.confdatabase把 connection = sqlite:/var/lib/keystone/keystone.db 改成connection = mysql:/keystone:KEYSTONE_DBPASScontroller/keystoneDEFAULTadmin_token=ADMINlog_dir=/var/log/keystone(5)重启认证服务并并同步数据库service keystone restartkeystone-manage db_sync(6)检查同步结果,看表里面有数据没,有就说明成功了
13、mysql -u root -p keystoneshow TABLES;(7)定义users, tenants, and roles:在终端下先添加环境变量export OS_SERVICE_TOKEN=ADMINexport OS_SERVICE_ENDPOINT=http:/controller:35357/v2.0在终端下#Create an administrative userkeystone user-create -name=admin -pass=admin_pass -email=adminkeystone role-create -name=adminkeystone t
14、enant-create -name=admin -description=Admin Tenantkeystone user-role-add -user=admin -tenant=admin -role=adminkeystone user-role-add -user=admin -role=_member_ -tenant=admin#Create a normal userkeystone user-create -name=demo -pass=demo_pass -email=demokeystone tenant-create -name=demo -description=
15、Demo Tenantkeystone user-role-add -user=demo -role=_member_ -tenant=demo#Create a service tenantkeystone tenant-create -name=service -description=Service Tenant(8)定义服务和API端点,在终端分别输入下面两条指令keystone service-create -name=keystone -type=identity -description=OpenStack Identitykeystone endpoint-create -se
16、rvice-id=$(keystone service-list | awk / identity / print $2) -publicurl=http:/172.24.54.12:5000/v2.0 -internalurl=http:/controller:5000/v2.0 -adminurl=http:/controller:35357/v2.0(9)新建两个文件,分别编辑如下,用于导入环境变量,要记住下面文件的路径,以便用时导入vi creds#Paste the following:export OS_TENANT_NAME=adminexport OS_USERNAME=adm
17、inexport OS_PASSWORD=admin_passexport OS_AUTH_URL=http:/172.24.54.12:5000/v2.0/vi admin_creds#Paste the following:export OS_USERNAME=adminexport OS_PASSWORD=admin_passexport OS_TENANT_NAME=adminexport OS_AUTH_URL=http:/controller:35357/v2.0(10)测试Keystone:#清除OS_SERVICE_TOKEN 和OS_SERVICE_ENDPOINT环境变量里
18、的值unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT#请求授权认证keystone -os-username=admin -os-password=admin_pass -os-auth-url=http:/controller:35357/v2.0 token-get# 加载 admin认证的环境变量文件source admin_credskeystone token-get#加载环境变量文件source creds开始测试keystone user-listkeystone user-role-list -user admin -tenant admin
19、1.3 安装镜像服务(Glance)(1)安装Glance包:apt-get install -y glance python-glanceclient(2)为Glance创建一个MySQL数据库:mysql -u root -pCREATE DATABASE glance;GRANT ALL PRIVILEGES ON glance.* TO glancelocalhost IDENTIFIED BY GLANCE_DBPASS;GRANT ALL PRIVILEGES ON glance.* TO glance% IDENTIFIED BY GLANCE_DBPASS;exit;(3)创建
20、user和role服务:keystone user-create -name=glance -pass=service_pass -email=glancekeystone user-role-add -user=glance -tenant=service -role=admin(4)注册服务创建端点:keystone service-create -name=glance -type=image -description=OpenStack Image Servicekeystone endpoint-create -service-id=$(keystone service-list |
21、 awk / image / print $2) -publicurl=http:/172.24.54.12:9292 -internalurl=http:/controller:9292 -adminurl=http:/controller:9292(5)修改文件/etc/glance/glance-api.conf:vi /etc/glance/glance-api.confdatabasereplace sqlite_db = /var/lib/glance/glance.sqlite withconnection = mysql:/glance:GLANCE_DBPASScontrol
22、ler/glanceDEFAULTrpc_backend = rabbitrabbit_host = controllerkeystone_authtokenauth_uri = http:/controller:5000auth_host = controllerauth_port = 35357auth_protocol = httpadmin_tenant_name = serviceadmin_user = glanceadmin_password = service_passpaste_deployflavor = keystone(6)修改文件/etc/glance/glance-
23、registry.conf:vi /etc/glance/glance-registry.confdatabasereplace sqlite_db = /var/lib/glance/glance.sqlite with:connection = mysql:/glance:GLANCE_DBPASScontroller/glancekeystone_authtokenauth_uri = http:/controller:5000auth_host = controllerauth_port = 35357auth_protocol = httpadmin_tenant_name = se
24、rviceadmin_user = glanceadmin_password = service_passpaste_deployflavor = keystone(7)重启lance-api and glance-registry 服务:service glance-api restart; service glance-registry restart(8)同步glance数据:glance-manage db_sync(9)测试Glance, 上传镜像文件:source credsglance image-create -name cirros-0.3.2-x86_64 -is-publ
25、ic true -container-format bare -disk-format qcow2 -location http:/cdn.download.cirros-(10)列出镜像:glance image-list1.4安装计算服务(Nova)(1)安装nova包:apt-get install -y nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy nova-scheduler python-novaclient(2)为Nova创建mysql数据库mysql -u root -pCREATE DAT
26、ABASE nova;GRANT ALL PRIVILEGES ON nova.* TO novalocalhost IDENTIFIED BY NOVA_DBPASS;GRANT ALL PRIVILEGES ON nova.* TO nova% IDENTIFIED BY NOVA_DBPASS;exit;(3)创建user 和 role服务:keystone user-create -name=nova -pass=service_pass -email=novakeystone user-role-add -user=nova -tenant=service -role=admin(4
27、)注册服务并创建端点:keystone service-create -name=nova -type=compute -description=OpenStack Computekeystone endpoint-create -service-id=$(keystone service-list | awk / compute / print $2) -publicurl=http:/172.24.54.12:8774/v2/%(tenant_id)s -internalurl=http:/controller:8774/v2/%(tenant_id)s -adminurl=http:/c
28、ontroller:8774/v2/%(tenant_id)s(5)修改文件,在/etc/nova/nova.conf的下方添加下列内容vi /etc/nova/nova.confdatabaseconnection = mysql:/nova:NOVA_DBPASScontroller/novaDEFAULTrpc_backend = rabbitrabbit_host = controllermy_ip = 172.24.54.11 vncserver_listen = 172.24.54.11 vncserver_proxyclient_address = 172.24.54.11 au
29、th_strategy = keystonekeystone_authtokenauth_uri = http:/controller:5000auth_host = controllerauth_port = 35357auth_protocol = httpadmin_tenant_name = serviceadmin_user = novaadmin_password = service_pass(6)删除Nova SQLite数据库:rm /var/lib/nova/nova.sqlite(7)同步数据库:nova-manage db sync(8)重启nova-* 服务:service nova-api restartservice nova-cert restartservice nova-conductor restartservice nova-consoleauth restartservice nova-novncproxy restartservice nova-scheduler restart(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1