关于副本的问题:
在swift中,副本涉及到冗余的处理。副本数量的多少,就代表了在swift系统中,该对象被存储了几份,下面以操作说明:
1.1以账户服务器为例
首先我们可以通过命令swift-ring-builderaccount.builder查看账户服务副本数目:

结果为3个副本,然后我们确认是否账户数据库为三分,以数据库
11ae9132c974c131329d4e05475d7de8.db为例:
通过命令:find / -name11ae9132c974c131329d4e05475d7de8.db

可以看出数目为3份,分别存储在sdb1,sdb2,sdb3
1.2.以objects为例
我们可以通过命令swift-ring-builderobject.builder查看对象服务副本数目:

结果副本数为4,然后我们再确认是否对象数据位4份,以对象文件:
1318184537.46448.data为例:
通过命令:find / -name1318184537.46448.data

可以看出对象存储的分数的却为4。

以/mnt/sdb1/1/node/sdb1/accounts/18106/de8/11ae9132c974c131329d4e05475d7de8/11ae9132c974c131329d4e05475d7de8.db为例:
11ae9132c974c131329d4e05475d7de8:对account名进行的hash算法而获得;
11ae9132c974c131329d4e05475d7de8.db:账户服务器对应的数据库文件
DATADIR:accounts
(part)分区:/18106/
Suffix:/de8/--hash的最后3位:11ae9132c974c131329d4e05475d7de8
Drive:/sdb1/
root:(/srv/1/

本文详细分析了OpenStack Swift中账户服务器的源码,包括GET、PUT、DELETE、POST和HEAD操作。通过命令行示例展示了如何查看账户服务器的副本数目,并解释了Swift的数据存储流程。文章还探讨了审计(auditor)、复制(replicator)和收割(reaper)服务的工作原理,阐述了它们在账户数据管理中的角色。
最低0.47元/天 解锁文章
950





