九、安装对象存储服务(swift),不使用控制節點數據庫服務,而於各存儲節點使用分布式SQLite數據庫。

9.1对象存储服务包括的组件

Proxy servers (swift-proxy-server)代理服務,接收API或HTTP請求,執行上傳文件、修改源數據、WEB瀏覽時列表文件和創建容器等操作。通常使用CACHE技術(memcache)提高性能

Account servers (swift-account-server)賬戶服務,管理對象存儲中的賬戶定義。

Container servers (swift-container-server)容器服務,在對象存儲中管理容器或文件夾映……

Object servers (swift-object-server)對象服務,在存儲節點管理實際的對象,比如文件。

Various periodic processes執行各種週期性任務,比如複製服務確保群集中數據一致性和可用性。其他包括審計、更新、以及資源回收等。

WSGI middleware處理認證,通常使用OPENSTACK Identity

swift client為用戶提供命令行接口使用REST API

swift-init初始化和構建RING文件腳本

swift-recon一個命令行工具,用於檢索群集的各種度量和測試信息。

swift-ring-builder存儲RING構建和再平衡工具


9.2控制节点安裝配置代理服務(proxy service),用於處理用戶、容器以及對象操作請求,可以部署多個節點提高性能和冗余。可以不基於OPENSTACK其他組件安裝,自身可提供認證機制。

9.2.1創建用戶以及API訪問點

[root@comtroller1~]#.admin-openrc.sh[root@comtroller1~]#openstackusercreate--domaindefault--password-promptswiftUserPassword:RepeatUserPassword:+-----------+----------------------------------+|Field|Value|+-----------+----------------------------------+|domain_id|default||enabled|True||id|9f9d73e380ac4db0af601604ee45ea02||name|swift|+-----------+----------------------------------+[root@comtroller1~]#openstackroleadd--projectservice--userswiftadmin[root@comtroller1~]#openstackservicecreate--nameswift--description"OpenStackObjectStorage"object-store+-------------+----------------------------------+|Field|Value|+-------------+----------------------------------+|description|OpenStackObjectStorage||enabled|True||id|6cbf871fbf5f4cb192a1e1337e59e5ed||name|swift||type|object-store|+-------------+----------------------------------+[root@comtroller1~]#openstackendpointcreate--regionRegionOneobject-storepublichttp://controller1:8080/v1/AUTH_%\(tenant_id\)s+--------------+-----------------------------------------------+|Field|Value|+--------------+-----------------------------------------------+|enabled|True||id|9850ec8e31b7434090cca0d881355b46||interface|public||region|RegionOne||region_id|RegionOne||service_id|6cbf871fbf5f4cb192a1e1337e59e5ed||service_name|swift||service_type|object-store||url|http://controller1:8080/v1/AUTH_%(tenant_id)s|+--------------+-----------------------------------------------+[root@comtroller1~]#openstackendpointcreate--regionRegionOneobject-storeinternalhttp://controller1:8080/v1/AUTH_%\(tenant_id\)s+--------------+-----------------------------------------------+|Field|Value|+--------------+-----------------------------------------------+|enabled|True||id|11a006619fc24414accc7117a4daabc9||interface|internal||region|RegionOne||region_id|RegionOne||service_id|6cbf871fbf5f4cb192a1e1337e59e5ed||service_name|swift||service_type|object-store||url|http://controller1:8080/v1/AUTH_%(tenant_id)s|+--------------+-----------------------------------------------+[root@comtroller1~]#openstackendpointcreate--regionRegionOneobject-storeadminhttp://controller1:8080/v1+--------------+----------------------------------+|Field|Value|+--------------+----------------------------------+|enabled|True||id|4d52cf1cf9ab4eab8e14c5db7a564960||interface|admin||region|RegionOne||region_id|RegionOne||service_id|6cbf871fbf5f4cb192a1e1337e59e5ed||service_name|swift||service_type|object-store||url|http://controller1:8080/v1|+--------------+----------------------------------+


9.2.2安裝配置組件

[root@comtroller1~]#yuminstallopenstack-swift-proxypython-swiftclientpython-keystoneclientpython-keystonemiddlewarememcached-y[root@comtroller1~]#curl-o/etc/swift/proxy-server.confhttps://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/liberty%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed1002965510029655001419400:00:020:00:02--:--:--14188[root@comtroller1~]#vi/etc/swift/proxy-server.conf[DEFAULT]bind_port=8080user=swiftswift_dir=/etc/swift[pipeline:main]pipeline=catch_errorsgatekeeperhealthcheckproxy-loggingcachecontainer_syncbulkratelimitauthtokenkeystoneauthcontainer-quotasaccount-quotasslodloversioned_writesproxy-loggingproxy-server[app:proxy-server]use=egg:swift#proxyaccount_autocreate=true[filter:keystoneauth]此项也需要取消注释use=egg:swift#keystoneauthoperator_roles=admin,user[filter:authtoken]移除或註釋此配置組下其他項目paste.filter_factory=keystonemiddleware.auth_token:filter_factoryauth_uri=http://controller1:5000auth_url=http://controller1:35357auth_plugin=passwordproject_domain_id=defaultuser_domain_id=defaultproject_name=serviceusername=swiftpassword=swiftdelay_auth_decision=true[filter:cache]use=egg:swift#memcachememcache_servers=127.0.0.1:11211


9.3安裝配置存儲節點

9.3.1準備存儲節點:支持所有具備extended attributes (xattr)文件系統,推薦使用XFS文件系統。###在兩節點均執行如下準備操作。

[root@object1~]#yuminstallxfsprogsrsync-y[root@object1~]#ls/dev/sd*/dev/sda/dev/sda1/dev/sda2/dev/sdb/dev/sdc[root@object1~]#mkfs.xfs/dev/sdbmeta-data=/dev/sdbisize=256agcount=4,agsize=8388608blks=sectsz=512attr=2,projid32bit=1=crc=0finobt=0data=bsize=4096blocks=33554432,imaxpct=25=sunit=0swidth=0blksnaming=version2bsize=4096ascii-ci=0ftype=0log=internallogbsize=4096blocks=16384,version=2=sectsz=512sunit=0blks,lazy-count=1realtime=noneextsz=4096blocks=0,rtextents=0[root@object1~]#mkfs.xfs/dev/sdcmeta-data=/dev/sdcisize=256agcount=4,agsize=8388608blks=sectsz=512attr=2,projid32bit=1=crc=0finobt=0data=bsize=4096blocks=33554432,imaxpct=25=sunit=0swidth=0blksnaming=version2bsize=4096ascii-ci=0ftype=0log=internallogbsize=4096blocks=16384,version=2=sectsz=512sunit=0blks,lazy-count=1realtime=noneextsz=4096blocks=0,rtextents=0[root@object1~]#mkdir-p/srv/node/sdb[root@object1~]#mkdir-p/srv/node/sdc[root@object1~]#vi/etc/fstab/dev/sdb/srv/node/sdbxfsnoatime,nodiratime,nobarrier,logbufs=802/dev/sdc/srv/node/sdcxfsnoatime,nodiratime,nobarrier,logbufs=802[root@object1~]#mount/srv/node/sdb[root@object1~]#mount/srv/node/sdc[root@object1~]#vi/etc/rsyncd.confuid=swiftgid=swiftlogfile=/var/log/rsyncd.logpidfile=/var/run/rsyncd.pidaddress=10.0.0.51###對應存儲節點IP地址[account]maxconnections=2path=/srv/node/readonly=falselockfile=/var/lock/account.lock[container]maxconnections=2path=/srv/node/readonly=falselockfile=/var/lock/container.lock[object]maxconnections=2path=/srv/node/readonly=falselockfile=/var/lock/object.lock[root@object1~]#systemctlenablersyncd.serviceCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/rsyncd.serviceto/usr/lib/systemd/system/rsyncd.service.[root@object1~]#systemctlstartrsyncd.service[root@object1~]#systemctlstatusrsyncd.service

9.3.2安裝配置組件

[root@object1~]#yuminstallopenstack-swift-accountopenstack-swift-containeropenstack-swift-object-y[root@object1~]#curl-o/etc/swift/account-server.confhttps://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/liberty%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed1006147100614700434400:00:010:00:01--:--:--4347[root@object1~]#curl-o/etc/swift/container-server.confhttps://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/liberty%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed100697610069760051600:00:130:00:13--:--:--2087[root@object1~]#[root@object1~]#curl-o/etc/swift/object-server.confhttps://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/liberty%Total%Received%XferdAverageSpeedTimeTimeTimeCurrentDloadUploadTotalSpentLeftSpeed100118191001181900923400:00:010:00:01--:--:--9240[root@object1~]#vi/etc/swift/account-server.conf[DEFAULT]bind_ip=10.0.0.51bind_port=6002user=swiftswift_dir=/etc/swiftdevices=/srv/nodemount_check=true[pipeline:main]pipeline=healthcheckreconaccount-server[filter:recon]use=egg:swift#reconrecon_cache_path=/var/cache/swift[root@object1~]#vi/etc/swift/container-server.conf[DEFAULT]bind_ip=10.0.0.51bind_port=6001user=swiftswift_dir=/etc/swiftdevices=/srv/nodemount_check=true[pipeline:main]pipeline=healthcheckreconcontainer-server[filter:recon]use=egg:swift#reconrecon_cache_path=/var/cache/swift[root@object1~]#vi/etc/swift/object-server.conf[DEFAULT]bind_ip=10.0.0.51bind_port=6000user=swiftswift_dir=/etc/swiftdevices=/srv/nodemount_check=true[pipeline:main]pipeline=healthcheckreconobject-server[filter:recon]use=egg:swift#reconrecon_cache_path=/var/cache/swiftrecon_lock_path=/var/lock[root@object1~]#chown-Rswift:swift/srv/node[root@object1~]#mkdir-p/var/cache/swift[root@object1~]#chown-Rroot:swift/var/cache/swift


9.4創建和分發initial rings(在控制節點執行,安裝有proxy service)

9.4.1創建賬戶RING

[root@comtroller1~]#cd/etc/swift/##切換目錄[root@comtroller1swift]#swift-ring-builderaccount.buildercreate1031###沒有輸出[root@comtroller1swift]#swift-ring-builderaccount.builderadd--region1--zone1--ip10.0.0.51--port6002--devicesdb--weight100###將各個存儲節點硬盤添加到RINGDeviced0r1z1-10.0.0.51:6002R10.0.0.51:6002/sdb_""with100.0weightgotid0[root@comtroller1swift]#swift-ring-builderaccount.builderadd--region1--zone2--ip10.0.0.51--port6002--devicesdc--weight100Deviced1r1z2-10.0.0.51:6002R10.0.0.51:6002/sdc_""with100.0weightgotid1[root@comtroller1swift]#swift-ring-builderaccount.builderadd--region1--zone3--ip10.0.0.52--port6002--devicesdb--weight100Deviced2r1z3-10.0.0.52:6002R10.0.0.52:6002/sdb_""with100.0weightgotid2[root@comtroller1swift]#swift-ring-builderaccount.builderadd--region1--zone4--ip10.0.0.52--port6002--devicesdc--weight100Deviced3r1z4-10.0.0.52:6002R10.0.0.52:6002/sdc_""with100.0weightgotid3[root@comtroller1swift]#swift-ring-builderaccount.builder##驗證RING配置account.builder,buildversion41024partitions,3.000000replicas,1regions,4zones,4devices,100.00balance,0.00dispersionTheminimumnumberofhoursbeforeapartitioncanbereassignedis1Theoverloadfactoris0.00%(0.000000)Devices:idregionzoneipaddressportreplicationipreplicationportnameweightpartitionsbalancemeta01110.0.0.51600210.0.0.516002sdb100.000-100.0011210.0.0.51600210.0.0.516002sdc100.000-100.0021310.0.0.52600210.0.0.526002sdb100.000-100.0031410.0.0.52600210.0.0.526002sdc100.000-100.00[root@comtroller1swift]#swift-ring-builderaccount.builderrebalance##再平衡RINGReassigned1024(100.00%)partitions.Balanceisnow0.00.Dispersionisnow0.00



9.4.2創建容器RING

[root@comtroller1~]#cd/etc/swift/[root@comtroller1swift]#swift-ring-buildercontainer.buildercreate1031[root@comtroller1swift]#swift-ring-buildercontainer.builderadd--region1--zone1--ip10.0.0.51--port6001--devicesdb--weight100Deviced0r1z1-10.0.0.51:6001R10.0.0.51:6001/sdb_""with100.0weightgotid0[root@comtroller1swift]#swift-ring-buildercontainer.builderadd--region1--zone2--ip10.0.0.51--port6001--devicesdc--weight100Deviced1r1z2-10.0.0.51:6001R10.0.0.51:6001/sdc_""with100.0weightgotid1[root@comtroller1swift]#swift-ring-buildercontainer.builderadd--region1--zone3--ip10.0.0.52--port6001--devicesdb--weight100Deviced2r1z3-10.0.0.52:6001R10.0.0.52:6001/sdb_""with100.0weightgotid2[root@comtroller1swift]#swift-ring-buildercontainer.builderadd--region1--zone4--ip10.0.0.52--port6001--devicesdc--weight100Deviced3r1z4-10.0.0.52:6001R10.0.0.52:6001/sdc_""with100.0weightgotid3[root@comtroller1swift]#swift-ring-buildercontainer.buildercontainer.builder,buildversion41024partitions,3.000000replicas,1regions,4zones,4devices,100.00balance,0.00dispersionTheminimumnumberofhoursbeforeapartitioncanbereassignedis1Theoverloadfactoris0.00%(0.000000)Devices:idregionzoneipaddressportreplicationipreplicationportnameweightpartitionsbalancemeta01110.0.0.51600110.0.0.516001sdb100.000-100.0011210.0.0.51600110.0.0.516001sdc100.000-100.0021310.0.0.52600110.0.0.526001sdb100.000-100.0031410.0.0.52600110.0.0.526001sdc100.000-100.00[root@comtroller1swift]#swift-ring-buildercontainer.builderrebalanceReassigned1024(100.00%)partitions.Balanceisnow0.00.Dispersionisnow0.00



9.4.3創建對象RING

[root@comtroller1~]#cd/etc/swift/[root@comtroller1swift]#swift-ring-builderobject.buildercreate1031[root@comtroller1swift]#swift-ring-builderobject.builderadd--region1--zone1--ip10.0.0.51--port6000--devicesdb--weight100Deviced0r1z1-10.0.0.51:6000R10.0.0.51:6000/sdb_""with100.0weightgotid0[root@comtroller1swift]#swift-ring-builderobject.builderadd--region1--zone2--ip10.0.0.51--port6000--devicesdc--weight100Deviced1r1z2-10.0.0.51:6000R10.0.0.51:6000/sdc_""with100.0weightgotid1[root@comtroller1swift]#swift-ring-builderobject.builderadd--region1--zone3--ip10.0.0.52--port6000--devicesdb--weight100Deviced2r1z3-10.0.0.52:6000R10.0.0.52:6000/sdb_""with100.0weightgotid2[root@comtroller1swift]#swift-ring-builderobject.builderadd--region1--zone4--ip10.0.0.52--port6000--devicesdc--weight100Deviced3r1z4-10.0.0.52:6000R10.0.0.52:6000/sdc_""with100.0weightgotid3[root@comtroller1swift]#swift-ring-builderobject.builderobject.builder,buildversion41024partitions,3.000000replicas,1regions,4zones,4devices,100.00balance,0.00dispersionTheminimumnumberofhoursbeforeapartitioncanbereassignedis1Theoverloadfactoris0.00%(0.000000)Devices:idregionzoneipaddressportreplicationipreplicationportnameweightpartitionsbalancemeta01110.0.0.51600010.0.0.516000sdb100.000-100.0011210.0.0.51600010.0.0.516000sdc100.000-100.0021310.0.0.52600010.0.0.526000sdb100.000-100.0031410.0.0.52600010.0.0.526000sdc100.000-100.00[root@comtroller1swift]#swift-ring-builderobject.builderrebalanceReassigned1024(100.00%)partitions.Balanceisnow0.00.Dispersionisnow0.00


9.4.4分發RING配置文件:拷貝account.ring.gz, container.ring.gz, and object.ring.gz到每個存儲節點或運行proxy service節點的/etc/swift/目錄下

[root@comtroller1swift]#ll*.ring.gz-rw-r--r--1rootroot1445Aug411:28account.ring.gz-rw-r--r--1rootroot1443Aug411:34container.ring.gz-rw-r--r--1rootroot1438Aug411:37object.ring.gz[root@comtroller1swift]#scp*.ring.gzroot@10.0.0.51:/etc/swift/Theauthenticityofhost'10.0.0.51(10.0.0.51)'can'tbeestablished.ECDSAkeyfingerprintisce:93:44:a9:4d:03:93:c7:df:bf:6a:c0:a4:7e:13:8a.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'10.0.0.51'(ECDSA)tothelistofknownhosts.root@10.0.0.51'spassword:account.ring.gz100%14451.4KB/s00:00container.ring.gz100%14431.4KB/s00:00object.ring.gz100%14381.4KB/s00:00[root@comtroller1swift]#scp*.ring.gzroot@10.0.0.52:/etc/swift/Theauthenticityofhost'10.0.0.52(10.0.0.52)'can'tbeestablished.ECDSAkeyfingerprintis12:a5:46:52:af:56:1c:1a:f1:f7:ae:04:ee:f4:4c:05.Areyousureyouwanttocontinueconnecting(yes/no)?yesWarning:Permanentlyadded'10.0.0.52'(ECDSA)tothelistofknownhosts.root@10.0.0.52'spassword:account.ring.gz100%14451.4KB/s00:00container.ring.gz100%14431.4KB/s00:00object.ring.gz100%14381.4KB/s00:00


9.5結束安裝並啟動服務

9.5.1取得配置文件

[root@comtroller1~]#curl-o/etc/swift/swift.confhttps://git.openstack.org/cgit/openstack/swift/plain/etc/swift.conf-sample?h=stable/liberty

9.5.2配置HASH_PATH_SUFFIX和HASH_PATH_PREFIX

[root@comtroller1~]#vi/etc/swift/swift.confswift_hash_path_suffix=openstackswift_hash_path_prefix=openstack


9.5.2配置默认存储策略

[storage-policy:0]name=Policy-0default=yes


9.5.3将配置文件拷贝到各个存储节点

[root@comtroller1~]#scp/etc/swift/swift.confroot@10.0.0.51:/etc/swift/root@10.0.0.51'spassword:swift.conf100%72027.0KB/s00:00[root@comtroller1~]#scp/etc/swift/swift.confroot@10.0.0.52:/etc/swift/root@10.0.0.52'spassword:swift.conf


9.5.4变更文件和文件夹权限

[root@comtroller1~]#chown-Rroot:swift/etc/swift[root@object1~]#chown-Rroot:swift/etc/swift[root@object2~]#chown-Rroot:swift/etc/swift

9.5.5启动控制节点的SWIFT代理服务

[root@comtroller1~]#systemctlenableopenstack-swift-proxy.servicememcached.serviceCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/openstack-swift-proxy.serviceto/usr/lib/systemd/system/openstack-swift-proxy.service.[root@comtroller1~]#systemctlstartopenstack-swift-proxy.servicememcached.service


9.5.6启动各存储节点服务

[root@object1~]#systemctlenableopenstack-swift-account.serviceopenstack-swift-account-auditor.serviceopenstack-swift-account-reaper.serviceopenstack-swift-account-replicator.service[root@object1~]#systemctlstartopenstack-swift-account.serviceopenstack-swift-account-auditor.serviceopenstack-swift-account-reaper.serviceopenstack-swift-account-replicator.service[root@object1~]#systemctlenableopenstack-swift-container.serviceopenstack-swift-container-auditor.serviceopenstack-swift-container-replicator.serviceopenstack-swift-container-updater.service[root@object1~]#systemctlstartopenstack-swift-container.serviceopenstack-swift-container-auditor.serviceopenstack-swift-container-replicator.serviceopenstack-swift-container-updater.service[root@object1~]#systemctlenableopenstack-swift-object.serviceopenstack-swift-object-auditor.serviceopenstack-swift-object-replicator.serviceopenstack-swift-object-updater.service[root@object1~]#systemctlstartopenstack-swift-object.serviceopenstack-swift-object-auditor.serviceopenstack-swift-object-replicator.serviceopenstack-swift-object-updater.service[root@object2~]#systemctlenableopenstack-swift-account.serviceopenstack-swift-account-auditor.serviceopenstack-swift-account-reaper.serviceopenstack-swift-account-replicator.service[root@object2~]#systemctlstartopenstack-swift-account.serviceopenstack-swift-account-auditor.serviceopenstack-swift-account-reaper.serviceopenstack-swift-account-replicator.service[root@object2~]#systemctlenableopenstack-swift-container.serviceopenstack-swift-container-auditor.serviceopenstack-swift-container-replicator.serviceopenstack-swift-container-updater.service[root@object2~]#systemctlstartopenstack-swift-container.serviceopenstack-swift-container-auditor.serviceopenstack-swift-container-replicator.serviceopenstack-swift-container-updater.service[root@object2~]#systemctlenableopenstack-swift-object.serviceopenstack-swift-object-auditor.serviceopenstack-swift-object-replicator.serviceopenstack-swift-object-updater.service[root@object2~]#systemctlstartopenstack-swift-object.serviceopenstack-swift-object-auditor.serviceopenstack-swift-object-replicator.serviceopenstack-swift-object-updater.service



9.6驗證

[root@comtroller1~]#echo"exportOS_AUTH_VERSION=3"|tee-aadmin-openrc.shdemo-openrc.sh[root@comtroller1~]#echo"exportOS_REGION_NAME=RegionOne"|tee-aadmin-openrc.shdemo-openrc.sh###解决错误/usr/lib/python2.7/site-packages/keystoneclient/service_catalog.py:196:UserWarning:Providingattrwithoutfilter_valuetoget_urls()isdeprecatedasofthe1.7.0releaseandmayberemovedinthe2.0.0release.Eitherbothshouldbeprovidedorneithershouldbeprovided.[root@comtroller1~]#.demo-openrc.sh[root@comtroller1~]#swiftstat##查看swift状态Account:AUTH_db6bcde12cc947119ecab8c211fa4f35Containers:1Objects:1Bytes:13287936Containersinpolicy"policy-0":1Objectsinpolicy"policy-0":1Bytesinpolicy"policy-0":13287936X-Account-Project-Domain-Id:defaultX-Timestamp:1470286741.05862X-Trans-Id:txa608922c24224805bfd25-0057a2e160Content-Type:text/plain;charset=utf-8Accept-Ranges:bytes[root@comtroller1~]#swiftlist##查看swift中的容器container1[root@comtroller1~]#swiftlistcontainer1##查看swift容器中的对象cirros-0.3.4-x86_64-disk.img[root@comtroller1~]#swiftdeletecontainer1cirros-0.3.4-x86_64-disk.img##删除容器中对象cirros-0.3.4-x86_64-disk.img[root@comtroller1~]#swiftlistcontainer1[root@comtroller1~]#swiftuploadcontainer1cirros-0.3.4-x86_64-disk.img##上传对象到容器cirros-0.3.4-x86_64-disk.img[root@comtroller1~]#lsadmin-openrc.shanaconda-ks.cfgcirros-0.3.4-x86_64-disk.imgdemo-openrc.sh--os-project-domain-id--os-project-nametoken[root@comtroller1~]#rmcirros-0.3.4-x86_64-disk.imgrm:removeregularfile‘cirros-0.3.4-x86_64-disk.img’?y[root@comtroller1~]#swiftdownloadcontainer1cirros-0.3.4-x86_64-disk.img##从容器中下载对象cirros-0.3.4-x86_64-disk.img[auth0.637s,headers0.682s,total1.000s,36.568MB/s][root@comtroller1~]#lsadmin-openrc.shanaconda-ks.cfgcirros-0.3.4-x86_64-disk.imgdemo-openrc.sh--os-project-domain-id--os-project-nametoken[root@comtroller1~]#swiftposttest_container##建立容器[root@comtroller1~]#swiftlistcontainer1test_container[root@comtroller1~]#swiftdeletetest_container##删除容器test_container[root@comtroller1~]#swiftlistcontainer1