关于硬盘分区和磨损均衡的问题

2015-03-24 21:55:30 +08:00
 acess
看到一个老帖: https://www.v2ex.com/t/126965#reply41,感觉长见识了,但还没弄明白
请问@harrychuh ,HDD上的文件真的写一次换一个地方吗?如果真是这样,对于比较大的文件,这样干很明显会很快地产生文件碎片。
而且我想问,这种行为是在文件系统层面上实现的吗?

另外,我想问问各位V友,SSD和HDD在用各种文件系统格式化后,是不是都需要保留一部分可用空间?
2865 次点击
所在节点    问与答
6 条回复
zts1993
2015-03-24 22:27:19 +08:00
SSD HDD备用块或者扇区和文件系统无关。。出厂就有在 某个闪存块或者扇区中,你怎么格式化也格式化不出来的
loading
2015-03-24 22:27:56 +08:00
ssd才有磨损均衡
yfdyh000
2015-03-24 23:05:20 +08:00
不认为NTFS会那么干。首先,HDD重复写入同一块扇区我认为并不会造成任何损耗,因为那只是磁盘上的磁性转换,没有寿命限制,而且节约了磁头移动的电机寿命。
其次,如果每次都是那样读取并重新创建,除了性能和碎片问题,还有明显的写入放大问题。比如你修改了1GB文件中的1个字节,难道要重新在空余处创建写入1GB的数据量吗。$MFT等日志元文件也都是在原地重写的,普通文件也一样,不可能每次都重新创建一遍。还有一个不太恰当的例子,如果真的在文件系统/磁盘层面这样做,那些反复擦除的工具(如Gutmann算法)岂不是在做无用功。

SSD保留一些可用分区据说有助于性能和寿命,避免内部频繁地搬运文件来实现均衡磨损。
HDD没关系吧,我的几个分区95%好几年了,什么事也没有。
yfdyh000
2015-03-24 23:09:40 +08:00
补充,重写1GB数据量的举例可能不恰当,但就是那个意思。

写时拷贝/写入时复制/copy-on-write 是ZFS等一些文件系统的特性,NTFS大概是没有的。
不过Windows的卷影复制(VSS)好像用了这种技术,具体怎么回事没弄懂过。
ryd994
2015-03-25 01:27:25 +08:00
ntfs没有cow,btrfs才有
确实更容易产生碎片,但是btrfs有自动碎片整理,所以不是问题 http://askubuntu.com/questions/84213/btrfs-defragmentation-of-files-folders
SSD不止要留空,还要启用trim才有意义,不启用trim的话,主控芯片不知道哪个有用哪个没用也是无法平衡的
HDD的寿命主要瓶颈是磁头而不是盘片,所有的磨损反正都在那一个(几个)磁头上,不存在平衡问题

@yfdyh000 所谓cow就是当我要修改一个簇的时候,不动原数据,而是直接分配一块新的,在新的里面写入新数据。如果保留旧索引的话,旧数据就依然可用,从而实现不停机备份(一般备份时不能写入,怕数据不同步)。因为簇是操作的最小单位,所以不存在你说的1G文件问题
yfdyh000
2015-03-25 01:51:15 +08:00
@ryd994 嗯,都赞同。
楼主和 /t/126965 中 @harrychuh 所说的文件系统或硬盘主控层面上的修改是先读取再写入一份新文件的行为策略是不存在的,也是不可行的,原因见前文。
cow跟楼主说的大概没关系。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/179135

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX