Aliyun Linux 2
Aliyun Linux 2是新一代阿里云原生Linux操作系统,为云上应用程序提供安全、稳定、高性能的定制化运行环境,并针对云基础设施进行了深度优化,为您打造最佳的运行时体验。您可以免费使用Aliyun Linux 2公共镜像创建实例,并免费的获得阿里云针对操作系统的长期支持。
更多详情,请访问Aliyun Linux 2产品详情页。
适用范围
- 各种云场景工作负载。例如数据库、云原生容器、数据分析、Web应用程序,以及生产环境中的其他工作负载。
- 多种实例规格族,包括弹性裸金属服务器(神龙)。详情请参见实例规格族。
- 支持的实例vCPU范围为1vCPU~160vCPU。
- 支持的实例内存范围为0.5GiB~3840GiB。
- 不支持使用经典网络类型和非I/O优化实例。
优势
- 专为云服务器ECS定制,系统启动更快并且运行时性能更好。
- 为云上应用程序环境提供Linux社区的最新增强功能。
- 通过更新的Linux内核、用户态软件及工具包提供更丰富的操作系统特性。
- 精简内核,减少潜在安全隐患。
- 既可免费使用,又可获得由阿里云提供的技术支持。
Aliyun Linux 2特性
- 默认搭载并启用最新版本阿里云云内核,新版云内核提供了以下特性:
- 基于内核社区长期支持的4.19.24版本定制而成,增加适用于云场景的新特性、改进内核性能并修复重大缺陷。
- 提供针对ECS实例环境定制优化的内核启动参数和系统配置参数。
- 提供操作系统崩溃后的内核转储(Kdump)能力,您可根据需要在线打开或者关闭该功能,无需重启操作系统。
- 提供内核热补丁升级(Live Patch)能力。
- 软件包预装和更新说明:
- 默认搭载阿里云CLI。
- 网络服务从network.service切换为systemd-networkd。
- 用户态软件包与CentOS 7.6.1810版本兼容,该版本用户态软件包可直接在Aliyun Linux 2使用。
- 软件包安全漏洞(CVE)修复在Aliyun Linux 2版本支持期限内会持续更新。
- 优化了开机启动速度,并提升了运行时的系统性能:
- 针对ECS实例环境大幅优化启动速度。
- 针对ECS实例环境优化多线程场景,提升大规格实例多线程性能。
- 针对MySQL数据库场景进行全链路优化,与ESSD云盘配合使用,显著提升性能。
获取Aliyun Linux 2
- 创建ECS实例:
- 新创建ECS实例时选择公共镜像,并选择Aliyun Linux 2的相应版本。详情请参见使用向导创建实例。
- 已创建的ECS实例可通过更换系统盘,将现有操作系统更换为Aliyun Linux 2。详情请参见更换系统盘(公共镜像)。
- 在本地环境中使用Aliyun Linux 2:
本地环境(包括服务器和虚拟化环境等)可直接下载Aliyun Linux 2虚拟机镜像并安装启动。详情请参见 《GitHub文档》 使用指导。
使用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.6.1810版本的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服务。
- 依次运行以下命令可以开启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>
- 依次运行以下命令可以获取Debuginfo包。
- 使用试验性支持的软件包
试验性支持的软件包是指由阿里云官方提供,但未经严格测试,不保证质量的软件包。Aliyun Linux 2提供了普通试验性软件包和SCL插件方式支持的试验性软件包。
- 普通试验性软件包
Python 3.6
Golang 1.11
和Golang 1.12
依次运行以下命令可以安装软件包。
# 先开启YUM仓库支持 sudo yum install -y alinux-release-experimentals # 安装普通试验性软件包,其中<packageName>为您预期安装的软件包名称 sudo yum install -y <packageName>
- SCL插件方式支持的试验性软件包
GCC 7.3.1
GDB 8.0.1
Binutils 2.28
Make 4.2.1
依次运行以下命令可以安装软件包。
# 先安装
scl-utils
sudo yum install -y scl-utils # 打开YUM仓库支持 sudo yum install -y alinux-release-experimentals # 从YUM源安装您需要的软件包,以下示例命令同时安装了GCC、GDB、Binutils和Make工具 sudo yum install -y devtoolset-7-gcc devtoolset-7-gdb devtoolset-7-binutils devtoolset-7-make安装成功后,您即可使用高版本的GCC以及相关工具。示例代码如下:# 先查看现有的SCL,需要指定库名,本示例代码中,库名为devtoolset-7 scl -l devtoolset-7 # 运行相关的SCL软件 scl enable devtoolset-7 'gcc --version'
- 普通试验性软件包
更新记录
详情请参见镜像发布记录。
技术支持
- 版本支持期限为3年,到2022年3月31日结束版本生命周期。
- 在YUM源提供安全更新(Security Updates),运行yum update命令可更新至新版本。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论