Skip to content

Commit f52aca5

Browse files
committed
add DIF related questions
1 parent 3891b78 commit f52aca5

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

file_system.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,3 +474,28 @@
474474

475475
161、产品宣传时提到 IOPS 的数据时,也要同样考虑 IO 的 latency 数据,
476476
这两个同步提高了,才能说明从硬件到软件都有优化
477+
478+
162、磁盘常见的写入静默错误有Lost Write,即没有写入数据,就报告写入成功了,
479+
Torn Write指磁头只写入了部分数据就返回成功。
480+
Misdirect Write是指写入时,定位不准,将内容写到了目标扇区旁边的扇区中
481+
482+
163、DIF的实现基于将磁盘低级格式化为520字节 一个扇区,这样,每个扇区中有8字节来保存DIF信息,
483+
还有另外两种方法,就是不特殊对待DIF,将8字节直接追加到数据内容后面,但是这样会导致读一个扇区的完整数据
484+
需要读两个扇区
485+
另一种方法是64个扇区的DIF信息组成一个特殊的扇区(64*8=512),但是这样也有问题,就是需要磁头额外的移动
486+
487+
164、DIF 怎么解决上面提到的磁盘静默错误?
488+
(tips:针对Lost Write,需要校验DIF数据中的tag域,校验文件inode或LUN号等信息
489+
针对Torn Write,则需要判断校验码是否一致,然后通过RAID等手段来尝试恢复数据
490+
针对Misdirect Write,则需要记录写入的LUN地址)
491+
492+
165、FC磁盘 SAS磁盘表示?
493+
(tips:相对高端的磁盘,转速高,磁盘本身高端,接口转换速率更高
494+
FC 表示光纤通道仲裁环接口
495+
SAS表示 串行连接 SCSI接口
496+
SATA表示 串行连接 ATA接口)
497+
498+
166、文件去重使用Hash算法,解决Hash冲突的办法是 使用多重hash
499+
500+
167、文件 block 级去重有如下问题,需要额外的指针来记录dedup后的block
501+
另,dedup后,上层文件系统没有感知节省下来的block,这样就会导致磁盘利用率并没有提高

0 commit comments

Comments
 (0)