目標:我要在一個被修改過的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
摘自 素包子