【银河麒麟高级服务器操作系统】修改容器中journal服务日志存储位置无效—分析及解决方案

了解更多银河麒麟操作系统全新产品,请点击访问

麒麟软件产品专区:https://product.kylinos.cn

开发者专区:https://developer.kylinos.cn

文档中心:https://documentkylinos.cn


服务器环境以及配置

【机型】

整机类型/架构:

HygonGenuine x86

【内核版本】

4.19.90-17.ky10.x86_64

【OS镜像版本】

银河麒麟高级服务器操作系统 Kylin-Server-10-SP1-x86-Release-Build04-20200711.iso

【nkvers 命令输出】

############## Kylin Linux Version #################

Release:

Kylin Linux Advanced Server release V10 (Tercel)

Kernel:

4.19.90-17.ky10.x86_64

Build:

Kylin Linux Advanced Server

release V10 (SP1) /(Tercel)-x86_64-Build04/20200711

#################################################

现象描述

systemd做init的容器中journal服务修改日志存储位置无效

现象分析

执行如下命令启动容器:

docker run -it --privileged cr.kylinos.cn/tmp/kylin-server-v10-sp1-amd64:Build20-20210518 /sbin/init

在终端上输出如下内容:

————————————————

[FAILED] Failed to start Flush Journal to Persistent Storage.

See 'systemctl status systemd-journal-flush.service' for details.

         Starting Create Volatile Files and Directories...

[  OK  ] Started Create Volatile Files and Directories.

         Starting Security Auditing Service...

         Starting Rebuild Journal Catalog...

         Starting Network Time Synchronization...

[FAILED] Failed to start Rebuild Journal Catalog.

See 'systemctl status systemd-journal-catalog-update.service' for details.

         Starting Update is Completed...

[  OK  ] Started Update is Completed.

————————————————

进入容器后分别执行命令查看细节

执行systemctl status systemd-journal-flush.service得到输出

————————————————

[root@12b4d8a0538a /]# systemctl status systemd-journal-flush.service

● systemd-journal-flush.service - Flush Journal to Persistent Storage

   Loaded: loaded (/usr/lib/systemd/system/systemd-journal-flush.service; static; vendor preset: disabled)

   Active: failed (Result: exit-code) since Wed 2024-05-08 14:04:19 CST; 33min ago

     Docs: man:systemd-journald.service(8)

           man:journald.conf(5)

  Process: 36 ExecStart=/usr/bin/journalctl --flush (code=exited, status=127)

 Main PID: 36 (code=exited, status=127)

May 08 14:04:19 12b4d8a0538a systemd[1]: Starting Flush Journal to Persistent Storage...

May 08 14:04:19 12b4d8a0538a systemd[1]: systemd-journal-flush.service: Main process exited, code=exited, status=127/n/a

May 08 14:04:19 12b4d8a0538a journalctl[36]: /usr/bin/journalctl: error while loading shared libraries: libqrencode.so.4: cannot open shared object file: No such file or directory

May 08 14:04:19 12b4d8a0538a systemd[1]: systemd-journal-flush.service: Failed with result 'exit-code'.

May 08 14:04:19 12b4d8a0538a systemd[1]: Failed to start Flush Journal to Persistent Storage.

————————————————

执行systemctl status systemd-journal-catalog-update.service得到输出

————————————————

[root@12b4d8a0538a /]# systemctl status systemd-journal-catalog-update.service

● systemd-journal-catalog-update.service - Rebuild Journal Catalog

   Loaded: loaded (/usr/lib/systemd/system/systemd-journal-catalog-update.service; static; vendor preset: disabled)

   Active: failed (Result: exit-code) since Wed 2024-05-08 14:04:20 CST; 34min ago

     Docs: man:systemd-journald.service(8)

           man:journald.conf(5)

  Process: 39 ExecStart=/usr/bin/journalctl --update-catalog (code=exited, status=127)

 Main PID: 39 (code=exited, status=127)

May 08 14:04:19 12b4d8a0538a systemd[1]: Starting Rebuild Journal Catalog...

May 08 14:04:20 12b4d8a0538a journalctl[39]: /usr/bin/journalctl: error while loading shared libraries: libqrencode.so.4: cannot open shared object file: No such file or directory

May 08 14:04:20 12b4d8a0538a systemd[1]: systemd-journal-catalog-update.service: Main process exited, code=exited, status=127/n/a

May 08 14:04:20 12b4d8a0538a systemd[1]: systemd-journal-catalog-update.service: Failed with result 'exit-code'.

May 08 14:04:20 12b4d8a0538a systemd[1]: Failed to start Rebuild Journal Catalog.

————————————————

发现均缺少libqrencode.so.4文件,经查看,该文件属于qrencode包

将该包安装后,再使用/sbin/init启动容器,并执行journal服务修改日志存储位置操作可以生效。

分析结果

镜像中缺少qrencode包,该包是journal日志服务所需要的。

解决方案

方案一

可以在原镜像基础上制作新镜像,并安装qrencode包。之后使用新镜像修改journal日志存储位置即可。经研发自测有效,修改后效果如下图:

制作新镜像的dockerfile示例

其中,COPY行目的是为了替换可用的rpm下载源

方案二

或建议使用银河麒麟的init镜像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/488837.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React 第十六节 useCallback 使用详解注意事项

useCallback 概述 1、useCallback 是在React 中多次渲染缓存函数的 Hook,返回一个函数的 memoized的值; 2、如果多次传入的依赖项不变,那么多次定义的时候,返回的值是相同的,防止频繁触发更新; 3、多应用在 父组件为函…

二十七、Tomcat专题总结与拓展

文章目录 一、Tomcat设计思路总结1、Tomcat整体架构2、Tomcat设计思路 二、Tomcat源码设计精髓三、拓展:SpringBoot整合Tomcat源码分析四、拓展:SpringBoot整合Undertow实战1、Undertow概述2、SpringBoot集成Undertow2.1、引入依赖2.2、application.prop…

[游戏开发] Unity中使用FlatBuffer

什么是FlatBuffer 官网: GitHub - google/flatbuffers: FlatBuffers: Memory Efficient Serialization LibraryFlatBuffers: Memory Efficient Serialization Library - google/flatbuffershttps://github.com/google/flatbuffers 为什么用FloatBuffer&#xff0c…

【JAVA】旅游行业中大数据的使用

一、应用场景 数据采集与整合:全面收集旅游数据,如客流量、游客满意度等,整合形成统一数据集,为后续分析提供便利。 舆情监测与分析:实时监测旅游目的地的舆情信息,运用NLP算法进行智能处理,及…

android studio创建虚拟机注意事项

emulator 启动模拟器的时候,可以用 AVD 界面,也可以用命令行启动,但命令行启 动的时候要注意,系统有两个 emulator.exe ,建议使用 emulator 目录下的那个!! 创建类型为google APIs的虚拟机可从…

全面解析租赁小程序的功能与优势

内容概要 租赁小程序正在逐渐改变人与物之间的互动方式。通过这些小程序,用户不仅可以轻松找到所需的租赁商品,还能够享受无缝的操作体验。为了给大家一个清晰的了解,下面我们将重点介绍几个核心功能。 建议:在选择租赁小程序时&…

JCR一区牛顿-拉夫逊优化算法+分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测

JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测 目录 JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院…

用二维图像渲染3D场景视频

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

每日一练:链表-重排链表

LCR 026. 重排链表 - 力扣(LeetCode) 题目要求: 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → ……

国产物联网平台(IotSharp+IoTGateway+Influxdb)快速上手

环境说明: Visual Studio 2022 CommunityIotSharp代码:https://github.com/IoTSharp/IoTSharp.gitIoTGateway版本:v2.1.1Node版本:v20.18.1Influxdb版本:v2.7.11 安装Node Node.js官网 官网下载并安装,…

每日一刷——二叉树的构建——12.12

第一题:最大二叉树 题目描述:654. 最大二叉树 - 力扣(LeetCode) 我的想法: 我感觉这个题目最开始大家都能想到的暴力做法就是遍历找到数组中的最大值,然后再遍历一遍,把在它左边的依次找到最大…

Redis篇-6--原理篇5--单线程模型

1、概述 Redis 采用单线程模型来处理客户端请求,这意味着在任意时刻只有一个命令被执行。这种设计简化了 Redis 的实现,并确保了高并发环境下的数据一致性。尽管 Redis 是单线程的,但它通过高效的内存管理和网络 I/O 操作,仍然能…

【问题记录】07 MAC电脑,使用FileZilla(SFTP)连接堡垒机不成功

项目场景: 使用MAC电脑,以子账号(非root)的形式登录,连接堡垒机CLB(传统型负载均衡),使用FileZilla(SFTP)进行FTP文件传输。 问题描述: MAC电脑…

Linux下进程替换exec系列接口

文章目录 Linux下进程替换1. c库exec函数族一、exec函数族简介二、exec函数族函数原型及参数说明三、exec函数族的工作机制四、注意事项五、示例代码 2. 系统调用execve接口一、execve接口与C库exec函数族的关系二、函数原型三、参数说明四、工作原理五、返回值六、注意事项七、…

网页爬虫技术全解析:从基础到实战

引言 在当今信息爆炸的时代,互联网上的数据量每天都在以惊人的速度增长。网页爬虫(Web Scraping),作为数据采集的重要手段之一,已经成为数据科学家、研究人员和开发者不可或缺的工具。本文将全面解析网页爬虫技术&…

设计模式:24、访问者模式

目录 0、定义 1、访问者模式的五种角色 2、访问者模式的UML类图 3、示例代码 0、定义 表示一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下,定义作用于这些元素的新操作。 1、访问者模式的五种角色 抽象元素(Element…

快速掌握Quartz.Net计划任务调度框架,轻松实现定时任务

前言 Quartz.Net是一个开源的作业调度框架,可以用于管理计划任务和定期执行。Quartz.Net提供了丰富的作业计划选项,例如精确或模糊时间表达式、日期和时间限制等。Quartz.Net采用分布式架构,允许在多个计算机上运行任务。 Quartz.Net架构设…

【C++】内存分布、new、delete、 operator new、operator delete

内存分布 在C语言和C中,程序内存被划分成六个部分: 内核空间、栈、内存映射段、堆、数据段、代码段 栈:又称堆栈,主要为非静态局部变量、函数参数、返回值等,栈的生长方向是向下生长的 内存映射段:高效的…

Quill富文本实现内容自定义格式format

在使用quill富文本编辑器时,我们输入文本会被作为类似DOM节点的数据对象存储在内部,渲染时生成相应的DOM节点。这是quill的文档模型Parchment,它提供了多种内容节点类型,如Inline \ Block \ Embed等。 quill 扩展了 Parchment 提供的的基础类…

Kael‘thas Sunstrider Ashes of Al‘ar

Kaelthas Sunstrider 凯尔萨斯逐日者 <血精灵之王> Kaelthas Sunstrider - NPC - 魔兽世界怀旧服TBC数据库_WOW2.43数据库_70级《燃烧的远征》数据库 Ashes of Alar 奥的灰烬 &#xff08;凤凰 310%速度&#xff09; Ashes of Alar - Item - 魔兽世界怀旧服TBC数据…