Aliyun Linux 2是新一代阿里云原生Linux操作系统,为云上应用程序提供安全、稳定、高性能的定制化运行环境,并针对云基础设施进行了深度优化,为您打造更好的运行时体验。您可以免费使用Aliyun Linux 2公共镜像,并免费获得阿里云针对该操作系统的长期支持。

更多详情,请访问Aliyun Linux 2产品详情页

适用范围

Aliyun Linux 2适用于下列场景。
  • 各种云场景工作负载。例如数据库、云原生容器、数据分析、Web应用程序,以及生产环境中的其他工作负载。
  • 多种实例规格族,包括弹性裸金属服务器(神龙)。详情请参见实例规格族
    • 支持的实例vCPU范围为1vCPU~160vCPU。
    • 支持的实例内存范围为0.5GiB~3840GiB。
    • 不支持非I/O优化实例。

优势

与其他Linux系统相比,Aliyun Linux 2具有以下优势。
  • 阿里云官方为Aliyun Linux 2提供长期免费的软件维护和技术支持。
  • 深度优化,与阿里云基础设施的结合。持续提高系统启动速度、运行时性能及稳定性。
  • 为云上应用程序环境提供Linux社区的最新增强功能。
  • 通过更新的Linux内核、用户态软件及工具包提供更丰富的操作系统特性。
  • 精简内核,减少潜在安全隐患。提供安全漏洞监控与修复策略,持续保证系统安全。

Aliyun Linux 2特性

  • 默认搭载并启用最新版本阿里云云内核,新版云内核提供了以下特性。
    • 基于内核社区长期支持(LTS)的4.19定制而成,增加适用于云场景的新特性、改进内核性能并修复重大缺陷,详情请参见Aliyun Linux 2发布记录
    • 提供针对ECS实例环境定制优化的内核启动参数和系统配置参数。
    • 提供操作系统崩溃后的内核转储(Kdump)能力,您可根据需要在线打开或者关闭该功能,无需重启操作系统。
    • 提供内核热补丁升级(Live Patch)能力。
  • 软件包预装和更新说明。
    • 用户态软件包保持与最新版CentOS 7兼容,该版本用户态软件包可直接在Aliyun Linux 2使用。
    • 默认搭载阿里云CLI。
    • 网络服务从network.service切换为systemd-networkd
    • 软件包安全漏洞(CVE)修复在Aliyun Linux 2版本支持期限内会持续更新,详情请参见Aliyun Linux 2 CVE更新记录。Aliyun linux 2提供自动化修复方案,详情请参见基于YUM的安全更新操作
  • 大幅优化开机启动速度,提升运行时的系统性能,并增强系统稳定性。
    • 针对ECS实例环境大幅优化启动速度,在实际测试中,相比其他操作系统约减少60%的启动时间。
    • 优化调度、内存、IO及网络等子系统,在部分的开源基准测试(benchmark)中,相比其他操作系统约提升10%~30%性能。
    • 持续增强系统稳定性,在宕机数据统计结果中,相比其他操作系统减少约50%的宕机率。

费用

Aliyun Linux 2是免费镜像,但当您选用Aliyun Linux 2镜像创建ECS实例时,需要支付其他资源产生的费用,如vCPU、内存、存储、公网带宽和快照等。计费详情请参见计费概述

获取Aliyun Linux 2

您可通过下列方法获取并使用Aliyun Linux 2。

使用Aliyun Linux 2

  • 查看或修改系统参数

    Aliyun Linux 2在配置文件/etc/sysctl.d/50-aliyun.conf中更新了下列内核配置参数,运行sysctl命令,可查看或修改Aliyun Linux 2运行时的系统参数。

    系统参数 说明
    kernel.hung_task_timeout_secs = 240 延长内核hung_task超时秒数,避免频繁的hung_task提示
    kernel.panic_on_oops = 1 允许内核发生Oops错误时抛出Kernel Panic异常,如果配置了Kdump则可自动捕获崩溃详情
    kernel.watchdog_thresh = 50 延长hrtimer、NMI、Soft Lockup以及Hard Lockup等事件的阈值,避免可能出现的内核误报
    kernel.hardlockup_panic = 1 允许内核发生Hard Lockup错误时抛出Kernel Panic异常,如果配置了Kdump则可自动捕获崩溃详情
  • 查看内核参数

    Aliyun Linux 2更新了下列内核参数,运行cat /proc/cmdline命令,可查看Aliyun Linux 2运行时的内核参数。

    内核参数 说明
    crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M 为内核转储(Kdump)功能预留的内存空间
    cryptomgr.notests 关闭crypto在内核启动时的自检行为,加快启动速度
    cgroup.memory=nokmem 关闭Memory Cgroup的内核内存统计功能,避免出现潜在的内核不稳定问题
    rcupdate.rcu_cpu_stall_timeout=300 延长RCU CPU Stall Detector的超时阈值为300秒,避免内核误报
  • 回退内核版本
    Aliyun Linux 2默认搭载4.19.y版本云内核,内核版本会随镜像的更新而升级。您可以根据需要,使用以下命令安装并切换至兼容CentOS 7版本的3.10系列内核。
    说明 更换内核版本可能导致无法开机等风险,请谨慎操作。
    依次运行以下命令可回退内核版本。
    # 先安装3.10内核
    sudo yum install -y kernel-3.10.0
    # 设置GRUB驱动
    sudo grub2-set-default "$(grep ^menuentry /boot/grub2/grub.cfg | grep 3.10.0 | awk -F\' '{ print $2 }')"
    # 将变更更新至配置文件中
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg
    # 重启操作系统,使配置生效
    sudo reboot
  • 开启或关闭内核转储(Kdump)功能

    Aliyun Linux 2提供了Kdump服务。开启该服务后可捕获内核错误,方便您分析内核崩溃现象。

    说明 所选实例规格的内存小于或等于2GiB时,无法使用Kdump服务。
    • 依次运行以下命令可以开启Kdump服务。
      # 先开启Kdump服务
      sudo systemctl enable kdump.service
      # 重启Kdump服务
      sudo systemctl restart kdump.service
    • 依次运行以下命令可以将Kdump服务预留的内存地址空间归还给操作系统,并彻底关闭Kdump服务。
      # 先更改/sys/kernel/kexec_crash_size文件配置
      sudo sh -c 'echo 0 > /sys/kernel/kexec_crash_size'
      # 关闭Kdump服务
      sudo systemctl disable kdump.service
      # 停止Kdump服务
      sudo systemctl stop kdump.service
      说明 Kdump服务预留的内存地址空间归还给操作系统后,必须重启操作系统才可再次开启Kdump服务。
  • 配置网络
    Aliyun Linux 2默认使用systemd-networkd配置网络,DHCP或静态IP的配置文件位于/etc/systemd/network/目录。
    # 该命令可以重启网络服务
    sudo systemctl restart systemd-networkd
  • 获取Debuginfo包和源码包
    • 依次运行以下命令可以获取Debuginfo包。
      # 先安装yum-utils
      sudo yum install -y yum-utils
      # 安装Debuginfo包,其中<packageName>为您预期安装的软件包名称
      sudo debuginfo-install -y <packageName>
    • 依次运行以下命令可以获取源码包。
      # 先安装源码
      sudo yum install -y alinux-release-source
      # 安装yum-utils
      sudo yum install -y yum-utils
      # 安装源码包,其中<sourcePackageName>为您预期安装的软件包名称
      sudo yumdownloader --source <sourcePackageName>
  • 使用试验性支持的软件包
    试验性支持的软件包指由阿里云官方提供,但未经严格测试,不保证质量的软件包。Aliyun Linux 2提供了普通试验性软件包和SCL插件方式支持的试验性软件包。
    • 普通试验性软件包
      • Golang 1.12
      • Golang 1.13

      依次运行以下命令可以安装软件包。

      # 先开启YUM仓库支持
      sudo yum install -y alinux-release-experimentals
      # 安装普通试验性软件包,其中<packageName>为您预期安装的软件包名称
      sudo yum install -y <packageName>
    • SCL插件方式支持的开发工具包
      • 基于GCC-7.3.1的开发工具包(devtoolset-7)
      • 基于GCC-8.2.1的开发工具包(devtoolset-8)
      • 基于GCC-9.1.1的开发工具包(devtoolset-9)

      依次运行以下命令可以安装软件包。

      # 先安装scl-utils
      sudo yum install -y scl-utils
      # 打开YUM仓库支持
      sudo yum install -y alinux-release-experimentals
      # 从YUM源安装您需要的软件包,以下示例命令同时安装了SCL插件方式支持的所有开发工具包
      sudo yum install -y devtoolset-7-gcc devtoolset-7-gdb devtoolset-7-binutils devtoolset-7-make
      sudo yum install -y devtoolset-8-gcc devtoolset-8-gdb devtoolset-8-binutils devtoolset-8-make
      sudo yum install -y devtoolset-9-gcc devtoolset-9-gdb devtoolset-9-binutils devtoolset-9-make
      安装成功后,您即可使用高版本的GCC以及相关工具。示例代码如下:
      # 先查看现有的SCL,需要指定库名,本示例代码中,库名为devtoolset-7
      scl -l devtoolset-7
      # 运行相关的SCL软件
      scl enable devtoolset-7 'gcc --version'

更新记录

技术支持

阿里云为Aliyun Linux 2提供如下技术支持:
  • 为期5年的长期支持,包括安全更新和问题修复,于2024年3月31日结束版本生命周期。您可以通过以下方式获得免费的技术支持:
  • 每4个月更新一次镜像,更新内容包括新特性支持、安全更新、已知问题修复等。
  • 在YUM源提供安全更新(Security Updates),运行yum update命令可更新至新版本。