• جهت اضافه کردن یک ورودی برای swift endpoint (internal)
# openstack endpoint create —region RegionOne object-store internal https://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s
# openstack endpoint create —region RegionOne object-store internal https://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s
• جهت اضافه کردن یک ورودی برای swift endpoint (admin)
# openstack endpoint create —region RegionOne object-store admin https://$swift_proxy:8080/v1
# openstack endpoint create —region RegionOne object-store admin https://$swift_proxy:8080/v1
• پیکربندی Proxy Node:
گام1: حال جهت نصب Swift-Proxy با فرض اینکه repositoryهای EPEL و Ocata بر روی سرور Proxy Node شما پیشتر نصب شدهاند، کافیست تا دستور زیر را اجرا نمایید:
# yum —enablerepo=centos-openstack-ocata,epel -y install openstack-swift-proxy python-memcached openssh-clients
گام1: حال جهت نصب Swift-Proxy با فرض اینکه repositoryهای EPEL و Ocata بر روی سرور Proxy Node شما پیشتر نصب شدهاند، کافیست تا دستور زیر را اجرا نمایید:
# yum —enablerepo=centos-openstack-ocata,epel -y install openstack-swift-proxy python-memcached openssh-clients
گام2: در ادامه میبایست به پیکربندی Swift-Proxy بپردازیم. برای این منظور فایل پیکربندی proxy-server.conf را که در مسیر /etc/swift قرار دارد توسط ویرایشگر متنی vi باز کرده:
# vi /etc/swift/proxy-server.conf
سپس بصورت زیر عمل میکنیم (توجه داشته باشید که بخشهای Highlight شده را میبایست اضافه نماییم):
[filter:cache]
use = egg:swift#memcache
# line 42: specify Memcached server
memcache_servers = 10.0.0.30:11211
# end line: change like follows (Keystone auth info)
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
# admin_tenant_name = %SERVICE_TENANT_NAME%
# admin_user = %SERVICE_USER%
# admin_password = %SERVICE_PASSWORD%
# auth_host = 127.0.0.1
# auth_port = 35357
# auth_protocol = http
# signing_dir = /tmp/keystone-signing-swift
auth_uri = https://10.0.0.30:5000
auth_url = https://10.0.0.30:35357
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = swift
password = servicepassword
delay_auth_decision = true
در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج میشویم.
# vi /etc/swift/proxy-server.conf
سپس بصورت زیر عمل میکنیم (توجه داشته باشید که بخشهای Highlight شده را میبایست اضافه نماییم):
[filter:cache]
use = egg:swift#memcache
# line 42: specify Memcached server
memcache_servers = 10.0.0.30:11211
# end line: change like follows (Keystone auth info)
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
# admin_tenant_name = %SERVICE_TENANT_NAME%
# admin_user = %SERVICE_USER%
# admin_password = %SERVICE_PASSWORD%
# auth_host = 127.0.0.1
# auth_port = 35357
# auth_protocol = http
# signing_dir = /tmp/keystone-signing-swift
auth_uri = https://10.0.0.30:5000
auth_url = https://10.0.0.30:35357
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = swift
password = servicepassword
delay_auth_decision = true
در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج میشویم.
در ادامه این بار فایل پیکربندی swift.conf را که در مسیر /etc/swift قرار دارد توسط ویرایشگر متنی vi باز کرده:
# vi /etc/swift/swift.conf
و خطوط Highlight شده زیر را تغییر داده یا اضافه نمایید:
[swift-hash]
swift_hash_path_suffix = swift_shared_path
swift_hash_path_prefix = swift_shared_path
در آخر نیز فایل پیکربندی swift.conf را ذخیره نموده و از آن خارج شوید.
# vi /etc/swift/swift.conf
و خطوط Highlight شده زیر را تغییر داده یا اضافه نمایید:
[swift-hash]
swift_hash_path_suffix = swift_shared_path
swift_hash_path_prefix = swift_shared_path
در آخر نیز فایل پیکربندی swift.conf را ذخیره نموده و از آن خارج شوید.
گام3: در این مرحله میبایست Swift Ring fileها را پیکربندی نماییم. برای این منظور دستورات زیر را به ترتیب و پشت سرهم اجرا کنید:
# swift-ring-builder /etc/swift/account.builder create 12 3 1
# swift-ring-builder /etc/swift/container.builder create 12 3 1
# swift-ring-builder /etc/swift/object.builder create 12 3 1
# swift-ring-builder /etc/swift/account.builder add r0z0-10.0.0.71:6202/device0 100
# swift-ring-builder /etc/swift/container.builder add r0z0-10.0.0.71:6201/device0 100
# swift-ring-builder /etc/swift/object.builder add r0z0-10.0.0.71:6200/device0 100
# swift-ring-builder /etc/swift/account.builder add r1z1-10.0.0.72:6202/device1 100
# swift-ring-builder /etc/swift/container.builder add r1z1-10.0.0.72:6201/device1 100
# swift-ring-builder /etc/swift/object.builder add r1z1-10.0.0.72:6200/device1 100
# swift-ring-builder /etc/swift/account.builder add r2z2-10.0.0.73:6202/device2 100
# swift-ring-builder /etc/swift/container.builder add r2z2-10.0.0.73:6201/device2 100
# swift-ring-builder /etc/swift/object.builder add r2z2-10.0.0.73:6200/device2 100
# swift-ring-builder /etc/swift/account.builder rebalance
# swift-ring-builder /etc/swift/container.builder rebalance
# swift-ring-builder /etc/swift/object.builder rebalance
# swift-ring-builder /etc/swift/account.builder create 12 3 1
# swift-ring-builder /etc/swift/container.builder create 12 3 1
# swift-ring-builder /etc/swift/object.builder create 12 3 1
# swift-ring-builder /etc/swift/account.builder add r0z0-10.0.0.71:6202/device0 100
# swift-ring-builder /etc/swift/container.builder add r0z0-10.0.0.71:6201/device0 100
# swift-ring-builder /etc/swift/object.builder add r0z0-10.0.0.71:6200/device0 100
# swift-ring-builder /etc/swift/account.builder add r1z1-10.0.0.72:6202/device1 100
# swift-ring-builder /etc/swift/container.builder add r1z1-10.0.0.72:6201/device1 100
# swift-ring-builder /etc/swift/object.builder add r1z1-10.0.0.72:6200/device1 100
# swift-ring-builder /etc/swift/account.builder add r2z2-10.0.0.73:6202/device2 100
# swift-ring-builder /etc/swift/container.builder add r2z2-10.0.0.73:6201/device2 100
# swift-ring-builder /etc/swift/object.builder add r2z2-10.0.0.73:6200/device2 100
# swift-ring-builder /etc/swift/account.builder rebalance
# swift-ring-builder /etc/swift/container.builder rebalance
# swift-ring-builder /etc/swift/object.builder rebalance
حال دستورات زیر را به منظور تعیین مالکین فایل پیکربندی swift و همچنین start و enable کردن سرویس openstack-swift-proxy اجرا نموده تا در پروسههای boot بعدی نیز این سرویس بصورت خودکار اجرا شود:
# chown swift. /etc/swift/*.gz
# systemctl start openstack-swift-proxy
# systemctl enable openstack-swift-proxy
# chown swift. /etc/swift/*.gz
# systemctl start openstack-swift-proxy
# systemctl enable openstack-swift-proxy
گام4: اگر فایروال Firewalld بر روی سرور شما در حال اجرا است، میبایست توسط دستورات زیر به پورت 8080/TCP اجازه دسترسی بدهید:
# firewall-cmd —add-port=8080/tcp —permanent
# firewall-cmd —reload
# firewall-cmd —add-port=8080/tcp —permanent
# firewall-cmd —reload