OpenStack之Swift:账户服务器(Account Server)源码分析

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

关于副本的问题:

在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/node)->/mnt/sdb1/1/node/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值