Acronis Backup Recovery Advanced Server的snapapi折腾笔记

来源:岁月联盟 编辑:exp 时间:2012-01-30
目标:我要在一个被修改过的linux(基于centos 5.4修改的,重新编译过内核)系统,备份他的整个硬盘,该硬盘做了LVM分区。其实已经通过vmware  convert做了一次P2V的镜像了,不过我还是不甘心,希望能做个P2P的镜像。
 
如果没LVM,这很简单,DD出来再DD回去就是了,但是Y做了LVM(centos/RHEL的默认分区方式),而我对LVM掌握的十分有限,只有另谋出路了:商业备份程序–>acronis backup & recovery advanced server
 
前期的折腾:
 
1、linux agent的下载,够隐蔽的,得要在安装server的过程中才有提示,最后在注册了试用版的portal里才可以下载的到。
 
2、需要安装kernel-devel和gcc才可以安装snapapi
 
折腾到最后,发现必须要安装acronis的一个叫snapapi的LKM才可以对LVM分区执行备份工作。所以,我现在面对的情况是:
 
1、没有当前内核的代码,或许有当前内核的配置文件
 
2、有类似版本的内核代码
 
3、有他的LKM的代码
 
错误信息:
 
[18458.932501] snapapi26: version magic ’2.6.18-164.15.1.el5.xxx SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1′should be ’2.6.18-164.15.1.el5.xxx SMP mod_unload 686 REGPARM gcc-4.1′
 
分析:
 
modversion modmagic不一致,差距就是多了个4KSTACKS,需要强行插入LKM。
 
 
 
思路:
 
一、去掉4KSTACKS字样
 
1、暴力修改二进制文件。我用UE试了试,ctrl+d删除了不需要的字符,结果出错了。VI做的二进制编辑器用不来,老保存不到文件,后续方法是找一个对ELF文件支持的更好的二进制编辑器或者modversion cracker实现。
 
[20218.918997] Verify ELF error [sec 1] (assertion 143)
[20218.919000] Module failed ELF checks
 
二、强插LKM
 
1、modprobe -f参数,系统崩溃
 
2、编译LKM的时候去掉modversion的支持,就好像adore-ng那样
 
这个东西又洋气的很,用的dkms编译的LKM,现在得熟悉下dkms了,参考
 
http://kb.acronis.com/content/15649
 
http://forum.acronis.com/forum/20374
 
摘自 素包子