我是吉米哥
(Ti D Ber Xb8 Bmv G4)
1
【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
生产环境部署的TiKV集群,使用多块nvme本地磁盘时,需要做raid保护吗?
目前了解到nvme磁盘做raid方案主要有2种:
1、硬件RAID卡,可选择的品牌不多
2、使用英特尔CPU的VROC模块做软RAID
如果不做RAID,依赖TiKV的集群多副本,磁盘坏块时是否能很快检测出来?
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
ziptoam
(Ti D Ber D1q T Ff Sk)
2
集群多副本只能检测出数据不一致的问题,但是数据不一致问题的原因是否是磁盘坏块导致的,无法检测。
我觉得两种方案自己考虑吧
一是用raid,这样会有性能损耗和成本增加
二是不用raid,定期进行磁盘检测,如果检测出坏块,就把tikv节点迁移到其他的服务器上
直接说我的理解, 磁盘坏了,tidb不能提前预警。 当磁盘坏掉 kv节点 应该会回错误日志,相关监控也会有。用多副本 可以保障数据不丢失,除非都坏掉。
做raid 磁盘物理层加层保护,挺好。
zhanggame1
(Ti D Ber G I13ecx U)
4
多块nvme本地磁盘时,需要做raid保护
厂商建议不用,你担心有问题可以选择1、改成5副本,2、操作系统层做软raid
nvme的硬件raid就不用考虑了
不做raid你可以装个硬盘信息查询的工具,然后定期巡检磁盘有没有报错,寿命等
我了解的是nvme目前没有好用的raid卡
一般生产环境nvme都是不做raid,靠tidb自己的三副本和打标签做高可用容灾
jiayou64
(jiayou64)
6
个人感觉吧,还是做raid,牺牲一点性能,简单硬盘故障维护方便(直接更换硬盘不必下掉节点)。不做raid单靠数据库本身多副本也行,那就增加磁盘坏道检测力度维护麻烦点。
线上TiDB集群的nvme可以不做raid,靠tidb自己的三副本和打标签做高可用容灾即可。
应该说不仅仅是nvme ,按照我们的使用经验,测试和生产环境集群都是依靠集群自身的3副本机制来保证数据安全,即使是其他普通的ssd 甚至是普通the磁盘,为了最大限度利用空间,都不做raid 。
当然,最终要不要做raid,具体的情况取决于楼主你们自己的实际考量。
人如其名
(人如其名)
10
不做raid的最大问题就是换盘然后操作系统、软件都需要配合,如果系统多软硬件维护团队分离,不做raid是比较痛苦的。
根据我们经验利用intel+软raid方案磁盘损坏的概率更大,自从做了这个方案软raid的nvme盘故障率是其它方案的几倍高。
现在ssd已经很快了,比较建议raid+ssd方案。
MrSylar
( Mr.Sylar)
11
看业务和运维的需求。业务层面:raft 可以保证多数副本存活时集群的可用性,但是不能保障少数副本故障时,对业务是完全无影响的,这个时间约是 几十秒,看业务是否能接受。运维层面:raid 的好处是坏一个盘时运维压力更小。个人推荐如果成本要求不高时,用硬 raid,省老么多心了
h5n1
(H5n1)
12
资源够必须raid,虽说有tikv有3副本坏了后多多少少会有影响,再处理扩缩容,增加没必要的烦恼
我问过供应商目前nvme没有raid卡,只能做软raid
tikv的多副本能保证某个节点故障起不来的时候能运行。但是如果写入的数据悄悄的坏了,这种tikv是不知道的.
我是吉米哥
(Ti D Ber Xb8 Bmv G4)
16
lemonade010
(Ti D Ber Sd Dr Zqk O)
17
一般的RAID卡是只能管SATA/SAS的硬盘,所以就有个问题,NVMe硬盘(直连CPU/PCH的)是无法被RAID卡管理的,所以这就带来了新的问题,NVMe怎么支持硬RAID卡,DELL浪潮都给了解决方案,另外Intel给出了VROC方案,就是软RAID,RAID卡的活被CPU直接做了,都可以实现NVMe盘的RAID,
zhanggame1
(Ti D Ber G I13ecx U)
18
普通的软raid不能作为系统盘,intel这个可以作为系统盘,服务器上用也没啥优势
system
(system)
关闭
20
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。