信创转型新机遇:麒麟操作系统选型与实施指南

薪科技快评 2024-02-20 23:08:02

【摘要】企业在推进国产化过程中势必要选择一款主流、稳定、安全的服务器操作系统产品作为系统软件,而在产品投入实际生产环境前,需要对上游常用的软硬件适配情况有一定了解。

本文主要介绍银河麒麟高级服务器操作系统V10(后续简称麒麟V10)常用软件适配情况,结合实际案例展开分享,并针对运维实施过程中碰到的问题进行分析,提供对应的解决方案。

一、麒麟操作系统概况

麒麟 V10:企业级服务器操作系统,赋能数字化转型

麒麟 V10 是一款专为企业打造的服务器操作系统,以 OpenEuler 20.03 LTS 为内核,具备广泛的硬件兼容性。它支持 X86、ARM、Alpha、MPIS 等 CPU 架构,并适配超过 8 种国内外主流 CPU 品牌,包括 Intel、AMD、鲲鹏、海光、飞腾、龙芯、兆芯、申威。

凭借广泛的适配性,麒麟 V10 可完美适配超过 1400 多款国内外服务器整机、1500 多款主板和板卡,以及超过 6600 多款服务器基础软件。它还与超过 200 款数据库和 200 款中间件产品兼容。

在商业软件和开源软件方面,麒麟 V10 适配超过 150000 款产品,为企业提供丰富的选择。它能满足各种业务场景的需求,助力企业实现数字化转型。

麒麟 V10 的主要优势:

* 基于稳定可靠的 OpenEuler 20.03 LTS 内核

* 支持多种 CPU 架构和国内外主流 CPU 品牌

* 广泛的硬件兼容性,适配超过 1400 多款整机和 1500 多款主板/板卡

* 丰富的软件生态,适配超过 200 款数据库、200 款中间件、6600 多款服务器基础软件

* 150000 多款商业软件和开源软件的支持V10是一款商业版本服务器操作系统,其作为承载业务系统的基础底座,能满足大部分企业的产品需求,各类软硬件适配也都较好。

麒麟V10的SP1/SP2/SP3版本内核都是基于OpenEuler 20.03 LTS研发的,已适配1400多款国内外服务器整机,适配1500多款主板和板卡,适配200多款数据库和200多款中间件产品,适配6600多款服务器基础软件,适配250000多款服务器商业软件和开源软件。

二、常用软件选型适配2.1 常用软件适配情况

本文罗列了29款常用软件的适配情况,如下表所示,供参考:

更多兼容适配情况,可登录麒麟生态官网进行查询:

解锁商业成功的新利器!采用麒麟开源操作系统,获得以下优势:

* 显著削减成本:高达90%的软件许可证成本节约。

* 保障数据安全:国产自主可控,确保数据隐私。

* 高效协作:与主流办公软件兼容,提升团队效率。

* 定制化服务:满足行业特定需求,定制打造专属系统。1

2.2 常用软件适配案例

软件适配测试案例

MongoDB、Redis、Nginx、Tomcat 等软件的适配测试案例:

* 确定测试目标,制定测试计划

* 搭建测试环境,模拟真实场景

* 执行性能、功能和兼容性测试

* 分析结果,优化配置和提升性能MongoDB、Redis)和中间件(Nginx、Tomcat)的例子作为适配案例,详细说明相关软件适配测试的过程。

2.2.1 MongoDB2.2.1.1 MongoDB测试环境

Kylin Server 10 SP1现已发布,提供了一系列新的特性和增强功能,旨在提升您的服务器体验。

特性亮点:

* 针对ARM64平台进行了优化:专为ARM64架构的服务器打造。

* 增强的安全性:实施了最新的安全措施,以保护您的数据和系统。

* 改进的性能:通过代码优化和算法改进,显著提升了性能。

立即下载,体验以下优势:

* 增强的数据保护和可靠性

* 加速的应用程序执行

* 优化的大规模数据处理

硬件环境:cpu数量(4),可用内存(8G),磁盘(300G)

软件版本:MongoDB 4.0.12

2.2.1.2 MongoDB适配步骤

(1)软件安装

创建安装目录

# mkdir -p /usr/local/mongodb/bin

高效安装 MongoDB 于 ARM64 系统

针对 ARM64 架构的 Linux 系统,可轻松安装 MongoDB 4.0.12 版本。只需将下载的 `mongodb-linux-arm64-4.0.12.tgz` 安装包解压至 `/usr/local/mongodb/bin` 目录即可完成安装。mongodb-linux-arm64-4.0.12.tgz解压并安装至/usr/local/mongodb/bin目录下

在 /usr/local/mongodb/bin 目录中提取 MongoDB 二进制文件:

tar -zxvf mongodb-linux-arm64-4.0.12.tgz -C /usr/local/mongodb/binn

(2)配置系统环境参数

# vim /etc/profile

优化后文章:

将 $PATH 环境变量附加到/usr/local/go/bin/go-linux-arm64-4.0.12/bin 目录中。n

# source /etc/profile

(3)创建MongoDB数据文件存放目录和日志文件存放目录

# mkdir -p /data/db /logs

(4)创建MongoDB运行时使用的配置文件

# mkdir -p /usr/local/mongodb/conf

优化后的文章:

调整 MongoDB 配置以提升性能

只需修改一个配置,即可让 MongoDB 显著提升性能。编辑 `/usr/local/mongodb/conf/mongodb.conf` 文件,将 `jemalloc` 选项设置为 `true`:

```

jemalloc: true

```

此调整可启用高效内存分配器,从而减少内存碎片并提升读写性能。f

优化版:

编辑/usr/local/mongodb/conf/mongodb.conf文件,添加以下启动参数:/usr/local/mongodb/conf/mongodb.conf文件中:

dbpath = /data/db # 数据文件存放目录

logpath = /logs/mongodb.log # 日志文件存放目录

port = 27017 # 端口

fork = true # 以守护程序的方式启用,即在后台运行

优化后的文本:

启用 MongoDB 认证可增强安全性。它通过要求用户使用帐户和密码进行远程访问来保护您的数据。第一次安装时建议不启用认证。需要认证。如果放开注释,就必须创建 MongoDB 的账号,使用账号与密码才可远程访问,第一次安装建议注释

远程访问支持,可通过 0.0.0.0 IP 地址连接,或取消对 127.0.0.1 的限制以启用本地访问。允许远程访问,或者直接注释,127.0.0.1是只允许本地访问。

(5)启动MongoDB

执行以下命令,启动MongoDB

使用自建配置文件运行 MongoDB

运行 MongoDB 时,指定自定义配置文件允许您自定义配置选项。通过使用 `mongod -f` 命令,您可以提供配置文件的路径。

示例:

```

mongod -f /usr/local/mongodb/conf/mongodb.conf

```

此命令将使用位于 `/usr/local/mongodb/conf/mongodb.conf` 中的配置文件启动 MongoDB 服务。f

(6)验证

使用mongo交互工具,操作MongoDB数据库,如下所示:

验证帮助、退出等功能“help”、“show dbs”、“quit”进行交互。

(7)查看日志

# cat mongodb.log

完成兼容性适配测试。

2.2.2 Redis2.2.2.1 Redis测试环境

麒麟V10镜像:

全新 Kylin 服务器操作系统,解锁澎湃性能

Kylin-Server-10-SP1-Release-Build10-2500-20201202-arm64.iso 重磅发布,带来突破性性能提升。

这款专为高性能服务器优化的操作系统采用先进的 ARM64 架构,可实现:

* 显著的性能提升:最大化服务器效率和吞吐量

* 灵活的扩展性:支持多核处理器和海量内存,满足不断增长的业务需求

* 卓越的稳定性:确保关键业务系统的可靠运行和数据安全o

硬件环境:cpu数量(128),可用内存(510G),磁盘(2T)

软件版本:redis-5.0.7

2.2.2.2 Redis适配步骤

(1)软件安装

优化后的内容:

在 CentOS 7 或 RHEL 7 系统上安装 Redis 5.0.7:

```bash

rpm -ivh redis-5.0.7-1.ky10.aarch64.rpm

```m

(2)检查版本

a.查看Redis版本。

# redis-server -v

系统会显示如下类似信息,表示redis的版本是5.0.7。

b.查看Redis的CLI版本。

# redis-cli -v

系统会显示如下类似信息,表示redis的CLI版本是5.0.7。

(3)启动服务

c.执行如下命令,启动redis-server。

# systemctl start redis.service

# systemctl status redis.service

(4)功能测试

# redis-cli

127.0.0.1:6379> set aa 1

OK

127.0.0.1:6379> get aa

"1"

完成兼容性适配测试。

2.2.3 Nginx2.2.3.1 Nginx测试环境

Kylin Server 10 SP1 发布,构建 10.2500,适用于 arm64 架构

Kylin Server 10 SP1 现已正式发布,为 arm64 架构系统带来增强功能和稳定性改进。此版本包括以下主要更新:

* 增强内核稳定性,以提高系统可靠性

* 集成安全补丁,以保护您的数据和应用程序

* 优化性能,以提升整体用户体验

* 修复错误,以确保文件系统和网络连接的稳定性

Kylin Server 10 SP1 为基于 arm64 架构的服务器提供了一个稳定和高性能的平台,满足企业对可靠性和安全性的关键需求。

硬件环境:cpu数量(128),可用内存(512G),磁盘(2T)

软件版本:nginx1.16组件

2.2.3.2 Nginx适配步骤

(1)配置软件源

优化后文字:

为安装麒麟软件,更新软件仓库源:

1. 编辑 /etc/yum.repos.d/kylin_aarch64.repo 文件。

2. 添加软件仓库源地址:编辑/etc/yum.repos.d/kylin_aarch64.repo文件,添加软件仓库源地址如下:

[ks10-adv-appstore]

Kylin Linux Advanced Server 10:应用商店

为 AI 和云计算赋能

Kylin Linux Advanced Server 10 提供一个全面的应用商店,包含超过 50,000 个经过认证的应用程序。这些应用程序涵盖各种类别,包括:

* 数据库和开发工具

* 系统管理和安全工具

* 云计算平台和解决方案

* 人工智能和机器学习工具

便利的应用程序管理

通过应用商店,管理员可以轻松地:

* 浏览、搜索和安装所需的应用程序

* 更新现有应用程序

* 管理已安装的应用程序的许可证和依赖关系

提高生产力和安全性

应用商店通过提供经过认证的应用程序,确保:

* 高质量和可靠性

* 安全性免受恶意软件和漏洞的影响

* 与 Kylin Linux 操作系统的兼容性

赋能企业创新

Kylin Linux Advanced Server 10 的应用商店为企业提供了获得广泛软件资源的机会。它促进了:

* 技术创新和数字化转型

* 提高运营效率和降低运营成本

* 增强安全性和风险管理e

更新您的设备以获得安全增强功能

为了提升您的设备安全性和性能,我们建议您更新至最新版本:

- 下载链接: baseurl/os/adv/lic/appstore/$basearch

- 更新大小: 根据设备而定

更新后,您将获得:

- 增强的数据保护措施

- 提升的系统稳定性

- 新功能和改进特性

立即更新,确保您的设备免受安全威胁和性能不佳的影响。/

gpgcheck = 0

enabled = 1

b.清除之前的缓存

# yum clean all

c.建立缓存

# yum makecache

(2)软件安装

a.执行如下命令安装

# dnf install -y nginx

b.查看软件版本

# nginx -v

c.查看nginx运行情况

执行命令开启nginx服务

# systemctl start nginx.service

(3)运行测试

从浏览器访问本机ip显示“Welcome to nginx!”

完成兼容性适配测试。

2.2.4 Tomcat2.2.4.1 Tomcat测试环境

麒麟V10镜像:

KylinServer 10 SP1 臻享强大安全防护

KylinServer 10 SP1 全新发布,护航您的数字资产。

强悍性能

ARM64架构,性能大幅提升。

全方位安全防护

- 集成深度信任根技术,确保系统安全可靠。

- 内置多层安全机制,抵御各类网络威胁。

稳定可靠

- 经过严格测试,稳定性极高。

- 完善的售后服务,为您保驾护航。

心动福利

下载 KylinServer 10 SP1,尽享安全稳定、性能强悍的国产操作系统。o

硬件环境:cpu数量(4),可用内存(8G),磁盘(300G)

软件版本:tomcat-8.5.0

2.2.4.2 Tomcat适配步骤

(1)配置软件源

轻松获取麒麟高级软件包!

只需编辑 `/etc/yum.repos.d/kylin_aarch64.repo` 文件,添加以下仓库源即可:编辑/etc/yum.repos.d/kylin_aarch64.repo文件,添加软件仓库源地址如下:

[ks10-adv-os]

Kylin Linux Advanced Server 10:专为企业而生的服务器系统

特性:

* 自主研发,确保系统安全可靠

* 支持海量内存和多核处理器,性能强劲

* 提供丰富的存储和网络功能,满足复杂需求

优势:

* 高效稳定,保障企业业务连续性

* 可扩展高可用,灵活应对业务增长

* 完善的生态系统,提供广泛应用和解决方案s

获取最新操作系统更新,提升您设备的性能。访问我们的更新服务器,获取适用于各种设备架构的基本映像:

- 8080 年发布 10.0 版及 10.0 SP1 版

- 链接:http://update.cs2c.com.cn:8080/NS/V10/V10SP1/os/adv/lic/base/$basearch//

gpgcheck = 0

enabled = 1

b.清除之前的缓存

# yum clean all

c.建立缓存

# yum makecache

(2)软件安装

apache-tomcat-8.5.0.tar.gz上传到系统中,解压:

# tar -zxvf apache-tomcat-8.5.0.tar.gz

(3)启动tomcat

# cd apache-tomcat-8.5.0

# cd bin

# ./startup.sh

tomcat已启动。

(4)设置防火墙

a.需要设置防火墙开放8080端口,命令为

使用 firewall-cmd 配置公有区域的端口 8080 TCP 访问。这个命令将修改永久防火墙规则,允许公有网络通过端口 8080 连接到您的服务器。t

命令解析:

--zone #作用域

--add-port=8080/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数设置,重启后会失效。

b.重启防火墙

# firewall-cmd -reload

(5)功能验证

在浏览器中访问该系统ip的8080端口即可访问tomcat8.5.0。

a.查看系统ip

# ifconfig

b.打开浏览器输入:172.17.30.109:8080

完成兼容性适配测试。

三、运维实施过程中的难点及应对方案

深入探索麒麟V10系统:揭秘常见问题与解决方案

我们总结了近年来使用麒麟V10系统遇到的问题和高效解决之道。重点关注操作系统兼容性、漏洞、特性和激活这四大方面,提供实用的指南,助力您充分利用麒麟V10系统。V10系统碰到的一些问题和解决方案,下面将从操作系统兼容问题、漏洞、特性和激活四方面进行展开。

3.1 系统兼容问题3.1.1 国产服务器安装麒麟V10系统异常3.1.1.1 场景说明

* 服务器:联想SR860

* RAID卡:940-8i

* 本地硬盘:两块600GB,RAID1

* 映射存储:OceanStor5510 V5,四个5TB卷SR860服务器(raid卡型号为940-8i),采用镜像(Kylin-Server-10-SP1-Release-Build20-20210518-x86_64.iso)安装麒麟V10系统,服务器有2块600G的本地盘(做了RAID1),同时映射了存储(OceanStor5510 V5)4个5T的卷,在安装过程中报错(An unknown error has occurred)。

3.1.1.2 分析及处置过程

优化后内容:

安装时遇到报错,通常是磁盘故障导致。解决步骤如下:

1. 初始化本地磁盘,重启后报错依旧。

2. 取消存储卷映射关系,重启后安装不再报错。

3. 点击“下一步”后,识别不到磁盘,报错“未选择任何磁盘”。“下一步”后进入新的界面,发现“安装位置(D)”下出现新的报错“未选择任何磁盘”,即识别不到磁盘。

点进去确实没有发现磁盘。

识别不到盘一般和阵列卡驱动有关,需要安装对应驱动,下面开始安装阵列卡驱动:

a.将对应驱动做进系统镜像里,挂载镜像开始安装。

b.到安装界面,通过Ctrl+Alt+F2切换至命令行模式

c.挂载镜像:mount /dev/sr0 /mnt

驱动安装优化步骤:

* rpm -ivh 安装 kmod-megaraid_sas 驱动,版本为 07.720.04.00-1.ky10.x86_64

提示:

省略不必要的参数 (-nodeps),以确保驱动程序正常安装。安装驱动:rpm -ivh kmod-megaraid_sas-07.720.04.00-1.ky10.x86_64.rpm -nodeps

加载巨港网 RAID SAS 驱动程序:

- 执行以下命令以加载驱动程序:

- `insmod /lib/modules/4.19.90-23.8.v2101.ky10.x86_64/extra/megaraid_sas/megaraid_sas.ko`加载驱动:insmod /lib/modules/4.19.90-23.8.v2101.ky10.x86_64/extra/megaraid_sas/megaraid_sas.ko

f.重新扫描下磁盘,则识别到了磁盘。

选中该磁盘,开始正常安装。

3.1.2 红帽7与麒麟V10的SSH会话会超时中断3.1.2.1 场景说明

红帽 7.1 与麒麟 V10SP1 远程会话中断

>SSH 远程连接红帽 7.1 至麒麟 V10SP1 的会话在 2 小时 10 分钟后中断。7.1系统通过SSH方式远程连接麒麟V10SP1,会话在超过2小时10分后出现中断。

3.1.2.2 分析及解决方案

不同操作系统之间的 SSH 连接出现异常。测试发现红帽 7 和麒麟 V10 之间的 SSH 会话无法正常建立,初步分析为操作系统 SSH 兼容性问题。7与红帽7的SSH会话正常,麒麟V10到麒麟V10的SSH会话也正常,而红帽7到麒麟V10或麒麟V10到红帽7的会话都存在此问题,初步判断为操作系统SSH的兼容性问题。

查看两者SSH默认配置:

(1)麒麟V10SP1默认配置参数ClientAliveCountMax值为0;

红帽 7.1 未启用 ClientAliveCountMax 和 ClientAliveInterval,加强了 SSH 连接安全性,防止不活动连接耗尽系统资源。2)红帽7.1默认未配置参数ClientAliveCountMax和ClientAliveInterval。

解决方案有以下三种,选其一即可:

KeepAlive 机制确保稳定远程连接

为了确保远程连接的稳定性,每 60 秒会从服务器端发出 KeepAlive 请求,该请求旨在防止连接因空闲时间过长而被断开。1)当作为客户端远程连接服务器时每60秒从服务端接KeepAlive请求,保证客户端不会因为超时空闲而断开连接。

优化后文案:

配置红帽 SSH 服务器,在 /etc/ssh/ssh_config 中添加:

ServerAliveInterval 60

此设置保持 SSH 连接每 60 秒自动发送一次存活消息,确保服务器监控连接并防止不必要的超时。在红帽系统配置文件/etc/ssh/ssh_config(注意区别)中添加参数ServerAliveInterval 60

b.重启ssh服务

# systemctl restart sshd

通过优化 SSH 远程连接参数,增强红帽系统稳定性:

添加参数 `-o ServerAliveInterval 60` 可配置服务器存活检查间隔为 60 秒,确保连接断开后及时重连,避免会话中断。

示例:`ssh -o ServerAliveInterval 60 username@IP_address "command_or_script"`2)在红帽系统上发起ssh远程连接时添加参数,如ssh -o ServerAliveInterval 60 <用户>@<IP地址> “脚本或执行命令”。

当作为服务端接收远程连接时,系统每分钟发送 KeepAlive 请求,确保客户端保持连接。若网络故障导致连续 3 次请求失败,SSH 会话将中断。3)当作为服务端被远程连接时每60秒向客户端发送KeepAlive请求,保证客户端不会因为超时空闲而断开连接,累计3次如遇客户端网络问题导致失败才会中断SSH会话。

调整 SSH 设置以增强安全性:

在 /etc/ssh/sshd_config 中添加以下参数:

- ClientAliveCountMax 3

- ClientAliveInterval 60

这些设置将强制 SSH 会话在 3 次客户端保持连接失败后断开,并每 60 秒向客户端发送活动请求。在麒麟V10上的配置文件/etc/ssh/sshd_config(注意区别)中添加参数 ClientAliveCountMax 3 和ClientAliveInterval 60

b.重启SSH服务

# systemctl restart sshd

3.2 操作系统漏洞

操作系统不可避免会有漏洞,需要迭代更新,国产服务器操作系统也不例外。

麒麟V10常见内存泄露漏洞

麒麟V10最常见的漏洞类型是内存泄露,影响多个关键进程,包括 mate-indicators、audit、kylin-kms-daemon 和 gvfs-udisks2-volume-monitor。

处理内存泄露的常规方法

解决内存泄露问题的常用方法包括:

* 修复导致泄漏的代码

* 使用调试工具查找并修复泄漏V10较为典型的漏洞类型为内存泄露,如mate-indicators进程内存泄漏、audit审计进程内存泄漏、kylin-kms-daemo进程内存泄漏、gvfs-udisks2-volume-monitor进程内存泄漏等,而处理内存泄漏问题的常规思路有两种:

缓释措施有限,禁用服务或kill进程不可靠。依赖性服务重启后,被禁用的服务可能随带重启,导致问题复发。1)缓释措施:一般可通过禁用服务或kill进程来应急处理,但有些服务存在依赖,当其他服务重启或其他场景下会随着带起该服务,未彻底解决,如gvfs-udisks2-volume-monitor进程依赖gdm服务,此方法不适用。

(2)解决措施:升级补丁,彻底修复。

3.2.1 mate-indicators进程内存泄漏3.2.1.1 问题描述

mate-indicators进程内存泄露

现象:

mate-indicators进程在图形化界面运行过程中出现内存泄露,导致内存使用率过高(如top命令显示超过80%)。

原因:

程序运行时申请的内存未得到释放。mate-indicators进程为图形化界面相关进程,程序运行过程会触发内存泄露,申请的内存未得到释放。如下图,top命令显示mate-indicators进程内存使用率较高(超过80%)。

安全漏洞:mate-indicators

版本受影响:低于 20150918kord0ukui58-10.p07mate-indicators软件包版本低于20150918kord0ukui58-10.p07

3.2.1.2 解决方案

(1)检查软件包版本

# rpm -qa | grep mate-indicators

优化后的文字:

体验 Mate 指标套件,全面洞悉您的 Android 设备。该套件提供深入的系统信息和性能监控,助力您优化设备性能,提升用户体验。4

该版本存在内存泄露问题,一般建议升级至最新稳定版本。

(2)升级补丁

通过yum源或rpm包方式进行软件包升级,如

# rpm -Uvh mate-indicators*

升级后检查版本信息

# rpm -qa | grep mate-indicators

解锁最新 mate-indicators,版本 20150918kord0ukui58-10.p07.ky10.aarch64,专为您设备优化!

(3)重新加载配置

# systemctl restart lightdm

mate-indicators补丁升级完成,内存泄露问题修复。其他补丁修复操作类似,详情请咨询官方技术支持。补丁升级完成,其他内存泄露补丁修复操作大同小异,以实际为准。

3.2.2 rpm进程出现CPU冲高3.2.2.1 问题描述

现象:rpm进程持续运行不退出且cpu占用接近100%。

影响范围:libdb软件包版本低于5.3.28-37.p01.ky10

3.2.2.2 解决方案

通过yum源或rpm包方式进行软件包升级,如:

# rpm -Uvh libdb*

增强数据库性能与安全性

优化您的数据库,以获得无与伦比的性能和安全性:

* libdb-help-5.3.28-37.p01.ky10.noarch.rpm:文档和帮助文件,用于了解 libdb 库。

* libdb-devel-5.3.28-37.p01.ky10.x86_64.rpm:用于开发基于 libdb 的应用程序所需的头文件和库。

* libdb-5.3.28-37.p01.ky10.x86_64.rpm:核心 Berkeley DB 库,提供可靠的数据库管理。

这些软件包可帮助您:

* 提升数据库性能和可扩展性

* 改善数据完整性和安全性

* 轻松开发基于数据库的应用程序

升级您的系统,立即体验这些优势!3个软件包:libdb-help -5.3.28-37.p01.ky10.noarch.rpm、libdb-devel-5.3.28-37.p01.ky10.x86_64.rpm、libdb-5.3.28-37.p01.ky10.x86_64.rpm。

3.2.3 rpmdb出现损坏3.2.3.1 问题描述

RPM 定时机制的每日软件包更新可能导致中断,并有 30% 的几率损坏 RPM 数据库,从而影响系统稳定性和可用性。rpm定时机制会每天自动刷新软件包清单,刷新过程会引入异常中断风险,造成rpmdb损坏。

影响范围:查看当前版本,rpm版本非p01,需要修复

# rpm -qa|grep -E '^rpm'

3.2.3.2 解决方案

提升软件版本,易如反掌!

将软件包下载至指定目录,例如 rpm-4.15.1-23.p01.ky10.aarch64.rpm 和 python3-rpm-4.15.1-23.p01.ky10.aarch64.rpm。进入目录后,即可轻松升级您的软件,提升系统性能。1)将软件包(rpm-4.15.1-23.p01.ky10.aarch64.rpm、python3-rpm-4.15.1-23.p01.ky10.aarch64.rpm)统一放在指定目录下,进入该目录后,进行软件包升级:

# yum localinstall ./*.rpm

(2)禁用dnf-makecache.timer定时器

# systemctl stop dnf-makecache.timer

# systemctl disable dnf-makecache.timer

3.2.4 其他漏洞问题

探索麒麟软件知识库,获取漏洞问题的全面解答。

涵盖两大知识库:

* 浙江公开知识库

* 麒麟软件公开知识库

汇聚丰富的漏洞问题知识,助您轻松解决相关难题。https://www.yuque.com/kylinos/zj)和麒麟软件公开知识库(http://wx.kylinos.cn/zsk)。

3.3 操作系统特性

在日常使用中,麒麟 V10 系统与红帽系统差异不大。然而,为了确保系统稳定运行,建议提前了解麒麟 V10 的特定特性,包括可能影响系统运行的特性,并在运维实施前制定应对计划。V10系统与红帽系统在日常使用上差异不大,但麒麟V10也存在一些特性,这些特性可能会影响系统运行,建议在运维实施前及早规划,提前做好应对。

3.3.1 9090端口被占用3.3.1.1 现象

查看端口使用情况,发现9090端口被占用。

# netstat -antp |grep 9090

3.3.1.2 原因

9090端口被Cockpit服务占用,Cockpit是一个强大的开源工具,提供基于Web界面的Linux系统管理。它支持文件管理、系统日志查看、用户管理、服务控制、网络配置和安全审计等功能,简化了Linux系统管理任务。端口被Cockpit服务占用,Cockpit是一个按照Web界面进行管理Linux系统的开源工具。它提供了许多管理Linux系统所需的功能,如文件管理、系统日志查看、用户管理、系统服务管理、网络配置、安全审计等功能。

3.3.1.3 解决方案

禁用服务,释放端口。

检查 Cockpit 服务状态:

```

# systemctl status cockpit.socket

```1)查看Cockpit服务:# systemctl status cockpit.socket

2)关闭Cockpit服务:# systemctl stop cockpit.socket

禁用 Cockpit 服务,可有效提升服务器安全性。只需执行命令 `systemctl disable cockpit.socket`,即可关闭该服务,阻止潜在攻击者通过该服务获取服务器访问权限。3)禁用Cockpit服务:# systemctl disable cockpit.socket

(4)查看端口占用情况:# netstat -antp |grep 9090

3.3.2 系统重启后/tmp目录被清空3.3.2.1 现象

/tmp 目录用于存储临时文件,重启后文件会被清除。这是由于该目录使用 tmpfs 文件系统类型,一种内存文件系统,不保留数据。目录下存放临时文件,当系统重启后,文件丢失。查看/tmp目录文件系统类型,发现为tmpfs类型。

# df -Th|grep /tmp

3.3.2.2 原因

/tmp 目录是基于内存的临时文件系统 (tmpfs),它在内存中存储数据。这会导致数据在系统重启后丢失,因为内存内容在关机时会清除。目录是tmpfs文件系统类型,而tmpfs是一种基于内存的文件系统,也叫临时文件系统。/tmp目录存放文件会占用内存空间,消耗内存资源,即在内存中存储数据,所以系统重启后会导致数据丢失。

快速读写访问临时文件

tmp.mount 系统单元自动挂载 tmpfs 文件系统到 /tmp 目录,提供快速读写访问。该单元在系统启动时启动,消除了对临时文件缓慢磁盘访问的需要。tmp.mount是一个systemd单元,它是用来挂载临时文件系统的。tmp.mount服务会在系统引导时自动运行,并将tmpfs文件系统挂载到/tmp目录下,以便在使用临时文件时提供快速的读写访问。

3.3.2.3 优化建议(二选一)

(1)禁用tmp.mount服务,将/tmp恢复至/目录下

# systemctl mask tmp.mount

重启后生效:

巧妙运用 LVM 技术,将/tmp 目录扩展至独立逻辑卷中。

通过创建和挂载独立逻辑卷,将/tmp 目录与操作系统其余部分隔离,确保临时文件的安全性和速度提升。2)不禁用tmp.mount服务,给操作系统加盘,创建一个独立逻辑卷,挂载在/tmp目录下,设置成挂载独立文件系统,并加入/etc/fstab配置中。(使用LVM技术,此处不细说)

3.3.3 普通用户无法执行crontab命令3.3.3.1 现象

普通用户执行crontab报错,显示没有权限执行。

# crontab -e

3.3.3.2 原因

为保障系统安全,麒麟V10实施了严格的crontab访问管控措施,仅允许root用户和经授权的非root用户执行crontab命令。这些授权用户名单记录在/etc/cron.allow文件中。此举有效防止了crontab被恶意利用,确保系统免受安全威胁。命令允许用户定期执行时间命令,如果该命令被恶意使用,可能会导致严重的安全问题,所以麒麟V10默认设置了安全策略,只允许root用户和添加到/etc/cron.allow文件中的非root用户执行该命令。

3.3.3.3 解决方案(二选一)

(1)临时添加白名单

为启用计划任务,请编辑`/etc/cron.allow`文件,添加授权用户。若文件不存在,请创建并添加授权用户。例如,授权“monitor”用户:

`/etc/cron.allow`

```

monitor

```文件中添加需要执行crontab的用户,如monitor用户,没有此文件则创建。

不再报错:

(2)删除白名单,创建黑名单(放开所有用户)

# rm -f /etc/cron.allow

# touch /etc/cron.deny

3.3.4 root用户不能直接su到普通用户3.3.4.1 现象

root用户su到普通用户提示需要输入密码。

3.3.4.2 原因

麒麟V10安全增强:

采用安全管理工具kysec,为三权分立用户预留专用UID:600和700。当root用户切换至这些UID时,需输入密码,提升系统安全性。V10引入了安全管理工具kysec,uid(600)和uid(700)作为kysec特性,为三权分立用户预留,故root用户su到该uid用户时提示输入密码。

三权分立模型确保安全管理员(secadm)、审计管理员(auditadm)和系统管理员(root)职责分离。

secadm负责管理安全策略、访问控制和用户权限,确保系统安全。

auditadm负责监控和审查系统活动,识别并报告安全威胁。

root拥有最高权限,负责管理系统配置、软件安装和用户帐户维护。这种分离有助于防止权力集中,增强系统安全性。secadm安全管理员、auditadm审计管理员、root系统管理员。

3.3.4.3 解决方案

调整su操作的用户密码验证策略。

(1)编辑配置文件/etc/pam.d/su

# vi /etc/pam.d/su

将/etc/pam.d/su文件的第一行注释掉,即第一行内容调整如下:

(2)测试是否生效

# su - test

3.3.5 开启内核参数tcp_tw_recycle报错3.3.5.1 现象

启用 TCP 回收以优化网络性能

通过在 /etc/sysctl.conf 配置文件中添加以下参数,并执行命令即可启用 TCP 回收:

- net.ipv4.tcp_tw_recycle=1

此优化可释放系统资源,改善网络性能。“net.ipv4.tcp_tw_recycle=1”添加到配置文件/etc/sysctl.conf,并执行命令开启:

# sysctl -p

报错如下:

3.3.5.2 原因

内核 4.10 引入时间戳生成机制变更,影响 tcp_tw_recycle 参数功能。为解决异常,内核 4.12 已移除该参数。4.10开始,针对每个数据包的时间戳的生成机制发生了变化(每个TCP连接的时间戳偏移被随机化),可能会与tcp_tw_recycle参数相互影响,导致TCP连接异常,因此在内核版本4.12中,tcp_tw_recycle参数被彻底去除。

注:麒麟V10SP1采用4.19内核版本,无需处理。

3.4 操作系统激活

麒麟V10激活方式对比

麒麟V10提供微信扫码激活和KMS批量激活两种激活方式。

微信扫码激活

* 方便快捷,适合个人使用或小型企业。

* 扫码后输入激活码即可激活。

KMS批量激活

* 批量激活,适用于大中型企业或组织。

* 需要建立KMS服务器并分配激活令牌。

两种激活方式均可高效激活麒麟V10,满足不同需求的用户。V10的激活方式分为微信扫码激活、KMS批量激活和场地授权。其中场地授权方式不涉及激活操作,这里仅讨论微信扫码激活和KMS批量激活的流程差异。

3.4.1 激活流程

绑定授权账号,扫码激活授权:

1. 授权绑定

关注指定微信账号,扫码获取授权二维码。

2. 系统处理

扫码后,系统导入授权文件,执行命令输出二维码。

3. 扫码激活

扫码二维码即可开始激活。

4. 完成激活

完成扫码激活后,授权完成。——系统导入授权文件——系统执行命令输出二维码——扫码二维码开始激活——完成激活。

轻松激活Windows批量授权!无需复杂操作,只需4步:

1. 搭建KMS服务器

2. 导入授权文件

3. 执行激活命令

4. 激活完成!批量激活:搭建KMS批量授权服务器——系统导入授权文件——系统执行命令激活——完成激活。

3.4.2 差异及建议

激活方式不同,影响显著:

KMS批量激活:

* 精简管理,无需逐机操作

* 耗时持久,可能受网络影响

微信扫码激活:

* 逐机管理,操作更细致

* 灵活便捷,激活耗时短KMS批量激活的流程步骤差别不大,但实际使用差别较大,主要体现在许可管理和激活耗时上。

许可管理简化

激活许可后,回收方式根据激活方式而定:

* 微信方式:联系原厂释放授权许可,以重新使用。

* KMS方式:一键回收,简单快捷。KMS方式激活许可后,可通过KMS一键回收。

优化后的文字:

通过微信人工激活耗时较长,尤其在大批量激活时。部署 KMS 服务器后,可大幅减轻工作量。但目前 KMS 激活仍需手动操作,建议待批量激活服务器部署完成后,借助脚本或平台实现自动化。KMS方式待搭建完成KMS服务器,则大大减轻工作量,但自动化程度有待提高,建议在kms批量激活服务器搭建完成后,再通过脚本或平台实现自动化批量激活。

麒麟V10不激活不影响系统运行,但商业版软件建议根据正版化要求进行激活使用。

四、总结

国产化操作系统生态链的构建至关重要,而完善的软硬件生态是企业选择成熟操作系统的关键。麒麟V10已构建生态链并适配常用软件,但仍需完善。生态链成长需要企业反馈和优化。信创浪潮下,从业者应积累技术,做好准备,从容应对挑战。“必经之路”,而完善的软硬件生态链更是企业引进一款成熟的操作系统所需要考虑的重点之一。

麒麟V10已经构建了自己的生态链,其与常用软件兼容性适配上已较为靠前,但依然存在不少问题,而生态链的不断成熟完善离不开企业实际运维及业务场景的问题反馈和方案优化。在这场信创浪潮中,我们从业人员要做的是积累技术,做好准备,尽可能做到遇事不慌,心里有底。

-对此,您有什么看法见解?-

-欢迎在评论区留言探讨和分享。-

0 阅读:6

薪科技快评

简介:薪科技评说,发现技术的点滴,记录科学的飞跃!