留言与评论(共有 0 条评论) |
发布时间:2020-04-15 16:45:22
回写的问题在于,操作系统向阵列请求写入数据的时候,数据写入了缓存,阵列卡报告数据已经写入阵列但数据尚未真正写入硬盘的瞬间,如果突然断电,则操作系统认为已经写入阵列,但数据却并未写入。因为缓存通常是易失性的DRAM,断电后数据会丢失。所以一般阵列卡都配备电池单元,在断电时给缓存供电,保持缓存中的数据不会丢失。当重新加电时,会先把缓存中的数据写入硬盘,数据是不会丢失的。
相当部分阵列卡在没有电池单元的时候,是不允许设置回写模式的。不过即使有电池单元,如果断电时间过长,电池电量耗尽后尚未恢复供电,则未写入硬盘的数据就丢失了。
缓存数据丢失可能会导致写入的目标文件损坏。目标文件可能是一个无关重要的临时文件,也可能是关键业务系统的数据库文件。而更倒霉的情况是正在写入的是文件系统的元数据(Metadata),不完全的写入导致了元数据的损毁。文件系统的元数据损毁,轻则丢失单个文件的信息(例如这个文件由虚拟磁盘的那些扇区组成)导致这个文件无法访问,严重一点的丢失某个目录的信息导致整个目录无法访问,而最严重的后果就是整个分区的文件都无法访问了。
如果要找回丢失的文件,只能使用数据恢复软件对整个分区的全部扇区进行扫描,根据扇区数据“猜测”原始的文件/目录结构然后进行恢复。不过既然是猜测,那就有可能猜错,找不到丢失的数据。
留言与评论(共有 0 条评论) |
全站搜索