openstack必须安装哪些组件

openstack必须安装哪些组件,第1张

一、 数据库

a) 安装

# apt-get install python-mysqldb mysql-server

b) 配置

修改 /etc/mysql/my.cnf

[mysqld]

bind-address = 127.0.0.1# ip 地址全部使用本机

default-storage-engine = innodb #设置默认存储引擎为 Innodb

innodb_file_per_table

collation-server = utf8_general_ci #设置编码格式

init-connect = 'SET NAMES utf8'

character-set-server = utf8

c) 重启 mysql 服务,使用安全模式初始化数据库,删除匿名用户

# service mysql restart

# mysql_secure_installation 或 # mysql_install_db

二、 软件包配置

a) 安装 OpenStack Havana Ubuntu 云档案

# apt-get install python-software-properties

# add-apt-repository cloud-archive:Havana

b) 更新软件包数据库,更新系统

# apt-get update &&apt-get dist-upgrade

# reboot

三、 消息服务

消息服务使用 rabbitmq

# apt-get install rabbitmq-server

注: rabbitmq 默认提供一个 guest 用户和默认的 guest 密码,这里需要修改一下 guest 用户的密码,因为后面配置 nova 服务的时候需要用到 rabbitmq 密码

# rabbitmqctl change_password guest openstack

四、 Keystone 认证服务

a) 安装

# apt-get install keystone

b) 配置

1) 修改数据库连接方式,编辑配置文件 /etc/keystone/keystone.conf

...

[sql]

# The SQLAlchemy connection string used to connect to the database

connection = mysql://keystone:openstack@127.0.0.1/keystone

...

2) 删除默认创建的数据库

rm –f /var/lib/keystone/keystone.db

3) 创建数据库

# mysql -u root -p

mysql>CREATE DATABASE keystone

mysql>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \

IDENTIFIED BY 'openstack'

mysql>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \

IDENTIFIED BY 'openstack'

4) 创建数据表

# keystone-manage db_sync

5) 创建一个随机的 Token 用于连接认证服务时使用

# openssl rand -hex 10 >/root/token # 后面还会用到所以可以保存起来

编辑 /etc/keystone/keyston.conf

[DEFAULT]

# A "shared secret" between keystone and other openstack services

admin_token = ADMIN_TOKEN

...

6) 重启服务

# service keystone restart

c) 创建租户 (tenant) 、用户 (user) 、角色 (role)

在还没有创建任何用户之前,我们必须要使用 token 来进行认证,可以将 token 设置为环境变量,或者在使用 keystone 命令的时候使用 –os-token 命令来指定 token 。

这里设置为环境变量:

# export OS_SERVICE_TOKEN=ADMIN_TOKEN

# export OS_SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0

1) 创建租户 admin 和 service

# keystone tenant-create --name=admin --description="Admin Tenant"

# keystone tenant-create --name=service --description="Service Tenant"

2) 创建用户 admin

#keystone user-create --name=admin --pass=openstack --email=admin@localhost

# keystone role-create --name=admin

3) 为 admin 创建 role

4) 关联 user 、 tenant 和 role

# keystone user-role-add --user=admin --tenant=admin --role=admin

d) 创建服务 (service) 和访问端点 (endpoint)

1) 创建 keystone 服务,类型为 identity( 认证 )

# keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"

2) 使用上面返回的 service id 来创建服务的访问端点

# keystone endpoint-create \

--service-id=the_service_id_above\

--publicurl=http://127.0.0.1:5000/v2.0 \

--internalurl=http://127.0.0.1:5000/v2.0 \

--adminurl=http://127.0.0.1:35357/v2.0

e) 校验 keystone 服务

现在已经创建了 admin 用户,所以可以通过 admin 用户来访问 keystone 服务

$ unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT

$ keystone --os-username=admin --os-password=openstack --os-auth-url=http://127.0.0.1:35357/v2.0 token-get

为了避免每次都需要输入用户名和密码,可以将它们保存为环境变量。编辑 /root/keystone.sh

export OS_USERNAME=admin

export OS_PASSWORD=openstack

export OS_TENANT_NAME=admin

export OS_AUTH_URL=http://127.0.0.1:35357/v2.0

这样只要执行 # source keystone.sh 命令就可以连接 keystone 了

五、 镜像服务 —glance

a) 安装

# apt-get install glance python-glanceclient

b) 配置

1) 设置数据库连接

编辑配置文件 /etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf

...

[DEFAULT]

...

# SQLAlchemy connection string for the reference implementation

# registry server. Any valid SQLAlchemy connection string is fine.

# See: http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/connections.

html#sqlalchemy.create_engine

sql_connection = mysql://glance:openstack@127.0.0.1/glance

...

2) 创建数据库

# mysql -u root -p

mysql>CREATE DATABASE glance

mysql>GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \

IDENTIFIED BY 'openstack'

mysql>GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \

IDENTIFIED BY 'openstack'

3) 创建数据表

# glance-manage db_sync

4) 创建 glance 用户并关联到角色

# keystone user-create --name=glance --pass=openstack --email=glance@localhost

# keystone user-role-add --user=glance --tenant=service --role=admin

5) 配置 glance 服务使用 keystone 来进行认证

编辑 /etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf 文件

[keystone_authtoken]

...

auth_uri = http://127.0.0.1:5000

auth_host = 127.0.0.1

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = glance

admin_password = openstack

...

[paste_deploy]

...

flavor = keystone

6) 添加认证信息到 /etc/glance/glance-api-paste.ini 和 /etc/glance/glance-registry-paste.ini 文件

[filter:authtoken]

paste.filter_factory=keystoneclient.middleware.auth_token:filter_factory

auth_host=127.0.0.1

admin_user=glance

admin_tenant_name=service

admin_password=openstack

7) 注册镜像服务

# keystone service-create --name=glance --type=image --description="Glance Image Service"

8) 使用上面返回的 service id 创建访问点

# keystone endpoint-create \

--service-id=the_service_id_above \

--publicurl=http://127.0.0.1:9292 \

--internalurl=http://127.0.0.1:9292 \

--adminurl=http://127.0.0.1:9292

9) 重启镜像服务

# service glance-registry restart

# service glance-api restart

c) 创建镜像文件

CirrOS 镜像是常用的一个 qcow2 类型的镜像,下载镜像并上传到 glance 服务器

$ mkdir images

$ cd images/

$ wget http://cdn.download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img

# glance image-create --name="CirrOS 0.3.1" --disk-format=qcow2 --container-format=bare --is-public=true <cirros-0.3.1-x86_64-disk.img

查看上传的镜像可以使用

# glance image-list

六、 计算服务

a) 安装计算服务软件包

# apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-conductor nova-consoleauth nova-doc nova-scheduler python-novaclient

# apt-get install nova-compute-kvm python-guestfs

修改内核 bug

# dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)

# vim /etc/kernel/postinst.d/statoverride

#!/bin/sh

version="$1"

# passing the kernel version is required

[ -z "${version}" ] &&exit 0

dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-${version}

# chmod +x /etc/kernel/postinst.d/statoverride

b) 配置

1) 配置数据库

编辑配置文件 /etc/nova/nova.conf

...

[database]

# The SQLAlchemy connection string used to connect to the database

connection = mysql://nova:openstack@127.0.0.1/nova

[keystone_authtoken]

auth_host = 127.0.0.1

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = nova

admin_password = openstack

2) 配置计算服务使用 rabbitmq 消息队列传送信息

编辑配置文件 /etc/nova/nova.conf

...

[DEFAULT]

rpc_backend = nova.rpc.impl_kombu

rabbit_host = 127.0.0.1

rabbit_password = openstack # 如果rabbitmq未改,则使用默认guest密码

...

选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点

右键单击【数据库】节点,从d出来的快捷菜单中选择【新建数据库】命令。

执行上述 *** 作后,会d出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。

在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。

切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到【文件组】页,在这里可以添加或删除文件组。

完成以上 *** 作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9959710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存