本节开始安装swift,用于对对象存储进行管理,需要在CT01、OS01、OS02进行操作
一、在CT01安装对应模块
1、新建用户及endpoint
. admin-openrc openstack user create --domain default --password-prompt swift openstack role add --project serviceproject --user swift admin openstack service create --name swift --description "OpenStack Object Storage" object-store openstack endpoint create --region Region01 object-store public http://CT01:8080/v1/AUTH_%\(tenant_id\)s openstack endpoint create --region Region01 object-store internal http://CT01:8080/v1/AUTH_%\(tenant_id\)s openstack endpoint create --region Region01 object-store admin http://CT01:8080/v1
2、安装
apt-get install swift swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware memcached
3、修改配置文件
3.1、新建目录/etc/swift,并下载文件
curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/newton
3.2修改配置文件
/etc/swift/proxy-server.conf
[DEFAULT] bind_port = 8080 user = swift swift_dir = /etc/swift [pipeline:main] pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server [app:proxy-server] use = egg:swift#proxy account_autocreate = True [filter:keystoneauth] use = egg:swift#keystoneauth operator_roles = admin,user [filter:authtoken] paste.filter_factory = keystonemiddleware.auth_token:filter_factory auth_uri = http://CT01:5000 auth_url = http://CT01:35357 memcached_servers = CT01:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = serviceproject username = swift password = swift delay_auth_decision = True [filter:cache] use = egg:swift#memcache memcache_servers = CT01:11211
二、在OS01、OS02安装对应模块
1、硬盘初始化(每台虚拟机分配两块硬盘)
apt-get install xfsprogs rsync mkfs.xfs /dev/sdb mkfs.xfs /dev/sdc mkdir -p /srv/node/sdb mkdir -p /srv/node/sdc
2、修改/etc/fstab
/dev/sdb /srv/node/sdb xfs noatime,nodiratime,nobarrier,logbufs=8 0 2 /dev/sdc /srv/node/sdc xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
3、挂载硬盘
mount /srv/node/sdb mount /srv/node/sdc
4、修改/etc/rsyncd.conf
uid = swift gid = swift log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid address = 10.0.3.13 [account] max connections = 2 path = /srv/node/ read only = False lock file = /var/lock/account.lock [container] max connections = 2 path = /srv/node/ read only = False lock file = /var/lock/container.lock [object] max connections = 2 path = /srv/node/ read only = False lock file = /var/lock/object.lock
5、修改/etc/default/rsync
RSYNC_ENABLE=true
6、重启rsync
service rsync start
7、软件安装
apt-get install swift swift-account swift-container swift-object curl -o /etc/swift/account-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/newton curl -o /etc/swift/container-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/newton curl -o /etc/swift/object-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/newton
8、修改/etc/swift/account-server.conf
[DEFAULT] bind_ip = 10.0.3.13 bind_port = 6202 user = swift swift_dir = /etc/swift devices = /srv/node mount_check = True [pipeline:main] pipeline = healthcheck recon account-server [filter:recon] use = egg:swift#recon recon_cache_path = /var/cache/swift
9、修改/etc/swift/container-server.conf
[DEFAULT] bind_ip = 10.0.3.13 bind_port = 6201 user = swift swift_dir = /etc/swift devices = /srv/node mount_check = True [pipeline:main] pipeline = healthcheck recon container-server [filter:recon] use = egg:swift#recon recon_cache_path = /var/cache/swift
10、修改/etc/swift/object-server.conf
[DEFAULT] bind_ip = 10.0.3.13 bind_port = 6200 user = swift swift_dir = /etc/swift devices = /srv/node mount_check = True [pipeline:main] pipeline = healthcheck recon object-server [filter:recon] use = egg:swift#recon recon_cache_path = /var/cache/swift recon_lock_path = /var/lock
11、授权
chown -R swift:swift /srv/node mkdir -p /var/cache/swift chown -R root:swift /var/cache/swift chmod -R 775 /var/cache/swift
三、在CT01进行配置
1、创建配置文件
cd /etc/swift swift-ring-builder account.builder create 10 3 1 swift-ring-builder account.builder add --region 1 --zone 1 --ip 10.0.3.13 --port 6202 --device sdb --weight 100 swift-ring-builder account.builder add --region 1 --zone 1 --ip 10.0.3.13 --port 6202 --device sdc --weight 100 swift-ring-builder account.builder add --region 1 --zone 2 --ip 10.0.3.14 --port 6202 --device sdb --weight 100 swift-ring-builder account.builder add --region 1 --zone 2 --ip 10.0.3.14 --port 6202 --device sdc --weight 100 swift-ring-builder account.builder swift-ring-builder account.builder rebalance swift-ring-builder container.builder create 10 3 1 swift-ring-builder container.builder add --region 1 --zone 1 --ip 10.0.3.13 --port 6201 --device sdb --weight 100 swift-ring-builder container.builder add --region 1 --zone 1 --ip 10.0.3.13 --port 6201 --device sdc --weight 100 swift-ring-builder container.builder add --region 1 --zone 2 --ip 10.0.3.14 --port 6201 --device sdb --weight 100 swift-ring-builder container.builder add --region 1 --zone 2 --ip 10.0.3.14 --port 6201 --device sdc --weight 100 swift-ring-builder container.builder swift-ring-builder container.builder rebalance swift-ring-builder object.builder create 10 3 1 swift-ring-builder object.builder add --region 1 --zone 1 --ip 10.0.3.13 --port 6200 --device sdb --weight 100 swift-ring-builder object.builder add --region 1 --zone 1 --ip 10.0.3.13 --port 6200 --device sdc --weight 100 swift-ring-builder object.builder add --region 1 --zone 2 --ip 10.0.3.14 --port 6200 --device sdb --weight 100 swift-ring-builder object.builder add --region 1 --zone 2 --ip 10.0.3.14 --port 6200 --device sdc --weight 100 swift-ring-builder object.builder swift-ring-builder object.builder rebalance
2、拷贝配置文件
将account.ring.gz、container.ring.gz和object.ring.gz拷贝到OS02和OS02的目录/etc/swift
3、下载配置文件
sudo curl -o /etc/swift/swift.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/swift.conf-sample?h=stable/newton
4、编辑/etc/swift/swift.conf
[swift-hash] swift_hash_path_suffix = neohope swift_hash_path_prefix = neohope [storage-policy:0] name = Policy-0 default = yes
5、拷贝配置文件swift.conf,到所有节点的/etc/swift
6、在非对象存储节点运行
chown -R root:swift /etc/swift service memcached restart service swift-proxy restart
7、在对象存储节点运行
chown -R root:swift /etc/swift swift-init all start