V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
caizixian
V2EX  ›  Linux

服务器该选择什么稳定可靠的文件系统

  •  
  •   caizixian ·
    caizixian · 2015-05-10 20:26:27 +08:00 · 12032 次点击
    这是一个创建于 3520 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开发: Arch Linux、Ubuntu
    部署: CentOS、Ubuntu

    需要一个稳定可靠的文件系统,即考虑到容错、断电恢复、Snapshot之类的。

    之前部署LVM+ext4结果被坑了
    67 条回复    2016-03-03 17:04:03 +08:00
    kiritoalex
        1
    kiritoalex  
       2015-05-10 21:01:16 +08:00
    OpenSUSE
    nicai000
        2
    nicai000  
       2015-05-10 21:28:14 +08:00
    @kiritoalex 答非所问

    RHEL7默认xfs
    HughRyu
        3
    HughRyu  
       2015-05-10 21:30:35 +08:00
    lz怎么被坑了?单纯的靠fs解决稳定性恐怕鞭长莫及啊。
    存储做具有冗余的raid阵列并且带电池保护,断电也可以把磁盘写入到磁盘中。

    fs选择zfs吧,没有硬件阵列卡,zfs做raid-z也是很给力的。
    快照,容错都很给力了。
    9hills
        4
    9hills  
       2015-05-10 21:36:28 +08:00 via iPad
    不要尝试在不适合的层面解决问题。

    文件系统生产环境还是推荐Ext 4,冗余和数据可靠性用RAID
    lilydjwg
        5
    lilydjwg  
       2015-05-10 21:41:02 +08:00
    @HughRyu zfs 太耗内存了……
    caizixian
        6
    caizixian  
    OP
       2015-05-10 21:58:52 +08:00
    @lilydjwg @HughRyu 没错,有一台生产服务器只有8G内存
    @9hills Snapshot呢?另外RAID5大坑,RAID1的话空间不是太够
    youtoshell
        7
    youtoshell  
       2015-05-10 22:26:34 +08:00 via Android
    raid5+热备份
    或者直接 raid6
    zonghua
        8
    zonghua  
       2015-05-10 22:30:02 +08:00 via iPhone
    有钱用windows server
    kslr
        9
    kslr  
       2015-05-10 22:37:55 +08:00 via Android
    Raid
    powergx
        10
    powergx  
       2015-05-10 22:54:19 +08:00 via iPhone
    raid5服务器=找死,建议solaris zfs mirror 或者 rz2。配合ssd 的logzilla ,性能很好。如果内存充裕,还能开去重
    9hills
        11
    9hills  
       2015-05-10 23:03:19 +08:00
    @caizixian RAID5就可以了,想要冗余更多一些,可以用RAID6,或者RAID50

    还是那句话,追求单机的可靠性从来都不是解决问题的根本办法,单点迟早被坑。
    毕竟x86服务器,又不是自带冗余的小型机,天灾人祸不要不要的。

    双机,甚至三机热备才是标准的解决办法。
    ityao
        12
    ityao  
       2015-05-10 23:16:18 +08:00
    上个阿里云啥的, 每天自动生成镜像
    Septembers
        13
    Septembers  
       2015-05-11 03:02:27 +08:00
    @9hills 单点故障 简直就是致命伤
    evefree2
        14
    evefree2  
       2015-05-11 08:41:14 +08:00
    小文件多,还是大文件?
    clino
        15
    clino  
       2015-05-11 08:46:51 +08:00
    @caizixian
    @powergx raid5有什么坑的地方
    我们都是用raid5+1热备的方式

    我们碰到的最多的问题就是有很多大文件并且有很多读写的服务器,有时候断电或者死机之类的会导致文件系统损坏,随着fs error coount越来越多到一定程度就没办法用了
    这个目前木有好办法解决,只能定期扫描error code,有就尽早fix掉
    rssf
        16
    rssf  
       2015-05-11 08:48:00 +08:00
    还是zfs比较放心。另外raid5真心不建议,不管软件还是硬件的
    zztt168
        17
    zztt168  
       2015-05-11 08:52:42 +08:00 via iPhone
    raid5千万不要用,之前网上看过文章,非常不靠谱。硬件raid10,然后热备,比较稳妥。
    lucifer9
        18
    lucifer9  
       2015-05-11 09:01:01 +08:00
    用raid5就别贪便宜。用SAS别用SATA
    wwek
        19
    wwek  
       2015-05-11 09:05:59 +08:00
    @powergx raid5服务器=找死 这才是明白人~

    天天喊, 永远记住备份是最后一根救命稻草`
    wwek
        20
    wwek  
       2015-05-11 09:07:21 +08:00
    @zztt168 这也是明白人`
    powergx
        21
    powergx  
       2015-05-11 09:27:02 +08:00 via iPhone
    raid5在 重建的时候挂掉第二块硬盘的机率很高。 zfs 不怕断电,只要有足够的内存zfs 就足够牛逼
    ryd994
        22
    ryd994  
       2015-05-11 09:28:34 +08:00 via Android
    求说说具体遇到了什么
    powergx
        23
    powergx  
       2015-05-11 09:28:38 +08:00 via iPhone
    曾经服务器硬盘都是72g 147g 重建一会儿,现在 2,3,4,5,6,8t。 raid 5你就祈求重建的几天内不要挂盘
    yakczh
        24
    yakczh  
       2015-05-11 09:28:44 +08:00
    增量备份
    warmcolor
        25
    warmcolor  
       2015-05-11 09:32:58 +08:00
    @clino 一方面因为写惩罚性能差一些,另一方面如果同一批次硬盘在重建的时候容易挂第二块
    9hills
        26
    9hills  
       2015-05-11 09:43:12 +08:00 via iPhone
    @lucifer9 嗯,必须上SAS sata显然不行
    twl007
        27
    twl007  
       2015-05-11 09:51:57 +08:00 via iPhone
    表示重建好几天的也没问题的路过……
    inter
        28
    inter  
       2015-05-11 10:14:23 +08:00
    换操作系统,换个有zfs或是类似的健壮现代文件系统的
    c0878
        29
    c0878  
       2015-05-11 10:16:37 +08:00
    不要在意服务器的文件系统 用虚拟化+分布式存储才是终极解决方案
    raptor
        30
    raptor  
       2015-05-11 10:29:33 +08:00
    必须ZFS
    wy315700
        31
    wy315700  
       2015-05-11 10:30:41 +08:00
    XFS好坑。。。
    FifiLyu
        32
    FifiLyu  
       2015-05-11 10:41:18 +08:00
    ext4 + 自己的容错机制,比如主从,备份之类的。
    notnumb
        33
    notnumb  
       2015-05-11 13:42:18 +08:00
    回帖的诸位都是坑。如果ext4不行,其它行?ZFS?
    raid5不行? SAS行? V2也没落了。或者说这里只有前端强。笑尿了。
    notnumb
        34
    notnumb  
       2015-05-11 13:46:07 +08:00
    认真回帖少又少之。没有人问原因,ext系统发展这么多年,一句不稳定一句带过。
    可以说,那些说SAS好的贬低SATA一点证据都没有。或者有90年代一些过时的论据吧。
    或者说桌面版和企业版没有概念,或者说搞不清楚桌面版本和企业版本磁盘区别。
    notnumb
        35
    notnumb  
       2015-05-11 13:46:28 +08:00
    最后,再见v2
    yueyoum
        36
    yueyoum  
       2015-05-11 14:02:12 +08:00
    @notnumb

    V2 上小白很多,
    而且很多人的做法就是 不管什么,先喷
    wy315700
        37
    wy315700  
       2015-05-11 14:05:33 +08:00
    @notnumb

    @yueyoum

    V2好多人,自以为可以代表互联网活跃用户,
    凡是国外服务都当爹供起来。
    凡是国内服务一概看不起。


    不过EXT4是比较坑,那个日志耗资源又没啥用。

    推荐用XFS,
    不过XFS做raid容易被坑,格式化的时候要指定su和sw值,不然速度特别慢。
    我就被坑到了,现在服务器流量到了300Mbps,结果磁盘吃紧了。
    powergx
        38
    powergx  
       2015-05-11 14:05:45 +08:00   ❤️ 1
    @notnumb SAS 相比sata 只是多了一套接口而已,但是附带的企业盘无故障工作时间是sata 家用的10倍
    ext 读写的时候掉电,会损坏文件系统。 zfs 只掉数据,文件系统不会损坏。
    ioiioi
        39
    ioiioi  
       2015-05-11 15:17:20 +08:00
    很多人都推荐zfs,是zfs on linux吗,还是on solaris。
    zfs on linux已经稳定到可以应用于生产环境了吗?
    blackbee
        40
    blackbee  
       2015-05-11 15:25:53 +08:00
    raid卡+bbu;raid5或者raid6+热备,ssd做cache。还不放心的话就双机热备,然后上存储,数据都扔存储里。
    blackbee
        41
    blackbee  
       2015-05-11 15:29:39 +08:00
    哦 对了 怕断电的话就上ups啊
    likuku
        42
    likuku  
       2015-05-11 15:42:21 +08:00
    snapshot ? 目前免费的也只有 ZFS堪用了... btrfs 就是个巨坑,LVM的 snapshot 又是传统copy型的,太耗空间且慢。

    zfs on linux ?别逗了。 有钱就 solaris ,没钱就 freebsd

    所谓硬件带冗余raid只能做到 它本身以为数据块正确写入硬盘的程度。
    zfs 本身数据块带校验的,冗余的zfs确保你读写数据都正确,假若底层数据块有错,会拿正确的数据修复重写错误的数据块。

    且“硬件厂商”的非mirror的其他RAID后,硬盘可能未来有兼容性问题(RAID卡坏掉/停产坏掉/没有备件),有可能造成你数据盘就没办法被读写了。ZFS是软件的,不会出这问题,只要你有支持ZFS的系统,就可以顺利读写。
    windyboy
        43
    windyboy  
       2015-05-11 16:24:04 +08:00
    貌似美国某国家实验室就是用zfs on linux
    项目也主要是他们维护的
    abscon
        44
    abscon  
       2015-05-11 16:24:52 +08:00
    回答 ZFS on FreeBSD 的其实都答非所问了。

    因为楼主已经指出的那些操作系统全部是 Linux 的发行版,而且也是发在 Linux 节点下的。

    除非楼主考虑换系统。但估计是不可能的。
    likuku
        45
    likuku  
       2015-05-11 16:59:30 +08:00
    @abscon 存储和应用可以分开啊
    fangjinmin
        46
    fangjinmin  
       2015-05-11 18:16:13 +08:00
    未来的格式是btrfs。
    ioiioi
        47
    ioiioi  
       2015-05-11 19:24:23 +08:00
    @likuku
    那zfs on bsd只能通过iscsi来提供块设备给linux咯?
    要么就是nfs等文件存储方式,但是性能上能满足楼主的要求吗?
    powergx
        48
    powergx  
       2015-05-11 20:34:44 +08:00 via iPhone
    z f s 当然装在solaris上了,比如omnios ,openindiana,nfs 出来或者hba卡出来给服务器用。别忽略了ssd 缓存加速带来的iops 提升
    twl007
        49
    twl007  
       2015-05-11 21:24:09 +08:00 via iPhone
    用zfs做文件系统请问你们是打算把zfs当文件系统来跑还是当操作系统来跑?
    powergx
        50
    powergx  
       2015-05-11 21:26:44 +08:00
    @twl007 一台服务器做文件服务器,应用服务器独立出来
    twl007
        51
    twl007  
       2015-05-11 22:07:09 +08:00 via iPhone
    @powergx ……我囧 这种不如直接买企业存储算了……
    ioiioi
        52
    ioiioi  
       2015-05-11 22:24:31 +08:00
    同样性能和容量的情况下,企业存储还要要比zfs贵得多。
    当然,如果用于生产环境,有钱的话还得上企业存储,不然出了问题谁替你担着?
    powergx
        53
    powergx  
       2015-05-11 22:45:11 +08:00 via iPhone
    lz 的关键是随时断电话说除了zfs 还有哪个文件系统顶得住这么bt的需求?
    企业存储价格起码六位数,几千块自己装个solaris 一样稳定好用
    ryd994
        54
    ryd994  
       2015-05-11 23:59:19 +08:00 via Android
    为何不上UPS 为何不上raid
    lilydjwg
        55
    lilydjwg  
       2015-05-12 00:08:44 +08:00
    @powergx 断电对 ext4 有那么恐怖吗?我还没遇到或者听说过 ext4 断电损坏的情况呢。
    twl007
        56
    twl007  
       2015-05-12 00:13:32 +08:00
    @powergx 终极解决方法还是买个UPS然后做好自动关机设定 停电了自动关机……
    KaneLin1217
        57
    KaneLin1217  
       2015-05-12 08:54:10 +08:00 via Android
    @wy315700 xfs要手动设置swsu值?我用的是CentOS7,装系统的时候,格式化没设置过怎么办😱
    powergx
        58
    powergx  
       2015-05-12 09:05:17 +08:00 via iPhone
    @lilydjwg 读写的时候断电有可能损坏文件文件分配表,然后就挂了
    wy315700
        59
    wy315700  
       2015-05-12 09:05:47 +08:00
    @KaneLin1217

    其实,不推荐把系统装在raid上,,,

    一般都是系统单独一个盘,然后数据分区在raid上。。

    我们也遇到这个问题了,但是服务器上线了,没法改了。。。
    KaneLin1217
        60
    KaneLin1217  
       2015-05-12 13:09:11 +08:00 via Android
    @wy315700 服务器4个500G,2个硬盘做一个 RAID1。然后1个装系统,一个放数据。
    预装XFS,就不知道有没有你说的现象(未手动配置,读写慢)
    w359405949
        61
    w359405949  
       2015-05-12 14:04:10 +08:00
    自己玩玩的话可以试试btrfs,马上要release了。
    wy315700
        62
    wy315700  
       2015-05-12 14:06:09 +08:00
    @KaneLin1217 负载多大,IO压力呢
    likuku
        63
    likuku  
       2015-05-12 14:55:12 +08:00
    @ioiioi NFS性能和可靠性也不差啊。
    前一家公司用的 netapp fs3020 本身就基于 freebsd,一个机头带(光纤)5个磁盘架子(3SATA,2FC) 不间断运行(至少)6年中只换过一块FC硬盘,千兆电口提供NFS服务给我们密集IO(记得繁忙时ops一直在3000+)的web图片服务器和web 主站服务器使用,非常可靠。
    ioiioi
        64
    ioiioi  
       2015-05-12 21:31:21 +08:00
    我没用过netapp,只是经常听说netapp对nfs优化很有一套,应该是商用领域的no.1。
    notnumb
        65
    notnumb  
       2016-03-03 14:09:39 +08:00
    @powergx 好久没来了,现在才回复。
    主要决定硬盘 URE 参数
    同容量 2TB ~ 10TB SATA Enterprise 和 NL SAS Enterprise URE 是一样的目前都是 10^15
    理论读取上限是 125TB ,详见 HGST 和 SEAGATE 的 spec 文档
    两者盘体是毫无区别的,主要在芯片和接口上的,大部分的 SAS 处理芯片当然都是 LSI 的。

    HGST 小容量 15000rpm 的 SAS 磁盘是 URE 10^17
    希捷很多都是 10^16, 为什么 HGST 卖的贵也是有原因的
    Error rate (non-recoverable, bits read) 10 in 10^17
    https://www.hgst.com/sites/default/files/resources/USC15K600_ds.pdf

    也有 10^16
    Error rate (non-recoverable, bits read) 1 in 10^16
    https://www.hgst.com/sites/default/files/resources/US15K600_DS_final.pdf

    目前 SSD Enterprise 做到了 10^17
    Uncorrectable Bit Error Rate (UBER) 1 sector per 10^17 bits read
    http://ark.intel.com/products/82936/Intel-SSD-DC-S3610-Series-800GB-2_5in-SATA-6Gbs-20nm-MLC


    桌面硬盘都是 10^14

    更进一步的主要原因是 SAS 是 dual port ,传统的 HA ( master-master )需要用到
    SATA single port ,如果你的 HA 是( master-standby )则 sata 足矣
    所谓的 SAS 指令, SATA 也都有相应的对应,只是叫的指令名字不同罢了。丢数据除非是固件 bug ,或者是其它的问题。

    随着对象存储崛起,分布式做的越来越好, SATA 应用场景越来越多。
    应该很多服务器单机一台用了很多 SAS 磁盘,另一个通道是无用的。看场景,但很多情况下,厂商更喜欢 SAS 是因为利润丰厚。

    大家有一定的盲目在里面,没人去搞清楚为什么。
    notnumb
        66
    notnumb  
       2016-03-03 14:11:07 +08:00
    上面形象的比喻是,单控制器+一堆 SAS 硬盘
    powergx
        67
    powergx  
       2016-03-03 17:04:03 +08:00
    @notnumb 商用环境来说 磁盘整列只是保证业务在线率用的, 而且现在已经是 ssd 的天下了。在 ssd 的速度面前, 重建数据的速度已经完全无压力了。
    实在碰到 rp 差到一定的情况, 肯定还有冷备+热备恢复数据。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2607 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:04 · PVG 19:04 · LAX 03:04 · JFK 06:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.