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

如何说服领导同意升级内核到 5.4?

  •  
  •   zhoudaiyu · 279 天前 via iPhone · 4986 次点击
    这是一个创建于 279 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前有 6 台物理机系统是 RHEL 7.6 内核大版本是 3.10 ,跑着 K8s 1.21 ,环境是灰度环境。但是由于内核版本较低,有时候会产生 CPU SOFTLOCK 的问题,机器负载飙升,影响稳定性。查了一下相关的文档,都让升级内核,但是没有说具体的要升级到的版本。我的意思是直接 yum 安装一个长期支持版本的内核( 5.4 ),支持启动时加载不同版本的内核,可以随时修改后 reboot 生效。但是领导担心跨的版本较大,他的思路是升 3.10 最新版小版本的内核,但是我觉得 3.10 太老了,升级了也不一定好使,而且长期支持版本也比较稳定,没必要担心。领导让我调研大厂现在用的最多的每个版本,这玩意也没处调研吧。大家怎么看这个事?
    72 条回复    2022-08-31 23:29:53 +08:00
    kokutou
        1
    kokutou  
       279 天前 via Android   ❤️ 1
    听领导的
    idblife
        2
    idblife  
       279 天前 via iPhone
    领导沙雕
    paradoxs
        3
    paradoxs  
       279 天前   ❤️ 27
    你写个书面申请

    “如升级后发生意想不到的错误,导致系统故障的,本人承担所有责任。”
    签名:
    toomoy
        4
    toomoy  
       279 天前
    听领导的
    wdhwg001
        5
    wdhwg001  
       279 天前
    rhel 的内核你都换…这真的是你自己的问题了。

    你这是真把 rhel 当 centos 用了,连 rhel 的内核是啥概念都不知道,天知道你自己用了多少野包。

    rhel 的内核是有非常巨量的 backport 的,而且你商用多半有授权,有稳定性问题如果能定位到哪个 patch 的话,还能去找红帽专门给你 backport 下来。
    zhoudaiyu
        6
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @wdhwg001 说是 RHEL ,但是支持早就没了
    zhoudaiyu
        7
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @wdhwg001 我们就是把 RHEL 当 centos 用啊,从来不用 Rhel 的 yum 源。而且我升了一台测试节点了,啥事没有
    tulongtou
        8
    tulongtou  
       279 天前 via iPhone
    换 arch 吧,每天一滚,时刻最新
    hefish
        9
    hefish  
       279 天前
    @tulongtou 哈哈,我就是这么搞的
    kokutou
        10
    kokutou  
       279 天前 via Android
    @zhoudaiyu
    那你们领导是 sb
    wdhwg001
        11
    wdhwg001  
       279 天前
    @zhoudaiyu 那你首先要做的是劝领导升到 7.9 ,不用野包,然后在 eol 之前跑路就是了。
    zhoudaiyu
        12
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @kokutou 兄弟,都是泪啊,我们新装机器上来就把 RHEL 的源换成阿里的 CENTOS ,领导让做的😭
    zhoudaiyu
        13
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @wdhwg001 野包?就没几个不野的,都 CENTOS 和 epel 直接怼
    rrfeng
        14
    rrfeng  
       279 天前 via Android
    rhel 就是当 centos 用的啊,如果有 rhel 授权,会来坛子问要不要升级内核??
    felixcode
        15
    felixcode  
       279 天前 via Android
    rhel 加各种野包,的确风险比较大。
    billlee
        16
    billlee  
       279 天前
    CentOS 7.6 内核的 overlayfs 确实有问题,但为什么不先尝试升级到最新 7.x 版本呢?
    billlee
        17
    billlee  
       279 天前
    至于大厂用的版本,就不用想了,大厂都有自己的内核团队,用自己的分支的
    zhoudaiyu
        18
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @billlee 领导不想动操作系统的版本,想最小化升级
    idblife
        19
    idblife  
       279 天前
    @zhoudaiyu
    k8s 在 3.10 内核下各种问题,不但有 cpu 的,还有网络的。
    不能升级内核的话,建议跑路
    zsj950618
        20
    zsj950618  
       279 天前 via Android
    哈哈哈,五十步笑百步
    zhoudaiyu
        21
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @zsj950618 怎么说兄弟
    zhoudaiyu
        22
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @idblife 感觉是有一些问题,有一些奇奇怪怪问题,但是开源组件的 issue 又找不到
    fox0001
        23
    fox0001  
       279 天前
    领导的想法很“领导”,毕竟谁都不想出了问题去背锅。但是 RHEL 换内核这种做法,确实不推荐……我建议是升级系,甚至是换系统,一步到位。

    当然,作为打工的,争取过就算了。结果不到你选择。
    icyalala
        24
    icyalala  
       279 天前 via iPhone
    为什么不先去搞清楚问题的原因、哪个版本修复的呢?
    zhzy0077
        25
    zhzy0077  
       279 天前   ❤️ 4
    这领导还真不一定有问题 现在可能你们所有的运维都没升级系统内核的经验 也没有具体的流程来讲怎么无感知的升级你的物理机

    你先升级个小版本试试 成本较低 风险也较小 真出意外了回滚可能也方便(这三个是主要考量) 还能积累经验 要是运气好升级完问题就修复了就更好了(后面这俩是添头)

    等升级了小版本证明: 1. 升级小版本不顶用, 2. 有能力在生产环境升级系统内核, 3. 积累了经验和具体流程方法

    我觉得领导不会反对你升级大版本的.
    july1995
        26
    july1995  
       279 天前 via iPhone
    领导说啥就是啥。
    zhoudaiyu
        27
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @icyalala 目前还没查到具体哪个版本能解决,但是看样子 3.10 可能悬了
    zhoudaiyu
        28
    zhoudaiyu  
    OP
       279 天前 via iPhone
    @zhzy0077 你说的有道理,明天先升级一台机器的小版本试试观察一周吧,不行再说
    billlee
        29
    billlee  
       279 天前
    只换内核不是你们以为的最小升级,RHEL 的 core 仓库组件都有大量 backport 补丁,看起来版本很低,但实际上很新。你换个 upstream 的最新 3.10.x 说不定反而是降级
    Soo0
        30
    Soo0  
       279 天前 via iPhone
    听领导的,先按他说的做,不行 错了在说别的。
    makelove
        31
    makelove  
       279 天前
    你们公司干什么的?造火箭吗,如果是那领导这么保守还可以说得过去
    akira
        32
    akira  
       278 天前
    未知情况这么多, 是我也不同意。
    idblife
        33
    idblife  
       278 天前 via iPhone
    @zhoudaiyu
    guthub 有篇说 3.10 内核问题的文章,找下给你领导看看。
    liaohongxing
        34
    liaohongxing  
       278 天前
    上古 7.x 确实没啥可升级的,风险还巨大,我就不爱用 rhel 系, 它维持稳定的前提是每个包都巨老
    2022 都过完了,还是用 3.x 的内核。
    zhoudaiyu
        35
    zhoudaiyu  
    OP
       278 天前 via iPhone
    @idblife 兄弟有链接不,我打开截图给他
    litguy
        36
    litguy  
       278 天前
    5.4.42-200.el7.x86_64
    我们在用这个版本,后面一直还有更新,但是因为我们内核模块的原因,最近 2 年停留在这个版本没动,很稳定,没问题。如果你们只是跑应用的,就更不用担心了。
    serialt
        37
    serialt  
       278 天前
    @zhoudaiyu 把 RHEL 源换成 CentOS 那跟直接用 CentOS 有什么区别
    dsggnbsp
        38
    dsggnbsp  
       278 天前
    作为外行的来说,你要求就得你负责,2022 了还不躺平吗,听领导的 乖听话~
    echo1937
        39
    echo1937  
       278 天前
    够狠的,“没有说具体的要升级到的版本”,就直接安装 5.4 LTS ,
    把生产系统当 Arch 来滚动吗?换个 RHEL8/9 或者 Ubuntu 都比这靠谱。
    zhoudaiyu
        40
    zhoudaiyu  
    OP
       278 天前 via iPhone
    @serialt 这玩意不是我能决定的啊,我 来之前就这样了
    zhoudaiyu
        41
    zhoudaiyu  
    OP
       278 天前 via iPhone
    @echo1937 灰度,不是生产
    zhoudaiyu
        42
    zhoudaiyu  
    OP
       278 天前 via iPhone
    @litguy 也是跑 K8s 吗
    ICB
        43
    ICB  
       278 天前
    领导只管你一个人吗?要不是就他说升啥就升啥,也不是你自己家的东西,操那些闲心你是为了啥?
    shyangs
        44
    shyangs  
       278 天前
    @zhoudaiyu

    開發環境、測試環境、灰度環境、生產環境.

    灰度環境不就是小範圍的生產環境,一部分用戶已經用上了的,叫灰度.
    zhoudaiyu
        45
    zhoudaiyu  
    OP
       278 天前 via iPhone
    @shyangs 我们的灰度就是自己测的,
    Zy143L
        46
    Zy143L  
       278 天前 via Android   ❤️ 3
    国人讲究调和择中
    给领导说直接换系统 他可能就会同意升级内核吧
    choury
        47
    choury  
       278 天前 via Android
    5.4 太低了,bpf 都不好用
    msg7086
        48
    msg7086  
       278 天前
    稳定版系统本来就不太好随便换内核。
    3.10 内核很老吗?
    kernel-3.10.0-1160.76.1.el7 ,更新时间 2022-07-26 ,才过了一个月你就嫌老?

    你一定要换的话也是优先考虑换 UEK ,企业用的,elrepo 的 kernel-lt 只是官方打包,测试强度比不上企业级软件。
    (当然如果你们不考虑稳定性的话随便换就是了,只要你能说服领导用野生内核包。)
    litguy
        49
    litguy  
       278 天前
    @zhoudaiyu 最底层跑的我们自己开发的分布式存储,上面跑的 openstack
    victorc
        50
    victorc  
       278 天前
    你们 leader 的思路是正确的,线上环境要谨慎,没事别瞎搞,各种软件(包括 linux 内核)非常复杂,质量无法保证,经常会有意外发生,别给自己找事
    salmon5
        51
    salmon5  
       278 天前
    领导是对的,你现在都是小问题,可控;如果倒腾一番,就不可控了
    salmon5
        52
    salmon5  
       278 天前
    劳心劳力被吊打的还是 leader
    BeforeTooLate
        53
    BeforeTooLate  
       278 天前
    就我觉得领导是对的吗?
    dynastysea
        54
    dynastysea  
       278 天前
    赞同升级的,一般是没经历过毒打,只能说业务规模不大。但凡是上点规模的公司,面对复杂的业务场景,内核升级都是重中之重,非必要是没人敢随意升级的。内核里潜在的坑真的太多太多了
    cnbatch
        55
    cnbatch  
       278 天前
    最好先升级到 RHEL 7.9 。稳妥起见可以只升级一台再看看后续。

    鉴于 RHEL 7.9 对于 7.6 而言只是常规更新,所以可以试下这样跟你的领导讲:不如把系统常规更新、补丁包都安装好,说不定问题就修复了。
    shika
        56
    shika  
       278 天前 via Android
    我升级过 5.4 ,我觉得你领导是对的
    waye121
        57
    waye121  
       278 天前
    这是换个内核能解决的问题吗?
    有问题 case by case 的解决,kernel 和 硬件 强相关,是不是把机器一并换了。
    newmlp
        58
    newmlp  
       278 天前
    先升了再说,管他领导不领导,他还能把你手铐起来不让你升咋地
    ziseyinzi
        59
    ziseyinzi  
       278 天前
    你领导是对的。只是咖啡喝多了会心悸,不至于开刀换个心脏。
    Remember
        60
    Remember  
       278 天前
    生产环境升级内核?生产环境都是整个机器替换掉的。

    3.10 内核是 rhel7 ,8 年前 2014 年发布,rhel8 是 4.18 ,2019 年发布,所以你机器年龄已经是 4~8 岁了,是时候换掉了。
    就算不换,也最好是分批轮流整体升级到 rhel8 ,rhel9 去。
    Cat7373
        61
    Cat7373  
       278 天前
    如果一个东西你看不懂,但它在正常工作,那就不要动它,有点小问题可以打打补丁
    Cat7373
        62
    Cat7373  
       278 天前
    @Cat7373 #61 领导视角
    ltkun
        63
    ltkun  
       278 天前 via Android
    升呗 新内核对硬件肯定支持的更好 只要不是古董硬件放弃支持那种
    wanguorui123
        64
    wanguorui123  
       278 天前
    先备份镜像在升级
    runwu2022
        65
    runwu2022  
       278 天前
    k8s 平滑下线节点,升级完成后再上线。对 k8s 集群没有影响,为什么不升级?
    tiedan
        66
    tiedan  
       278 天前
    给领导讲收益就行,讲清楚收益,剩下的由领导自己决定
    leoleoleo
        67
    leoleoleo  
       278 天前
    直接升级内核,在有一点规模的业务上根本不敢想象。做内核升级,需要整个团队和业务团队共同确认,做技术论证,回归测试啥的。万一你们有业务用了某个内核特性,一旦新版本不支持了,产线上跑的业务咋办,基本上都是新业务从头开始开发就在新内核上跑的,生产上才会上新的内核支持业务。已经上线的业务去搞内核升级,真的是没事给自己找事啊。如果你定义的灰度环境,就是自己玩的技术调研环境,那就是只要不影响其他同事的工作,想咋玩就咋玩呀。
    cubecube
        68
    cubecube  
       278 天前
    红帽的 backport 和二进制兼容,最好还是别破坏了.
    你可能不知道 rh 的 java8 有最新的 shenandoah gc ,我们正在用..换别的 jdk11 都没这个好😄
    pmispig
        69
    pmispig  
       278 天前
    如果你是 java 的应用,可以考虑直接升级 rhel8 或者 suse/opensuse 之类的,可以直接用到比较新的内核。我小伙伴内核升级到了 4.19.
    sometime
        71
    sometime  
       278 天前
    如果是自己用,升!直接用最新的,如果上了生产,听领导的,反正不用你担责任
    deorth
        72
    deorth  
       278 天前 via Android
    给运维提问题,不要提解决方案。管好自己一亩三分地
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   863 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 20:53 · PVG 04:53 · LAX 13:53 · JFK 16:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.