迁移完成后,为什么已迁移数据量小于总数据量?
问题描述
迁移完成后,已迁移数据量小于总数据量。
问题分析
源端总数据量是通过迁移Agent执行df-Th命令搜集得到的,已迁移数据量是通过记录实际已迁移文件的大小累计得到的。
出现已迁移数据量小于总数据量,可能是因为以下几种情况:
- 情况一:源端有文件被删除,但进程依然存在
出现这种情况,是因为源端经常使用rm命令或其它软件删除文件,虽然文件被成功删除,但是文件进程依然存在,还占用着磁盘空间。
- 在源端服务器,输入df -Th命令,查看源端磁盘使用量和总迁移量是否相同。
- 在源端服务器根目录下,输入du -sh *命令,查看实际目录占用量。
从查询结果可以看出,实际目录占用量小于磁盘使用量,因此出现已迁移数据量小于总数据量。
- 在源端服务器,输入如下命令:
lsof -n / |grep deleted
如果输出如下图类似结果,则表示有文件被删除,但是进程还存在的情况。
- 如果迁移任务可以成功迁移,并且目的端也成功启动,未迁移的数据不影响目的端的正常使用,则属于正常迁移,可忽略。
- (可选)在源端服务器,将lsof -n / |grep deleted命令所罗列的进程结束掉。
- (可选)选择合适的时间,重启源端服务器,关闭进程。
- 在源端服务器,输入df -Th命令,查看源端磁盘使用量和总迁移量是否相同。
- 情况二:有目录不会被迁移
Linux系统,如下文件夹中的文件不会被迁移:
/proc/*
/sys/*
/lost+found/*
/var/lib/ntp/proc/*
总数据量包含以上文件夹内的文件大小,但迁移时不会迁移这些文件。因此会造成已迁移数据量小于总数据量的情况。
在源端服务器根目录,输入du -sh *命令,查看/proc/*、/sys/*、/lost+found/*、/var/lib/ntp/proc/*等不被迁移目录的占用空间情况。
如果未迁移的数据大小,与不被迁移目录大小相同,则属于正常迁移,可忽略。
- 情况三:迁移时,源端有数据发生改变
迁移时,迁移Agent通过df -Th命令获取每个分区挂载的根目录,遍历根目录进行迁移。
在迁移时,已迁移的数据不会因为源端数据改变而改变;未迁移的数据如果发生改变,则会迁移改变后的最新数据。
总数据量记录的数值是第一次扫描源端搜集的信息。在迁移时,源端可能有大量的数据改变(比如源端大量还未迁移的数据被删除),则会造成已迁移数据量小于总数据量的情况。
您可以在源端与目的端,分别输入df -Th命令,比对源端信息和目的端信息。
- 情况四:源端存在大量空洞文件
迁移时会忽略空洞文件,如果源端存在大量空洞文件,迁移结束后,已迁移数据量小于总数据量则属于正常迁移,可忽略。
Linux系统产生空洞文件的途径有很多种,常见如dd命令等。
磁盘问题 所有常见问题
- 迁移过程中目的端为什么多出来一个40G的磁盘?
- 目的端系统盘无法挂载该如何处理?
- “源端磁盘信息发生变化,任务执行失败,请删除任务重新启动源端agent”该如何处理?
- 迁移Windows服务器时如何调整分区、磁盘?
- 如何压缩Windows系统源端服务器的磁盘分区?
- Windows系统如何排除指定磁盘分区进行迁移
- 目的端配置文件修改失败如何处理?
- “创建快照失败”怎么办?
- 如何处理“挂载分区XXX到目录XXX失败”?
- “迁移分区到目的端失败”或“同步分区到目的端失败”怎么处理?
- 如何解决Linux在迁移复制过程中,源端创建文件失败?
- “读取源端文件(/etc/fstab)失败”怎么处理?
- 如何处理“目的端磁盘个数不够”?
- 如何解决“SMS.1105”创建磁盘失败问题?
- 如何解决执行“df -TH”命令失败?
- 迁移对磁盘数量、大小是否有限制?
- 源端磁盘过大,是否可以迁移到磁盘较小的服务器?
- 配置目的端时,提示“您选择目的端的某些磁盘比源端对应要迁移磁盘小,不能满足要求,请重新选择”怎么处理?
- 主机迁移服务是否支持目的端使用本地磁盘
- 为什么阿里云Windows系统的GPT磁盘,迁移到华为云时对应磁盘容量需要大1G?
- Linux系统调整磁盘分区时,为什么物理卷是否迁移无法选择?
- Linux系统调整磁盘分区时,为什么逻辑卷是否迁移无法选择?
- 卷组和磁盘分区大小调整范围
- 源端系统盘大小超过1 TB时,如何迁移?
- 如何卸载目的端临时系统盘并挂载自身系统盘?
- 迁移完成后,为什么已迁移数据量小于总数据量?
- Linux系统迁移,如何合并磁盘?
- Linux系统迁移,如何拆分磁盘?
more