星期四, 七月 26, 2007

ulfs 项目及其文档

现在把项目的所有相关内容都放到了 sourceforge 上,SVN 在:
https://crablfs.svn.sourceforge.net/svnroot/crablfs

项目改名为 ulfs,意为:
1. Your LFS
2. Templated LFS that make use of User Based Package Management

包括三个子项目和一个文档目录:
caxes 是关于配置管理的库和工具,包括基本数据结构的定义,例如现在利用 Python 的操作符重载定义的新的数据结构 Tree,目前完成了基本定义,下一步计划要进一步完善 Tree,之后再针对树和表及序列配置编写更多的接口库,以及为主机间配置共享编写 ctemplates 工具。

cutils 是建立在 caxes 上的工具集,主要利用 caxes 来实现语法及主机配置共享。包括备份和利用 inotify 机制实现的热备份工具,不依赖于具体协议的文件传输,以及利用 libgmail 实现对 gmail 的备份等...

目前在做的是 fs_backup 和 fs_mirror/mirrord,即备份和热备份工具,可以实现廉价和低耗的热备份机制,例如用 7 台主机为一组,5 台作为生产系统,1 台作为替换系统,1 台作为热备份系统,这样当生产系统中有一台有当机时,可以迅速切换到:
Replacer
||
[Net FS] <------> Hot-Backup-System
的模式。因为拷贝一次的代价是很大的,耗时也很长,如果数据量很大,则完全不能接受。而这种模式,比之于完全的双机热备要廉价得多。

当然这并不意味着可以放弃冷备份,因为热备份主要是用来抵御硬件故障,而对于误操作、病毒、入侵和软件故障则无能为力,当某个或部分用户需要恢复到之前某一段时间的状态时,只有利用冷备份才能实现。在这里,mirrord/fs_mirror 即热备系统的服务器代理(运行在生产系统上)和客户端(运行在 Hot-Backup-System),而 fs_backup 即为冷备份系统,他也可以被 mirrord 用来做启动同步,也可以被 fs_mirror 用来做与 mirrord 的初始化同步;同时可以在 Hot-Backup-System 上面运行 mirrord,在另外起一台冷备份运行 fs_mirror 来调用 fs_backup 做同步式的冷备份,这样可以形成一个链,同时也使开销更平均,避免出现过大的峰值。

ulfs 就是原来的 crablfs,即 User Based Package Managerment System。在 caxes 配置共享和管理的基础上,可以更进一步建立模板机制。

项目文档在:
http://crablfs.sourceforge.net/

关于 Tree 数据结构的代码内文档:
http://crablfs.sourceforge.net/tree.html

另外,关于系统管理和网络设施架构的笔记和经验总结:
http://crablfs.sourceforge.net/sysadm_zh_CN.html

没有评论: