这个问题好大 :) 备份只是数据保护的一部分。针对不同的平台/数据库,泛泛的讲,首先我们要考虑的是那些关键信息易丢失,不容易重建/恢复,然后要设计一个综合的保护策略/方案,比如备份关键的配置信息/文件,数据库中的实际业务数据等。还要考虑这些信息的一致性(必须是同一时间的对系统的快照); 然后设计恢复流程,定制恢复脚本,设计恢复测试的方法等。
开源平台例如openstack、hadoop、ceph等,我还没见到现成成熟的备份保护方案,可以参考上面的通用原则定制开发。
拿openstack举例:
openstack Backup and Recovery文档 http://docs.openstack.org/ops-guide/ops-backup-recovery.html 中列举了重要的需要保护的openstack各种信息。 针对不同的备份信息,采用相应的备份手段即可,大部分很直观。
对于开源数据库:
如果数据量很小且能短暂停机,建议冷备份,停止服务后,直接用TSM备份数据文件/各种配置文件即可,最简单。
利用tsm提供的 adsmpipe工具,调用调用tsm api备份, 大致原理:
数据库自带备份接口/工具--> 通过linux命令行管道传给 adsmpipe --> TSM API----> TSM server
比如 MYSQL: mysql提供mysqldump
mysqldump生成mysql数据库备份文件--->通过linux命令行管道传给 adsmpipe ——> adsmpipe 将数据库备份文件通过tsm api接口备份到TSM 服务器。
通过adsmpipe,还可以备份其他很多TSM没有直接提供备份代理的数据库,如PostgreSQL等。
具体请参见:
http://www.redbooks.ibm.com/abstracts/redp3980.html?Open
收起