存档

文章标签 ‘snumbd26’

Acronis Backup Recovery Advanced Server的snapapi折腾笔记

2012年1月29日 3 条评论

目标:我要在一个被修改过的linux(基于centos 5.x修改的,重新编译过内核)系统,备份他的整个硬盘,该硬盘做了LVM分区。其实已经通过vmware  convert做了一次P2V的镜像了,不过我还是不甘心,希望能做个P2P的镜像。

如果没LVM,这很简单,DD出来再DD回去就是了,但是Y做了LVM(centos/RHEL的默认分区方式),而我对LVM掌握的十分有限,只有另谋出路了:商业备份程序–>acronis backup & recovery advanced server

server 下载地址,不要贪新版本,用这个11就好,不要用11.5  http://dl.acronis.com/u/ABR11A_trial_en-US.exe

linux 组件 在 https://www.acronis.com/en-us/my/products/index.html 的my product里面,需要登陆。

序列号

SXAJV3F4-U2LKNKFD-PYV3BX5V-BECTL4WW-55XR6HXH-RBW4JUQK-UNLMMJYW-LYZS496F
DBSPAQLY-RNR23TGB-3WD9KM4E-GH2U2E8H-RSAPXUP7-LE6TH5TB-7X26UJ59-5KQSLP46
VNQB2X9K-TVDWEXA2-NLDZY664-XHEHVFCF-E8ZTUL7S-LE5G3YF2-WFSY799G-972H574F
SHXRNFWM-V9Q7S9NK-F8JNA37W-8U33VM9P-7SENEBJR-R892EZS4-3YDNAKHF-4B79DABJ
Z9U97E9D-MWS5T77M-YA7SNWG7-FURX8VHK-XLRFC4PZ-6AQ8EEKV-43M9BC77-RGEMYCQP
56S6WTM8-QWGTUVJX-J23WGX5Y-D3UE3W8K-SJ5DZSGJ-YS7BV5Z6-PAV5YQA5-2VYBLTRN

前期的折腾:

1、linux agent的下载,够隐蔽的,得要在安装server的过程中才有提示,最后在注册了试用版的portal里才可以下载的到。

安装agent

sh ABR11AL64_en-US.x86_64 –help 可以看参数列表

不需要那么折腾,装个标准内核和开发包就可以规矩的搞起了,需要备份的时候改下grub再reboot切换到另外一个内核即可。(这么搞imp的网口顺序貌似会乱!可能是udev的问题)

如果需要在线备份,还是继续往下面折腾吧。

2、需要安装kernel-devel和gcc才可以安装snapapi(centos5可以自动安装,centos6需要手动编译)

折腾到最后,发现必须要安装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了,参考。ldtarball之后,代码在/var/lib/dkms/这个位置

 

不折腾dkms了,手动编译方法如下,但貌似有错:

出现

在执行make oldconfig和make prepare之后,重新make,出现

下面应该是要找这个freezer.h在哪被引用了,能否去掉,如果不能,就把这个freezer.h弄进去。
当然,最简单的方法可以有限尝试下,就是touch /usr/src/kernels/2.6.18-164.15.1.el5.xxx-i686/include/linux/freezer.h ,果然过了。
继续解决/bin/sh: scripts/mod/modpost: No such file or directory 的问题,这个简单

编译通过了,虽然有关于modversion的警告,现在调试就方便很多。。。没错,战斗还没开始
嘿嘿,没想到战斗没开始就接近尾声了,模块装载成功

重新开启Acronis Backup & recovery,果然可以开始备份了,等待吧。

这段时间,回顾下为啥之前模块装不上,但自己编译又能装上,看来可能是dkms在合并内核oldconfig的时候出了问题,导致没有去掉4KSTACK的支持,一路走来,解决了不少问题,大新年的,够折腾的,不过还好有收获。

哈哈,等了10来分钟,备份成功,回家吃饭!明天过来把他恢复到另外的服务器里去。

貌似还没饭吃,开始恢复备份到其他系统,有2个思路:

1、通过网络引导,直接装一个新的系统进去。

2、先装好一个系统,再把备份恢复进去。

我好像看到这玩意是支持1方式的,但是在程序里没看到做tftp的指引,并且我有一台空闲的DELL 1950 with CENTOS 5.7服务器放着,就先考虑第二种方式吧。

在恢复之前,先把agent装上,snapapi26.ko是没成功加载的,我猜测恢复的时候应该不需要这个LKM,咋快就咋整着先吧。

目标磁盘和备份文件的磁盘大小不一样,并且目标磁盘没有/var分区,估计可能会有问题,先44再说。
备份文件3.9G -rw-r–r– 1 root root 3.9G Jan 31 02:28 bak_2012_01_30_18_08_10_454D.TIB

 

在选择目标分区的时候有2个问题
1、这个NT signature是啥意思?到底选啥?暂时先选默认的auto,我感觉得选recover from backup,这涉及到MBR的问题,如果跑grub的时候出问题了就换换。
2、源分区和目标分区对不上号,瞎胡选的,如果有问题的话,就找个DELL R410,再分个一样的区44。还可以外挂一个USB硬盘44。

弹个窗口出来要我重启,那就照做吧。

按钮reboot不生效,我给机器reboot了,去控制台看,也没啥特别的,重新把过场再跑了一次,还是一样,看样子这条路有问题。在acronis安装目录下找到了帮助文件,搜索之,发现有PXE的介绍,想起来应该还可以从PE启动恢复,可以做引导盘的,这样就方便多了,引导盘,搞起!