V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
acess
V2EX  ›  问与答

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

  •  
  •   acess · 2015-03-24 21:55:30 +08:00 · 2845 次点击
    这是一个创建于 3533 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看到一个老帖: https://www.v2ex.com/t/126965#reply41,感觉长见识了,但还没弄明白
    请问@harrychuh ,HDD上的文件真的写一次换一个地方吗?如果真是这样,对于比较大的文件,这样干很明显会很快地产生文件碎片。
    而且我想问,这种行为是在文件系统层面上实现的吗?

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

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

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

    @yfdyh000 所谓cow就是当我要修改一个簇的时候,不动原数据,而是直接分配一块新的,在新的里面写入新数据。如果保留旧索引的话,旧数据就依然可用,从而实现不停机备份(一般备份时不能写入,怕数据不同步)。因为簇是操作的最小单位,所以不存在你说的1G文件问题
    yfdyh000
        6
    yfdyh000  
       2015-03-25 01:51:15 +08:00
    @ryd994 嗯,都赞同。
    楼主和 /t/126965 中 @harrychuh 所说的文件系统或硬盘主控层面上的修改是先读取再写入一份新文件的行为策略是不存在的,也是不可行的,原因见前文。
    cow跟楼主说的大概没关系。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1229 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:44 · PVG 07:44 · LAX 15:44 · JFK 18:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.