如何避免升级 Linux 实例内核后无法启动_系统配置_操作运维 Linux_常见问题_云服务器 ECS-阿里云 https://help.aliyun.com/knowledge_detail/59360.html

更新时间:2017-12-22 16:26:29

注意:
阿里云不建议随意自行升级内核,请参阅文档 ECS使用须知

对于CentOS、OpenSUSE、SLES(SUSE Linux Enterprise Server) 和 Aliyun Linux,升级Linux实例后启动失败,可能是因为升级后的内核对应的initrd文件中没有virtio-blk和xen-blkfront驱动。而Debian和Ubuntu的virtio-blk和 xen-blkfront驱动是内核内置的,所以不存在这个可能性。

什么是initrd文件

initrd(initial ramdisk)是用于载入临时root文件系统到磁盘中的,运行于Linux实例启动阶段。起同样作用的还有initramfs文件,虽然initrd和initramfs是两种不同的操作概念,但这两个文件都活跃在启动实例时挂载root文件系统之前。

可以直接升级内核的系统镜像

阿里云优化了镜像名称 image_no 中时间戳从 20161115 开始的镜像公共系统镜像内核,这些镜像的initrd文件不会因为缺失virtio-blk和blkfront驱动的情况而导致启动失败。如下所示:

  • centos_6u8_64_40G_cloudinit_20161115.vhd
  • centos_6u8_32_40G_cloudinit_20161115.vhd
  • centos_5u11_64_40G_cloudinit_20161115.vhd
  • centos_5u11_32_40G_cloudinit_20161115.vhd
  • centos_6_8_64_40G_base_20170222.vhd
  • centos_6_8_32_40G_base_20170222.vhd
  • centos_7_2_64_40G_base_20170222.vhd
  • centos_5_11_64_40G_base_20170222.vhd
  • centos_5_11_32_40G_base_20170222.vhd
  • ……
  • ……
  • centos_6_08_64_20G_alibase_20170824.vhd
  • debian_8_09_64_20G_alibase_20170824.vhd

如何优化内核并避免启动失败

    1. 编辑系统配置文件,若配置文件中缺失下列内容需要您手动加上:

      • CentOS 6和CentOS 7:执行 vi /etc/dracut.conf.d/virt-drivers.conf,添加 add_drivers+=" xen-blkfront virtio_blk "
      • CentOS 5:执行 vi /etc/dracut.conf.d/virt-drivers.conf,添加 add_drivers+=" xen-vbd virtio_blk virtio_console "
      • OpenSUSE/SUSE:
        1. 执行 vi /etc/sysconfig/kernel,添加 INITRD_MODULES=" virtio_blk virtio_pci xen-vbd"
        2. 执行 vi /etc/dracut.conf,添加 add_drivers+="virtio_blk virtio_pci xen-vbd"
    2. 更新内核:

      • CentOS:执行 yum install kernel
      • OpenSUSE/SUSE:执行 zypper install kernel-default
    3. 执行命令 lsinitrd /boot/initramfs-$(new-kernel-ver).img | grep -E 'virtio|xen' 检查并确认initrd / initramfs文件中已经包含了virtio-blk和xen-blkfront驱动。

    4. 必须确认virtio-blk和xen-blkfront驱动在initrd中才可以重启实例。

如何避免升级 Linux 实例内核后无法启动的更多相关文章

  1. ubuntu升级内核后vmware-player启动失败

    在虚拟机软件中,vmware player是对硬件支持很好的,通过它可以很方便的使用网银.单片机开发等等工作.但是最近ubuntu每次升级内核后,vmware都会启动失败,提示:Before you ...

  2. 002如何升级 Linux 的内核?

    我们不应该升级 Linux 内核,而是始终使用 rpm 命令来安装新的内核,因为升级内核会让你的 Linux 机器处于一个无法启动的状态.

  3. Centos7升级内核后无法启动解决办法

    前言 这个问题存在有一段时间了,之前做的centos7的ISO,在进行内核的升级以后就存在这个问题: 系统盘在板载sata口上是可以正常启动新内核并且能识别面板硬盘 系统盘插在面板口上新内核无法启动, ...

  4. 39、升级linux的内核

    39.1.什么是linux系统内核: 操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件.一个计算机 系统是一个硬件和软件的共生体,它们互相依赖,不可分割.计算机的硬件,含有外 ...

  5. Linux VMware 克隆后无法启动eth0网卡

    引: VMware 下LINUX出现:Device eth0 does not seem to be present, delaying initialization.解决办法 VMWare 克隆 复 ...

  6. 升级了Springboot版本后项目启动不了了

    问题背景 项目上使用的springboot版本是2.1.1.RELEASE,现在因为要接入elasticsearch7.x版本,参考官方文档要求,需要将springboot版本升级到2.5.14. 本 ...

  7. Linux服务器重启后MySQL启动失败

    Redirecting to /bin/systemctl start  mysql.service Job for mysqld.service failed because the control ...

  8. Linux 实例常用内核网络参数介绍与常见问题处理

    本文总结了常见的 Linux 内核参数及相关问题.修改内核参数前,您需要: 从实际需要出发,最好有相关数据的支撑,不建议随意调整内核参数. 了解参数的具体作用,且注意同类型或版本环境的内核参数可能有所 ...

  9. Linux实例常用内核网络参数介绍与常见问题处理---重要

    文章转载自:https://help.aliyun.com/knowledge_detail/41334.html 本文主要介绍如下几点内容,您可以根据实际需要选择. 查看和修改Linux实例内核参数 ...

随机推荐

  1. 【BIEE】14_开发流程介绍

    以上是BIEE开发的流程图,通过流程图我们可以看出在BIEE中存在以下主要内容: 仪表盘 仪表盘页 分析 仪表盘提示 主题区域 Catalog RPD 以下是一些文件以及资料库存储路径 资料库存储路径 ...

  2. React Native :加载新闻列表

    代码地址如下:http://www.demodashi.com/demo/13212.html 标签与内容页联动 上一节(React Native : 自定义视图)做到了点击标签自动移动,还差跟下面的 ...

  3. 改动Androidproject的名称(非Eclipse重命名)

    问题背景 在Eclipse,Import新的Android源代码project时.假设Eclipse的workspace已经存在同样名称project,是无法导入的. 网上有非常多改动工程名的方法.是 ...

  4. (二)Redis 笔记——发布&订阅、事务、数据库操作

    1. Redis 发布订阅 1.1 概述 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下 ...

  5. 控制应用程序重启,外部程序C# 实例

    第一步:新建一个控制台项目,作为关闭当前应用程序的调用程序. using System; using System.Configuration; using System.Diagnostics; n ...

  6. CEF与JavaScript交互读取电脑信息

    CefSharp中c#和JavaScript交互读取电脑信息 介绍 CEF是由Marshall Greenblatt于2008年创建的基于Google Chromium的BSD许可开源项目.与主要关注 ...

  7. MVC Controller return 格式之JsonResult、ContentResult、RedirectResult……

      //语法 public class JsonResult : ActionResult public class ContentResult : ActionResult public class ...

  8. 电脑端的全能扫描王:图片转文字识别、识别pdf、图片中的文字,图片提取txt

    手机中有全能扫描王,但PC端没有.所以需要另外找. 发现微软的oneNode有提供类似的功能. 第一步.下载Microsoft OneNode http://www.onenote.com/downl ...

  9. 分享我们必须知道的高速GTX技术

    eSATA接口只有几根线为什么那么快?连上网线显示的1Gbps是不是很令人兴奋!没错他们都用了高速GTX技术,GTX全称为Gigabit Transceiver,是为了满足现代数字处理技术和计算技术庞 ...

  10. wait

    package money.thread; import money.Log; public class AddRunner extends ExecutableRunner { private st ...