一直以为对swift的ring文件充满好奇,这段时间重新研究swift,正好借此机会好好研究下。
ring文件时一个Gzip的压缩文件,可以通过相关python库直接读取这个文件,代码如下:
gz_file = GzipFile('/etc/swift/object.ring.gz', 'rb')
这里的gz_file其实就是一个文件句柄,通过read我们可以读取数据进行分析。
1、 前4个字节 ‘RING‘
2、 第5和6个字节版本信息 1
3、 接下来的四个字节是一个字典(设备信息、part-shift、replica_count)的长度信息
4