一、问题原因

     一般用户没有迁移过来就算是迁移失败,失败的原因可能有:
1、系统不支持(兼容性问题);
2、源端与备端系统不一致;
3、备端系统环境原因。
      如:备端根目录、boot分区空间不足,或备端的对应文件权限特殊,不允许重写等(英方软件没有权限进行修改)。



二、解决办法

1、原因一:兼容性问题

      如果所迁移的系统在英方软件兼容性列表范围内,请联系英方寻求技术支持。


2、原因二:源端与备端系统版本不一致

       请使用如下命令确认两边系统一致性,如不一致,请以源端系统为基准,重新准备备机的操作系统。
# uname -r
# cat /etc/issue



3、原因三:备端系统环境原因

       此原因需要进一步检查备机系统环境来确定具体原因和解决办法,排查和解决步骤如下:

(1)检查备机空间是否充足
# df -h
      查看/ 和/boot分区的空间使用情况,若存在空间不足情况,需对备机系统的对应分区扩容,或者重装系统并重新划分分区。

(2)检查系统的启动日志
# cat /var/log/boot.log
       查看系统启动日志中是否有如下报错信息,若有,则可能是备机的对应报错文件的权限问题,需要查看报错文件的权限,检查是否有特殊的文件属性:
"
cp: cannot remove `/sysroot/etc/shadow': Operation not permitted
cp: cannot remove `/sysroot/etc/group': Operation not permitted
cp: cannot remove `/sysroot/etc/passwd': Operation not permitted
"



      如看到如上圈出来的报错信息,请继续按照本文提示进行进一步排查:
# lsattr /etc/passwd

      查看启动日志中所有报错文件的属性,如看到如上所示的权限(除了e之外,还有其他的权限:i、u、a等),则说明是因为备机的文件特殊权限导致。解决办法如下:
(1)去除文件除了e以外的所有权限
# chattr -i /etc/passwd

     以去除一个文件的特殊属性为例,需要对所有报错文件的特殊属性执行删除操作。

(2)手动迁移
# cd /usr/local/sdata/scripts/
# ./DoFFO.sh

      在备机执行DoFFO.sh,进行手动迁移。执行后,检查日志是否正常(日志中FFO返回2为正常),正常方可继续操作。

(3)重启备机
# reboot

(4)重新进行数据和应用检查

(5)重新对所更改的文件赋属性
       检查迁移成功后,重新对第一步去除的文件属性进行添加。以下以给passwd文件附iau属性为例进行说明,如下所示:
# chattr +aui /etc/passwd


      

三、小贴士
Linux chattr命令说明

用途
Linux chattr命令用于改变文件属性,通常用于提高文件或目录的安全性。

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

  1. a:让文件或目录仅供附加用途。
  2. b:不更新文件或目录的最后存取时间。
  3. c:将文件或目录压缩后存放。
  4. d:将文件或目录排除在倾倒操作之外。
  5. i:不得任意更动文件或目录。
  6. s:保密性删除文件或目录。
  7. S:即时更新文件或目录。
  8. u:预防意外删除。
 

语法

chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]


参数

  -R 递归处理,将指定目录下的所有文件及子目录一并处理。

  -v<版本编号> 设置文件或目录版本。

  -V 显示指令执行过程。

  +<属性> 开启文件或目录的该项属性。

  -<属性> 关闭文件或目录的该项属性。

  =<属性> 指定文件或目录的该项属性。


实例

用chattr命令防止系统中某个关键文件被修改:

chattr +i /etc/resolv.conf
lsattr /etc/resolv.conf

会显示如下属性

----i-------- /etc/resolv.conf

让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:

chattr +a /var/log/messages