如何避免升级 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. C++常考面试题汇总(持续更新中)

    c++面试题 一 用简洁的语言描述 c++ 在 c 语言的基础上开发的一种面向对象编程的语言: 应用广泛: 支持多种编程范式,面向对象编程,泛型编程,和过程化编程:广泛应用于系统开发,引擎开发:支持类 ...

  2. GoldenGate Lag For Huge Insert

    前些天客户的ogg延迟到达8小时左右.于是我当时用logdump追踪了一下: 看进程状态: send extsa staus EXTRACT ZBDBA (PID 2269368) Current s ...

  3. iOS开发-Swift获取手机设备信息(UIDevice)

    使用UiDevice获取设备信息 获取设备名称 let name = UIDevice.currentDevice().name 获取设备系统名称 let systemName = UIDevice. ...

  4. 在Window系统中使用Redis缓存策略

    Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博.Github.StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/. 最近 ...

  5. MySQL性能监控工具-Spotlight on MySQL

    原文地址:http://blog.csdn.net/k_scott/article/details/8167018 这是我的第二款用于监控MySQL数据库性能的工具:Spotlight on MySQ ...

  6. java - day10 - TetrominoTesting

    图形试验,主要 向上造型 package com.example; /** * Created by Administrator on 17-5-23. */ public class Tetromi ...

  7. onkeypress、onkeydown、onkeyup

    在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress.onkeydown.onkeyup三个事件进行出来.该三个事件的执行顺序如下:onkeydown -> onk ...

  8. 微信蓝牙ble记录

    参加了一个简单的微信蓝牙ble项目,做一些记录 首先按网站上面的各种配置 简单的说就是,软件上面,生成deviceid->绑定设备和deviceid. 几点注意: 1>deviceid是唯 ...

  9. hdu2049 不容易系列之(4)——考新郎 错排+组合 一共有N对新婚夫妇,N个新娘随机坐成一排,每个新郎只能选一个, 其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.

    不容易系列之(4)——考新郎 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  10. CentOS 7 换yum源

    备份原来的源 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk 下载阿里源 $ cd /et ...