`
pypy
  • 浏览: 90517 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

swift monitoring by swift-dispersion-*

阅读更多
1. 处理系统更新
   建议每次都以一个zone为单位进行系统更新和重启。以这种方式进行更新,能使Swift集群保  持可使用和可响应的状态。另一个更新zone的明智的做法是,更新完一个zone时,先让其运行一段时间以保证之前的更新没有导致不利的反应,然后再进行下次更新

2. 处理磁盘错误
   当一个磁盘出现错误,第一步要先确保将此盘unmounted,这可使swift更容易地应对此错误,直至问题最终被解决。
   如果此磁盘可被立刻替换新硬盘,最好替换此磁盘,格式化,重新mount,然后让副本写入其中。
   如果磁盘不能被立即替换,最好让此磁盘保持unmount状态,并从ring中删除此磁盘。这可使此磁盘上的所有副本被移动到别的磁盘上,直至此磁盘被更换。一旦磁盘被更换,它可以被重新添加到环中。

3. 处理服务器错误
   如果服务器有硬件错误,那么最好的方式是将此服务器所有的devices都从环中移除。一旦服务器被修复并重新上线,服务器的devices可以被重新加入环中。
   很重要的一点是,一旦一个服务器的devices被作为可响应的与之前不同的新的分区被添加到环中,应事先将它们重新格式化。

4. 检测fail disk
   一个经验是当一个磁盘出错,会有一些error信息被写入`/var/log/kern.log`。
   一个叫`swift-drive-audit`的脚本可以经由cron来查找出错的磁盘。如果错误被检测出来,那么出错的磁盘将被unmount

5. Cluster Health
   有swift-dispersion-* 来检查集群的health,它通过检测一些特意分布的containers
和objects是否处于其应该的位置来判断集群的health情况。
   采样的方式预估health
   单个object的健康度,尤其一个较老的object的健康度,通常反应出object所在分区的全局健康状况,我们可以得到集群全局健康状况的有效估计。实践中,大约1%的分区覆盖,仿佛能够很好地平衡检测的准确性和得到结果所花费的时间
   这些工具需要与proxy server 共享ring 文件
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics