• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sadan9
V2EX  ›  程序员

卧槽?微软这样也行?用 Win Server 做 NAS 要慎重了……

  •  
  •   sadan9 · Dec 18, 2017 · 24820 views
    This topic created in 3249 days ago, the information mentioned may be changed or developed.
    平时写代码在 Hyper-V 的虚拟机中。虚拟磁盘镜像在 ReFS 文件系统上,底层 2 块盘做 raid1 的存储池。
    某次非正常关机以后,在 Hyper-V 中发现有某个一个文件 IO 出错(其他文件正常)。
    在主系统中对整个虚拟磁盘文件进行复制,结果报了以下错。
    https://ds3.galdb.net/22.jpg

    直接删整个文件……直接删整个文件……直接删整个文件……………………
    47 replies  •  2018-05-30 01:09:08 +08:00
    mortal
    mortal
    Dec 18, 2017
    1
    这是 ReFS 的特性?正在用 Win Server 的表示密切关注…
    honeycomb
    honeycomb
    Dec 18, 2017 via Android
    2
    这似乎是 intended behavior,refs 会自行丢掉错误数据,美其名曰数据打捞
    congeec
    congeec
    Dec 18, 2017
    3
    口怕。我还以为只有移动数据的时候可能会丢失数据
    liuxiaofengone
    liuxiaofengone
    Dec 18, 2017
    4
    文件系统 ReFS 现在不敢用,感觉还是有问题~
    FFLY
    FFLY
    Dec 18, 2017
    5
    重点关注,有点厉害。
    raptor
    raptor
    Dec 18, 2017
    6
    还是那句话,珍爱 S(heng)M(ing),远离 MS。233
    XiaoFaye
    XiaoFaye
    Dec 18, 2017 via Android
    7
    还是用成熟的 NTFS 吧
    tomhuang
    tomhuang
    Dec 18, 2017 via Android❤️1
    8
    虚拟磁盘建在镜像储存池里 refs
    vhdx 挂载至 hyperv 群晖
    想了解详细情况
    sadan9
    sadan9
    OP
    Dec 18, 2017
    9
    @honeycomb 我以为 ReFS 至少会把能恢复的部分数据恢复出来,读不出来的部分会填 0 之类的。结果复制 vhdx 文件的时候直接整个砍掉了,跪了。在 Hyper-V 里至少能访问大部分数据。
    早知道至少先在 Hyper-V 里把能复制的文件复制出来。
    sadan9
    sadan9
    OP
    Dec 18, 2017
    10
    用的系统是 Windows Server 2016,ReFS v2
    aliuwr
    aliuwr
    Dec 18, 2017
    11
    有 FOUND.000 文件夹吗?
    qweaszxcdf
    qweaszxcdf
    Dec 18, 2017
    12
    这不是 ReFS 的 feature 么
    skylancer
    skylancer
    Dec 18, 2017
    13
    我去..
    sadan9
    sadan9
    OP
    Dec 18, 2017
    14
    @aliuwr 没有,貌似直接删除。
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Dec 18, 2017 via iPhone
    15
    我还以为 APFS 是最烂的现代文件系统了,ReFS 接过一棒
    codeeer
    codeeer
    Dec 18, 2017 via iPhone❤️4
    16
    微软:硬盘好像有个问题,我帮你扔了
    edsheeran
    edsheeran
    Dec 18, 2017 via iPhone
    17
    微軟系統做服務器就是個笑話
    honeycomb
    honeycomb
    Dec 18, 2017 via Android
    18
    @tomhuang

    说不定它根本没考虑过 refs 套 refs 的情况
    https://docs.microsoft.com/en-us/windows-server/storage/refs/refs-overview
    sadan9
    sadan9
    OP
    Dec 18, 2017
    19
    @honeycomb 没有套 ReFS 啊,只有存储池-->ReFS-->vhdx
    likuku
    likuku
    Dec 18, 2017
    20
    @honeycomb [refs 会自行丢掉错误数据,美其名曰数据打捞]

    貌似是想抄 带冗余的 ZFS 池的“数据自动错误修正”,看起来是实现错了方向。
    Nitromethane
    Nitromethane
    Dec 18, 2017
    21
    我在 VM ware 中,也发生过磁盘文件损坏的问题。
    对于这种重要数据,至少要做到双机备份吧。
    Shura
    Shura
    Dec 18, 2017
    22
    这叫截肢手术,避免扩散,233333 (大雾)
    honeycomb
    honeycomb
    Dec 18, 2017 via Android
    23
    @sadan9
    我表述不对,看链接里那个 salvage data 的特性(卷保持在线,受损的文件则直接删除),看完以后是不是很想骂娘。

    至于它那个自动修复错误的特性,估计依赖于开启完整性流,而开启了这个特性后涉及的内容会变成 copy on write 模式,而 io 性能会因为随时对数据算 hash,降低很多
    honeycomb
    honeycomb
    Dec 18, 2017 via Android❤️1
    24
    @likuku 我试过在带完整性流的情况下,它确实能修复错误。
    方法是这样:

    建两个 vhdx,格式化成 refs,都开完整性流,在储存池里挂载为双向镜像的卷。

    卸载掉其中一个 vhdx,用 hex 编辑器把里面稍微乱改一下,再挂载回去,储存池能检测到错误,然后修复。
    tyhunter
    tyhunter
    Dec 18, 2017
    25
    @BXIA 求教 APFS 现在有什么坑
    honeycomb
    honeycomb
    Dec 18, 2017 via Android
    26
    @tyhunter 新浪上有人说,有些时候删除速度比复制速度慢。
    likuku
    likuku
    Dec 18, 2017
    27
    @honeycomb 那么看来路子没错,自动修复数据错误,前提必须是存储池 /卷 底层必须是带冗余的才可以。这和 ZFS 的作法一样的。
    likuku
    likuku
    Dec 18, 2017
    28
    @honeycomb 也对,存储这么重要的用途,服务器上一般是没人敢用不带冗余的配置。
    momocraft
    momocraft
    Dec 18, 2017
    29
    /安慰

    要不要考虑上 zfs ... 一个 freebsd 的 zraid pool 能简单提供 nfs/samba/sshfs,也可以当 VM guest (bhyve) 的块存储用。就是要的盘有点多 (raidz2 要五块起)。io 也不算快,不过撑满家里 GB 网线还是够的。

    如果有需要可以偷偷 qq 上找我 -_-
    sadan9
    sadan9
    OP
    Dec 18, 2017 via iPhone
    30
    @honeycomb 自动修复我试过没问题,这次估计磁盘硬件问题,然后 refs 自动修复失败。问题部分数据读取失败直接砍掉一个 100G 文件这个做法………
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    Dec 18, 2017
    31
    @tyhunter 使用下来大问题没发现有,但是性能好慢……尤其是加密的情况下
    然后 snapshot 这个功能不能脱离 time machine 使用,逻辑上挺难理解的
    sadan9
    sadan9
    OP
    Dec 18, 2017
    32
    忽然还发现一个问题……既然 ReFS 都已经认为 IO 读取失败了……存储池里的磁盘居然状态都是正常……没有告警……
    OTZ。。。。
    run2
    run2
    Dec 18, 2017
    33
    @honeycomb #26 删除(孤本)比复制慢的话 不是很正常么? 复制的时候只是新的元数据
    gamexg
    gamexg
    Dec 18, 2017
    34
    @sadan9 还好上次因为没有快照功能没选择 ReFs,微软这个操作真的很厉害...

    一次电源故障造成双盘镜像掉了一个盘外加另一个盘出现错误,zfs 显示几个文件损坏,修正电源问题两个盘重新上线后错误被自动修复了。
    另外磁盘状态有错误计数,这个计数需要手动才能清除。
    tyhunter
    tyhunter
    Dec 18, 2017
    35
    @BXIA 不过从 Macbook Pro 2016 开始,很多反映 Firevalut 开启后,mbp 就花屏了
    opengps
    opengps
    Dec 18, 2017
    36
    微软这个想法很实在,反正用不了,别浪费时间了
    ThatIsFine
    ThatIsFine
    Dec 18, 2017
    37
    我 kao
    jingniao
    jingniao
    Dec 18, 2017 via Android
    38
    这样啊……
    hyuwang
    hyuwang
    Dec 18, 2017
    39
    用 ReFS 在 RAID0 上做数据储存的表示好慌。。。
    RobertYang
    RobertYang
    Dec 18, 2017 via Android
    40
    有块存照片的硬盘是 refs,有点虚
    Feiox
    Feiox
    Dec 18, 2017
    41
    咦,奇怪了,Azure 中 Blob Service 用的就是 Refs,SLA 承诺可用性 6 个 9
    mhycy
    mhycy
    Dec 18, 2017
    42
    ReFS 的 BUG 总让我觉得是印度佬的作品
    likuku
    likuku
    Dec 18, 2017
    43
    @Feiox 人家底层硬件可能都是以百万为单价的...
    bookit
    bookit
    Dec 18, 2017
    44
    ms 和 apple 比烂,也许不相上下,

    因为阿三比例正在迅速接近?
    sadan9
    sadan9
    OP
    Dec 19, 2017
    45
    @Feiox Azure 应该用的是多副本,可能会好很多。
    euyuil
    euyuil
    Jan 7, 2018
    46
    @Feiox

    Azure Blob 应该并不是使用 ReFS 来保证数据完整性的,并且可用性没有到 6 个 9 (其实只有 3 个 9 ),而是承诺 durability 到 11 个 9 (对于 LRS )。我以前在 Azure Storage 组工作过,Blob / Table / Queue 都使用一个微软内部的用在集群上的文件系统,效果上相当于同一份数据存储 3 份,然而并不是存储在同一台服务器上的,甚至不是在同一个机架上,以确保 2 个机架同时都挂掉的情况下(同一个机架用的电源和交换机是相同的),数据还能恢复。而 ReFS 只能用在一台机器的存储空间里,所以……

    SLA 参考:
    https://azure.microsoft.com/en-us/support/legal/sla/storage/v1_3/
    https://docs.microsoft.com/en-us/azure/storage/common/storage-introduction
    ZRS
    ZRS
    May 30, 2018
    47
    LZ 启用了完整性流吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1092 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 18:19 · PVG 02:19 · LAX 10:19 · JFK 13:19
    ♥ Do have faith in what you're doing.