企业空间 采购商城 存储论坛
首页 > Openstack > 正文

OpenStack安装手册 - GLANCE镜像存储服务配置

2016-03-09 13:08来源:中国存储网
导读:OpenStack安装手册 - GLANCE镜像存储服务配置,检测服务是否正常启动,通过netstat -ltunp查看是否有tcp 9292和tcp 9191端口监听,如果没有正常启动请查看/var/log/glance目录下相关文件排错.

目录   上一篇   下一篇

3.14 GLANCE镜像存储服务配置

3.15 建立GLANCE服务数据库

mysql -uroot -popenstack -e 'create database glance'

·         建立GLANCE服务配置文件存放目录

mkdir /etc/glance

·         建立GLANCE服务启动用户

useradd -s /sbin/nologin -m -d /var/log/glance glance

·         /etc/glance建立glance-api.conf作为GLANCE-API服务配置文件,内容如下:

[DEFAULT]

# Show more verbose log output (sets INFO log level output)

verbose = True

 

# Show debugging output in logs (sets DEBUG log level output)

debug = True

 

# Which backend store should Glance use by default is not specified

# in a request to add a new image to Glance? Default: 'file'

# Available choices are 'file', 'swift', and 's3'

default_store = file

 

# Address to bind the API server

bind_host = 0.0.0.0

 

# Port the bind the API server to

bind_port = 9292

 

# Address to find the registry server

registry_host = 0.0.0.0

 

# Port the registry server is listening on

registry_port = 9191

 

# Log to this file. Make sure you do not set the same log

# file for both the API and registry servers!

log_file = /var/log/glance/api.log

 

# Send logs to syslog (/dev/log) instead of to file specified by `log_file`

use_syslog = False

 

# ============ Notification System Options =====================

 

# Notifications can be sent when images are create, updated or deleted.

# There are three methods of sending notifications, logging (via the

# log_file directive), rabbit (via a rabbitmq queue) or noop (no

# notifications sent, the default)

notifier_strategy = noop

 

# Configuration options if sending notifications via rabbitmq (these are

# the defaults)

rabbit_host = localhost

rabbit_port = 5672

rabbit_use_ssl = false

rabbit_userid = guest

rabbit_password = openstack

rabbit_virtual_host = /

rabbit_notification_topic = glance_notifications

 

# ============ Filesystem Store Options ========================

 

# Directory that the Filesystem backend store

# writes image data to

filesystem_store_datadir = /var/lib/glance/images/

 

# ============ Swift Store Options =============================

 

# Address where the Swift authentication service lives

swift_store_auth_address = 127.0.0.1:8080/v1.0/

 

# User to authenticate against the Swift authentication service

swift_store_user = jdoe

 

# Auth key for the user authenticating against the

# Swift authentication service

swift_store_key = a86850deb2742ec3cb41518e26aa2d89

 

# Container within the account that the account should use

# for storing images in Swift

swift_store_container = glance

 

# Do we create the container if it does not exist?

swift_store_create_container_on_put = False

 

# What size, in MB, should Glance start chunking image files

# and do a large object manifest in Swift? By default, this is

# the maximum object size in Swift, which is 5GB

swift_store_large_object_size = 5120

 

# When doing a large object manifest, what size, in MB, should

# Glance write chunks to Swift? This amount of data is written

# to a temporary disk buffer during the process of chunking

# the image file, and the default is 200MB

swift_store_large_object_chunk_size = 200

 

# Whether to use ServiceNET to communicate with the Swift storage servers.

# (If you aren't RACKSPACE, leave this False!)

#

# To use ServiceNET for authentication, prefix hostname of

# `swift_store_auth_address` with 'snet-'.

# Ex. https://example.com/v1.0/ -> https://snet-example.com/v1.0/

swift_enable_snet = False

 

# ============ S3 Store Options =============================

 

# Address where the S3 authentication service lives

s3_store_host = 127.0.0.1:8080/v1.0/

 

# User to authenticate against the S3 authentication service

s3_store_access_key = <20-char AWS access key>

 

# Auth key for the user authenticating against the

# S3 authentication service

s3_store_secret_key = <40-char AWS secret key>

 

# Container within the account that the account should use

# for storing images in S3. Note that S3 has a flat namespace,

# so you need a unique bucket name for your glance images. An

# easy way to do this is append your AWS access key to "glance".

# S3 buckets in AWS *must* be lowercased, so remember to lowercase

# your AWS access key if you use it in your bucket name below!

s3_store_bucket = <lowercased 20-char aws access key>glance

 

# Do we create the bucket if it does not exist?

s3_store_create_bucket_on_put = False

 

# ============ Image Cache Options ========================

 

image_cache_enabled = False

 

# Directory that the Image Cache writes data to

# Make sure this is also set in glance-pruner.conf

image_cache_datadir = /var/lib/glance/image-cache/

 

# Number of seconds after which we should consider an incomplete image to be

# stalled and eligible for reaping

image_cache_stall_timeout = 86400

 

# ============ Delayed Delete Options =============================

 

# Turn on/off delayed delete

delayed_delete = False

 

# Delayed delete time in seconds

scrub_time = 43200

 

# Directory that the scrubber will use to remind itself of what to delete

# Make sure this is also set in glance-scrubber.conf

scrubber_datadir = /var/lib/glance/scrubber

·         /etc/glance建立glance-api-paste.ini作为GLANCE-API服务认证配置文件,内容如下:

[pipeline:glance-api]

#pipeline = versionnegotiation context apiv1app

# NOTE: use the following pipeline for keystone

pipeline = versionnegotiation authtoken context apiv1app

 

# To enable Image Cache Management API replace pipeline with below:

# pipeline = versionnegotiation context imagecache apiv1app

# NOTE: use the following pipeline for keystone auth (with caching)

# pipeline = versionnegotiation authtoken auth-context imagecache apiv1app

 

[app:apiv1app]

paste.app_factory = glance.common.wsgi:app_factory

glance.app_factory = glance.api.v1.router:API

 

[filter:versionnegotiation]

paste.filter_factory = glance.common.wsgi:filter_factory

glance.filter_factory = glance.api.middleware.version_negotiation:VersionNegotiationFilter

 

[filter:cache]

paste.filter_factory = glance.common.wsgi:filter_factory

glance.filter_factory = glance.api.middleware.cache:CacheFilter

 

[filter:cachemanage]

paste.filter_factory = glance.common.wsgi:filter_factory

glance.filter_factory = glance.api.middleware.cache_manage:CacheManageFilter

 

[filter:context]

paste.filter_factory = glance.common.wsgi:filter_factory

glance.filter_factory = glance.common.context:ContextMiddleware

 

[filter:authtoken]

paste.filter_factory = keystone.middleware.auth_token:filter_factory

service_host = 60.12.206.105

service_port = 5000

service_protocol = http

auth_host = 60.12.206.105

auth_port = 35357

auth_protocol = http

auth_uri = http:/60.12.206.105:500/

admin_tenant_name = tenant

admin_user = glance

admin_password = service

·         /etc/glance建立glance-registry.conf作为GLANCE-REGISTRY服务配置文件,内容如下:

[DEFAULT]

# Show more verbose log output (sets INFO log level output)

verbose = True

 

# Show debugging output in logs (sets DEBUG log level output)

debug = True

 

# Address to bind the registry server

bind_host = 0.0.0.0

 

# Port the bind the registry server to

bind_port = 9191

 

# Log to this file. Make sure you do not set the same log

# file for both the API and registry servers!

log_file = /var/log/glance/registry.log

 

# Where to store images

filesystem_store_datadir = /var/lib/glance/images

 

# Send logs to syslog (/dev/log) instead of to file specified by `log_file`

use_syslog = False

 

# 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://root:openstack@localhost/glance

 

# Period in seconds after which SQLAlchemy should reestablish its connection

# to the database.

#

# MySQL uses a default `wait_timeout` of 8 hours, after which it will drop

# idle connections. This can result in 'MySQL Gone Away' exceptions. If you

# notice this, you can lower this value to ensure that SQLAlchemy reconnects

# before MySQL can drop the connection.

sql_idle_timeout = 3600

 

# Limit the api to return `param_limit_max` items in a call to a container. If

# a larger `limit` query param is provided, it will be reduced to this value.

api_limit_max = 1000

 

# If a `limit` query param is not provided in an api request, it will

# default to `limit_param_default`

limit_param_default = 25

·         /etc/glance建立glance-registry-paste.ini作为GLANCE-REGISTRY服务认证配置文件,内容如下:

[pipeline:glance-registry]

#pipeline = context registryapp

# NOTE: use the following pipeline for keystone

pipeline = authtoken context registryapp

 

[app:registryapp]

paste.app_factory = glance.common.wsgi:app_factory

glance.app_factory = glance.registry.api.v1:API

 

[filter:context]

context_class = glance.registry.context.RequestContext

paste.filter_factory = glance.common.wsgi:filter_factory

glance.filter_factory = glance.common.context:ContextMiddleware

 

[filter:authtoken]

paste.filter_factory = keystone.middleware.auth_token:filter_factory

service_host = 60.12.206.105

service_port = 5000

service_protocol = http

auth_host = 60.12.206.105

auth_port = 35357

auth_protocol = http

auth_uri = http:/60.12.206.105:500/

admin_tenant_name = tenant

admin_user = glance

admin_password = service

·         /etc/glance建立policy.json作为GLANCE服务策略文件,内容如下:

{

    "default": [],

    "manage_image_cache": [["role:admin"]]

}

·         /etc/init.d/下建立名为glance-apiGLANCE-API服务启动脚本,内容如下:

#!/bin/sh

#

# glance-api OpenStack Image Service API server

#

# chkconfig:   - 20 80

# description: OpenStack Image Service (code-named Glance) API server

 

### BEGIN INIT INFO

# Provides:

# Required-Start: $remote_fs $network $syslog

# Required-Stop: $remote_fs $syslog

# Default-Stop: 0 1 6

# Short-Description: Glance API server

# Description: OpenStack Image Service (code-named Glance) API server

### END INIT INFO

 

. /etc/rc.d/init.d/functions

 

suffix=api

prog=openstack-glance-$suffix

exec="/usr/bin/glance-$suffix"

config="/etc/glance/glance-$suffix.conf"

pidfile="/var/run/glance/glance-$suffix.pid"

 

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

 

lockfile=/var/lock/subsys/$prog

 

start() {

    [ -x $exec ] || exit 5

    [ -f $config ] || exit 6

    echo -n $"Starting $prog: "

    daemon --user glance --pidfile $pidfile "$exec --config-file=$config &>/dev/null & echo \$! > $pidfile"

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

    return $retval

}

 

stop() {

    echo -n $"Stopping $prog: "

    killproc -p $pidfile $prog

    retval=$?

    echo

    [ $retval -eq 0 ] && rm -f $lockfile

    return $retval

}

 

restart() {

    stop

    start

}

 

reload() {

    restart

}

 

force_reload() {

    restart

}

 

rh_status() {

    status -p $pidfile $prog

}

 

rh_status_q() {

    rh_status >/dev/null 2>&1

}

 

case "$1" in

    start)

        rh_status_q && exit 0

        $1

        ;;

    stop)

        rh_status_q || exit 0

        $1

        ;;

    restart)

        $1

        ;;

    reload)

        rh_status_q || exit 7

        $1

        ;;

    force-reload)

        force_reload

        ;;

    status)

        rh_status

        ;;

    condrestart|try-restart)

        rh_status_q || exit 0

        restart

        ;;

    *)

        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"

        exit 2

esac

exit $?

·         /etc/init.d/下建立名为glance-registryGLANCE-REGISTRY服务启动脚本,内容如下:

#!/bin/sh

#

# glance-registry OpenStack Image Service Registry server

#

# chkconfig:   - 20 80

# description: OpenStack Image Service (code-named Glance) Registry server

 

### BEGIN INIT INFO

# Provides:

# Required-Start: $remote_fs $network $syslog

# Required-Stop: $remote_fs $syslog

# Default-Stop: 0 1 6

# Short-Description: Glance Registry server

# Description: OpenStack Image Service (code-named Glance) Registry server

### END INIT INFO

 

. /etc/rc.d/init.d/functions

 

suffix=registry

prog=openstack-glance-$suffix

exec="/usr/bin/glance-$suffix"

config="/etc/glance/glance-$suffix.conf"

pidfile="/var/run/glance/glance-$suffix.pid"

 

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

 

lockfile=/var/lock/subsys/$prog

 

start() {

    [ -x $exec ] || exit 5

    [ -f $config ] || exit 6

    echo -n $"Starting $prog: "

    daemon --user glance --pidfile $pidfile "$exec --config-file=$config &>/dev/null & echo \$! > $pidfile"

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

    return $retval

}

 

stop() {

    echo -n $"Stopping $prog: "

    killproc -p $pidfile $prog

    retval=$?

    echo

    [ $retval -eq 0 ] && rm -f $lockfile

    return $retval

}

 

restart() {

    stop

    start

}

 

reload() {

    restart

}

 

force_reload() {

    restart

}

 

rh_status() {

    status -p $pidfile $prog

}

 

rh_status_q() {

    rh_status >/dev/null 2>&1

}

 

case "$1" in

    start)

        rh_status_q && exit 0

        $1

        ;;

    stop)

        rh_status_q || exit 0

        $1

        ;;

    restart)

        $1

        ;;

    reload)

        rh_status_q || exit 7

        $1

        ;;

    force-reload)

        force_reload

        ;;

    status)

        rh_status

        ;;

    condrestart|try-restart)

        rh_status_q || exit 0

        restart

        ;;

    *)

        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"

        exit 2

esac

exit $?

·         配置启动脚本:

chmod 755 /etc/init.d/glance-api

chmod 755 /etc/init.d/glance-registry

mkdir /var/run/glance

mkdir /var/lock/glance

mkdir /var/lib/glance

chown glance:root /var/run/glance

chown glance:root /var/lock/glance

chown glance:glance /var/lib/glance

·         启动GLANCE-APIGLANCE-REGISTRY服务

/etc/init.d/glance-api start

/etc/init.d/glance-registry start

·         检测服务是否正常启动

通过netstat -ltunp查看是否有tcp 9292tcp 9191端口监听
如果没有正常启动请查看/var/log/glance目录下相关文件排错

继续阅读
关键词 :
OpenStack安装手册
中国存储网声明:此文观点不代表本站立场,如有版权疑问请联系我们。
相关阅读
产品推荐
头条阅读
栏目热点

Copyright @ 2006-2019 chinastor.cn 版权所有 京ICP备14047533号

中国存储网

存储第一站,存储门户,存储在线交流平台