在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Server1 1.Update sudo apt-get update sudo apt-get upgrade 2. sudo apt-get install bridge-utils 3.IP 3.1 sudo vi /etc/network/interfaces ---------------------------------------------- auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.75.110 netmask 255.255.255.0 broadcast 192.168.75.255 gateway 192.168.75.2 dns-nameservers 192.168.75.2 auto eth1 iface eth1 inet static address 192.168.4.1 netmask 255.255.255.0 network 192.168.4.0 broadcast 192.168.4.255 3.2 sudo /etc/init.d/networking restart 4.NTP Server 4.1 sudo apt-get install ntp 4.2 sudo vi /etc/ntp.conf -------------------------------- server ntp.ubuntu.com server 127.127.1.0 fudge 127.127.1.0 stratum 10 4.3 sudo service ntp restart 5.database 5.1 sudo apt-get install mysql-server python-mysqldb 设置密码:gis 5.2 sudo vi /etc/mysql/my.cnf ------------------------------------- bind-address = 0.0.0.0 5.3 sudo restart mysql sudo mysql -u root -p use mysql select host, user, password from user; delete from user where user='root' and host='localhost'; delete from user where user='root' and host='::1'; delete from user where user='root' and host='127.0.0.1'; delete from user where user=''; update user set host='%' where user='root'; commit; sudo restart mysql 5.4 sudo mysql -u root -p -e 'CREATE DATABASE keystone;' 5.5 sudo mysql -u root -p -e 'CREATE USER keystone;' 5.6 sudo mysql -u root -p -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%';" sudo mysql -u root -p -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'" 5.7 sudo mysql -u root -p -e "SET PASSWORD FOR 'keystone'@'%' = PASSWORD('gis');" 6. sudo apt-get install keystone 6.1 sudo rm /var/lib/keystone/keystone.db 6.2 sudo vi /etc/keystone/keystone.conf bind_host = 0.0.0.0 public_port = 5000 admin_port = 35357 admin_token = 012345SECRET99TOKEN012345 compute_port = 8774 verbose = True debug = True log_config = /etc/keystone/logging.conf use_syslog = False connection = mysql://keystone:[email protected]/keystone 6.3 sudo keystone-manage pki_setup sudo chown -R keystone:keystone /etc/keystone/ sudo chmod g+rx,o+rx -R /etc/keystone/ sudo chmod -R g+rwx,o+rwx /var/log/keystone/ 6.4 sudo service keystone restart 6.5 sudo keystone-manage db_sync 7 identity 7.1 export OS_SERVICE_TOKEN=012345SECRET99TOKEN012345 export OS_SERVICE_ENDPOINT=http://192.168.75.110:35357/v2.0 keystone tenant-create --name demo --description "Default Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Default Tenant | | enabled | True | | id | 3b440084158a42c0917603e066261aaf | | name | demo | +-------------+----------------------------------+ keystone user-create --tenant-id 3b440084158a42c0917603e066261aaf --name admin --pass secrete +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | d99081655e834ded8abea8e6f6e111bb | | name | admin | | tenantId | 3b440084158a42c0917603e066261aaf | +----------+----------------------------------+ keystone role-create --name admin +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | c55516c9bcae400bad38b96e98e35279 | | name | admin | +----------+----------------------------------+ keystone user-role-add --user-id d99081655e834ded8abea8e6f6e111bb --tenant-id 3b440084158a42c0917603e066261aaf --role-id c55516c9bcae400bad38b96e98e35279 7.2 keystone tenant-create --name service --description "Service Tenant" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Service Tenant | | enabled | True | | id | d5f00c8160b94fc5acdf2f2a79d790dc | | name | service | +-------------+----------------------------------+ keystone user-create --tenant-id d5f00c8160b94fc5acdf2f2a79d790dc --name glance --pass glance +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | 2d16d19937fd4f3eba46a48d0a5d1c90 | | name | glance | | tenantId | d5f00c8160b94fc5acdf2f2a79d790dc | +----------+----------------------------------+ keystone user-role-add --user-id 2d16d19937fd4f3eba46a48d0a5d1c90 --tenant-id d5f00c8160b94fc5acdf2f2a79d790dc --role-id c55516c9bcae400bad38b96e98e35279 keystone user-create --tenant-id d5f00c8160b94fc5acdf2f2a79d790dc --name ec2 --pass ec2 +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | 2782536bd49a4802a575301ccdb44324 | | name | ec2 | | tenantId | d5f00c8160b94fc5acdf2f2a79d790dc | +----------+----------------------------------+ keystone user-role-add --user-id 2782536bd49a4802a575301ccdb44324 --tenant-id d5f00c8160b94fc5acdf2f2a79d790dc --role-id c55516c9bcae400bad38b96e98e35279 keystone user-create --tenant-id d5f00c8160b94fc5acdf2f2a79d790dc --name swift --pass swiftpass +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | email | | | enabled | True | | id | cdee582c005745808f064ceea1e20953 | | name | swift | | tenantId | d5f00c8160b94fc5acdf2f2a79d790dc | +----------+----------------------------------+ keystone user-role-add --user-id cdee582c005745808f064ceea1e20953 --tenant-id d5f00c8160b94fc5acdf2f2a79d790dc --role-id c55516c9bcae400bad38b96e98e35279 7.3 keystone service-create --name=keystone --type=identity --description="Identity Service" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Identity Service | | id | c697cfd78fa14b8eaf296af2569b711c | | name | keystone | | type | identity | +-------------+----------------------------------+ keystone endpoint-create \ --region RegionOne \ --service-id=c697cfd78fa14b8eaf296af2569b711c \ --publicurl=http://192.168.75.110:5000/v2.0 \ --internalurl=http://192.168.75.110:5000/v2.0 \ --adminurl=http://192.168.75.110:35357/v2.0 +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | adminurl | http://192.168.75.110:35357/v2.0 | | id | 6a32df6c6c714e30a9830cfe39e8d64f | | internalurl | http://192.168.75.110:5000/v2.0 | | publicurl | http://192.168.75.110:5000/v2.0 | | region | RegionOne | | service_id | c697cfd78fa14b8eaf296af2569b711c | +-------------+----------------------------------+ keystone service-create --name=ec2 --type=ec2 --description="EC2 Compatibility Layer" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | EC2 Compatibility Layer | | id | 528b19e43cec466192c770c26d3a73a3 | | name | ec2 | | type | ec2 | +-------------+----------------------------------+ keystone --token 012345SECRET99TOKEN012345 \ --endpoint http://192.168.75.110:35357/v2.0/ \ endpoint-create \ --region RegionOne \ --service-id=528b19e43cec466192c770c26d3a73a3 \ --publicurl=http://192.168.75.110:8773/services/Cloud \ --internalurl=http://192.168.75.110:8773/services/Cloud \ --adminurl=http://192.168.75.110:8773/services/Admin +-------------+-------------------------------------------+ | Property | Value | +-------------+-------------------------------------------+ | adminurl | http://192.168.75.110:8773/services/Admin | | id | 64007630d09c450a8418985c98dbcd07 | | internalurl | http://192.168.75.110:8773/services/Cloud | | publicurl | http://192.168.75.110:8773/services/Cloud | | region | RegionOne | | service_id | 528b19e43cec466192c770c26d3a73a3 | +-------------+-------------------------------------------+ keystone service-create --name=swift --type=object-store --description="Object Storage Service" +-------------+----------------------------------+ | Property | Value | +-------------+----------------------------------+ | description | Object Storage Service | | id | b162fbd8a371465bba07b9c0ea3f9c32 | | name | swift | | type | object-store | +-------------+----------------------------------+ keystone endpoint-create \ --region RegionOne \ --service-id=b162fbd8a371465bba07b9c0ea3f9c32 \ --publicurl 'http://192.168.75.110:8888/v1/AUTH_%(tenant_id)s' \ --adminurl 'http://192.168.75.110:8888/v1' \ --internalurl 'http://192.168.75.110:8888/v1/AUTH_%(tenant_id)s' +-------------+--------------------------------------------------+ | Property | Value | +-------------+--------------------------------------------------+ | adminurl | http://192.168.75.110:8888/v1 | | id | 5eb5295ee08d4967838f2b8f3fd44939 | | internalurl | http://192.168.75.110:8888/v1/AUTH_%(tenant_id)s | | publicurl | http://192.168.75.110:8888/v1/AUTH_%(tenant_id)s | | region | RegionOne | | service_id | b162fbd8a371465bba07b9c0ea3f9c32 | +-------------+--------------------------------------------------+ 8. unset OS_SERVICE_TOKEN unset OS_SERVICE_ENDPOINT 9. keystone --os-auth-url=http://192.168.75.110:35357/v2.0 token-get keystone --os-username=admin --os-password=secrete --os-auth-url=http://192.168.75.110:35357/v2.0 token-get keystone --os-username=admin --os-password=secrete --os-tenant-name=demo --os-auth-url=http://192.168.75.110:35357/v2.0 token-get keystone --os-username=admin --os-password=secrete --os-auth-url=http://192.168.75.110:35357/v2.0 token-get keystone --os-username=admin --os-password=secrete --os-tenant-name=service --os-auth-url=http://192.168.75.110:35357/v2.0 token-get 11. vi keystonerc export OS_USERNAME=swift export OS_PASSWORD=swiftpass export OS_TENANT_NAME=service export OS_AUTH_URL=http://192.168.75.110:35357/v2.0 export OS_REGION_NAME=RegionOne export OS_SERVICE_TOKEN=012345SECRET99TOKEN012345 export OS_SERVICE_ENDPOINT=http://192.168.75.110:35357/v2.0 export OS_USERNAME=admin export OS_PASSWORD=secrete export OS_TENANT_NAME=demo export OS_AUTH_URL=http://192.168.75.110:35357/v2.0 source keystonerc 12. keystone user-list keystone role-list -------------------------------------Server1, Server2, Server3, Server4---------------------------------------------------- 1.安装SSH和Swift的核心包 sudo apt-get install swift openssh-server rsync memcached python-netifaces python-xattr python-memcache 2.在所有节点上创创建配置文件目录 sudo mkdir -p /etc/swift sudo chown -R swift:swift /etc/swift/ 3. 在所有节点上创创建swift配置文件(/etc/swift/swift.conf) sudo vi /etc/swift/swift.conf [swift-hash] # random unique string that can never change (DO NOT LOSE) swift_hash_path_suffix = fLIbertYgibbitZ sudo chown -R swift:swift /etc/swift/ ------------------------------------Server 2, Server 3, Server 4----------------------------------------------------------- 1.在所有存贮节点上安装Swift包 sudo apt-get install swift-account swift-container swift-object xfsprogs 2. 建立XFS文件系统存贮 sudo fdisk /dev/sdb //#然后一次选择 n, p, 1, 默认, 默认, w sudo mkfs.xfs -f -i size=1024 /dev/sdb1 ( 命令格式: sudo mkfs -t ext3 /dev/sdb1 ) sudo mkdir -p /srv/node/sdb1 sudo echo "/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab sudo mount /srv/node/sdb1 sudo chown -R swift:swift /srv/node 3. 创建数据同步配置文件(/etc/rsyncd.conf) sudo vi /etc/rsyncd.conf uid = swift gid = swift log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid address = 192.168.4.2 或 192.168.4.3 或 192.168.4.4 [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 4.启用系统同步 sudo vi /etc/default/rsync RSYNC_ENABLE = true sudo service rsync start 5.创建目录 sudo mkdir -p /var/swift/recon sudo chown -R swift:swift /var/swift/recon ---------------------------------------------------Server 1---------------------------------------------------------- 1.安装swift-proxy节点包 sudo apt-get install swift-proxy memcached python-keystoneclient python-swiftclient python-webob 2.生成SSL认证文件 cd /etc/swift sudo openssl req -new -x509 -nodes -out cert.crt -keyout cert.key 3.修改缓存配置文件 sudo vi /etc/memcached.conf 将 -l 127.0.0.1 改为 -l 192.168.4.1 4.重启缓存服务 sudo service memcached restart 5.修改swift-proxy缓存配置文件 sudo vi /etc/swift/proxy-server.conf [DEFAULT] cert_file = /etc/swift/cert.crt key_file = /etc/swift/cert.key bind_port = 8888 user = swift [pipeline:main] pipeline = healthcheck cache authtoken keystoneauth proxy-server [app:proxy-server] use = egg:swift#proxy allow_account_management = true account_autocreate = true [filter:keystoneauth] use = egg:swift#keystoneauth operator_roles = Member,admin,swiftoperator [filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory # Delaying the auth decision is required to support token-less # usage for anonymous referrers ('.r:*'). delay_auth_decision = true # cache directory for signing certificate signing_dir = /home/swift/keystone-signing # auth_* settings refer to the Keystone server auth_protocol = http auth_host = 192.168.75.110 auth_port = 35357 # the same admin_token as provided in keystone.conf admin_token = 012345SECRET99TOKEN012345 # the service tenant and swift userid and password created in Keystone admin_tenant_name = service admin_user = swift admin_password = swiftpass [filter:cache] use = egg:swift#memcache memcache_servers = 192.168.75.110:11211 [filter:catch_errors] use = egg:swift#catch_errors [filter:healthcheck] use = egg:swift#healthcheck 6. 创建swift的认证目录 sudo mkdir -p /home/swift/keystone-signing sudo chown -R swift:swift /home/swift/keystone-signing 7.创建account, container, object的ring cd /etc/swift sudo swift-ring-builder account.builder create 18 3 24 sudo swift-ring-builder container.builder create 18 3 24 sudo swift-ring-builder object.builder create 18 3 24 8. 将存贮实体加入到环中 sudo swift-ring-builder account.builder add z1-192.168.4.2:6002/sdb1 100 sudo swift-ring-builder container.builder add z1-192.168.4.2:6001/sdb1 100 sudo swift-ring-builder object.builder add z1-192.168.4.2:6000/sdb1 100 sudo swift-ring-builder account.builder add z2-192.168.4.3:6002/sdb1 100 sudo swift-ring-builder container.builder add z2-192.168.4.3:6001/sdb1 100 sudo swift-ring-builder object.builder add z2-192.168.4.3:6000/sdb1 100 sudo swift-ring-builder account.builder add z3-192.168.4.4:6002/sdb1 100 sudo swift-ring-builder container.builder add z3-192.168.4.4:6001/sdb1 100 sudo swift-ring-builder object.builder add z3-192.168.4.4:6000/sdb1 100 9. 查看各个环 sudo swift-ring-builder account.builder sudo swift-ring-builder container.builder sudo swift-ring-builder object.builder 10. 平衡各个环 sudo swift-ring-builder account.builder rebalance sudo swift-ring-builder container.builder rebalance sudo swift-ring-builder object.builder rebalance 11. 将生成的环信息复制到Proxy节点与Storage节点的/etc/swift目录下 account.ring.gz container.ring.gz object.ring.gz sudo chown -R swift:swift /etc/swift sudo chmod g+rw,o+rw -R /etc/swift/ sudo scp account.ring.gz zyx@192.168.75.111:/etc/swift sudo scp account.ring.gz zyx@192.168.75.112:/etc/swift sudo scp account.ring.gz zyx@192.168.75.113:/etc/swift sudo scp container.ring.gz zyx@192.168.75.111:/etc/swift sudo scp container.ring.gz zyx@192.168.75.112:/etc/swift sudo scp container.ring.gz zyx@192.168.75.113:/etc/swift sudo scp object.ring.gz zyx@192.168.75.111:/etc/swift sudo scp object.ring.gz zyx@192.168.75.112:/etc/swift sudo scp object.ring.gz zyx@192.168.75.113:/etc/swift 12. 将各个配置文件的用户改为swift sudo chown -R swift:swift /etc/swift 13. 启动代理服务 sudo service proxy-server start sudo swift-init proxy start (有效) ------------------------------------------Server 2, Server 3, Server 4----------------------------------------------------------- 14.启动存贮服务 sudo service swift-object start sudo service swift-object-replicator start sudo service swift-object-updater start sudo service swift-object-auditor start sudo service swift-container start sudo service swift-container-replicator start sudo service swift-container-updater start sudo service swift-container-auditor start sudo service swift-account start sudo service swift-account-replicator start sudo service swift-account-updater start sudo service swift-account-auditor start sudo swift-init all start (有效) 或 sudo swift-init object-server start sudo swift-init object-replicator start sudo swift-init object-updater start sudo swift-init object-auditor start sudo swift-init container-server start sudo swift-init container-replicator start sudo swift-init container-updater start sudo swift-init container-auditor start sudo swift-init account-server start sudo swift-init account-replicator start sudo swift-init account-auditor start ------------------------------------------Verify the Installation------------------------------------------------------------- 15.验证Swift安装 15.1设置变量 export ADMINPASS=swiftpass export SWIFT_PROXY_CONF="/etc/swift/proxy-server.conf" 15.1验证 swift -V 2.0 -A http://192.168.75.110:5000/v2.0 -U service:swift -K swiftpass stat (有效) curl -d '{"auth":{"tenantName": "service","passwordCredentials":{"username": "swift","password": "swiftpass"}}}' -H "Content-type:application/json" http://192.168.75.110:35357/v2.0/tokens (有效) { "access": { "token": { "issued_at": "2013-07-20T02:20:19.836225", "expires": "2013-07-21T02:20:19Z", "id": "MIIHHAYJ.....", "tenant": { "description": "Service Tenant", "enabled": true, "id": "5e3af2dac2d1451ba90c4f151a40a463", "name": "service" } }, "serviceCatalog": [ { "endpoints": [ { "adminURL": "http://192.168.75.110:8888/v1", "region": "RegionOne", "internalURL": "http://192.168.75.110:8888/v1/AUTH_5e3af2dac2d1451ba90c4f151a40a463", "id": "944b056c8ea44f4bb2f85f350fc6d749", "publicURL": "http://192.168.75.110:8888/v1/AUTH_5e3af2dac2d1451ba90c4f151a40a463" } ], "endpoints_links": [], "type": "object-store", "name": "swift" }, { "endpoints": [ { "adminURL": "http://192.168.75.110:8773/services/Admin", "region": " 全部评论
专题导读
上一篇:[Swift]LeetCode1301. 最大得分的路径数目 | Number of Paths with Max Score ...发布时间:2022-07-13下一篇:Swift 性能探索和优化分析发布时间:2022-07-13热门推荐
热门话题
阅读排行榜
|
请发表评论