当前位置: 首页 > news >正文

银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载

银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载

      • 一 系统环境
          • 1.1 系统版本信息
          • 1.2 通过镜像安装的过程中选择设备类型选择的是lvm简单模式
      • 二 问题描述
      • 三 问题修复过程
          • 3.1 挂载ISO镜像,引导到字符终端界面
          • 3.2 修复逻辑卷并挂载测试
            • (1)激活系统盘中的逻辑卷
            • (2)查看激活的逻辑卷
            • (3)修复root逻辑卷
            • (4)创建临时挂载点
            • (5)挂载测试
            • (6)查看挂载情况
            • (7)修改硬盘为第一引导项,重启正常进入系统
      • 四 问题排查
          • 4.1 使用vgs lvs查看逻辑卷状态
          • 4.2 使用df查看分区使用
          • 4.3 使用lsblk查看分区情况
          • 4.4 根据查询情况总结
      • 五 具体结论
      • 六 LVM精简池和精简卷的概念
          • 6.1 LVM精简配置介绍
          • 6.2 精简池概念
          • 6.3 精简池作用
          • 6.4 精简卷概念
      • 七 后续建议

一 系统环境

1.1 系统版本信息
[root@localhost ~]# nkvers 
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Lance)Kernel:
4.19.90-52.22.v2207.ky10.x86_64Build:
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build23/20230324
#################################################
1.2 通过镜像安装的过程中选择设备类型选择的是lvm简单模式

在这里插入图片描述

二 问题描述

(1)业务组在上传数据(18G)之后,进行系统重启,无法正常进入系统,系统的根分区开机无法自动挂载,到Control-D界面(由于是根分区挂载不上,所以在此界面输入root密码也无法正常验证)
(2)在修复完成之后,正常进入系统。业务组再次上传数据(18G)之后,重启系统发现又出现开始的问题。
#机器在之前做过/分区扩容的操作,使用lvextend扩容的klas-root这个卷,扩容了200G

在这里插入图片描述

三 问题修复过程

3.1 挂载ISO镜像,引导到字符终端界面

挂载系统的iso镜像文件,将虚拟机第一引导模式更改为cdrom,从光盘进行引导。引导,选择“Install Kylin Linux Advanced Server V10”(如下图1所示)。到语言选择界面(如下图2所示),按ctrl+alt+f2组合键到字符界面(如下图3所示)。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3.2 修复逻辑卷并挂载测试
(1)激活系统盘中的逻辑卷
vgchange -ay
(2)查看激活的逻辑卷
lvs
(3)修复root逻辑卷
xfs_repair -L /dev/klas/root
(4)创建临时挂载点
mkdir a/
(5)挂载测试
mount /dev/klas/root a/
(6)查看挂载情况
df -h
(7)修改硬盘为第一引导项,重启正常进入系统

在这里插入图片描述
在这里插入图片描述

四 问题排查

在修复完成之后,进入系统。业务组再次上传数据(18G)之后,重启系统发现又出现开始的问题

4.1 使用vgs lvs查看逻辑卷状态
[root@localhost ~]# vgsVG   #PV #LV #SN Attr   VSize   VFree klas   2   3   0 wz--n- 297.99g <219.60g
[root@localhost ~]# lvsLV     VG   Attr       LSize   Pool   Origin Data%  Meta%  Move Log Cpy%Sync Convertpool00 klas twi-aotz-- <62.32g               100.00 97.11                           root   klas Vwi-aotz-- 281.92g pool00        22.11                                  swap   klas -wi-ao----  16.00g                                  
4.2 使用df查看分区使用
[root@localhost log]# df -h
Filesystem              size Used Avail Use% Mounted on
devtmpfs                7.2G    0  7.2G   0% /dev
tmpfs                   7.3G  20K  7.3G   1% /dev/shm
tmpfs                   7.3G 9.3M  7.2G   1% /run
tmpfs                   7.3G    0  7.3G   0% /sys/fs/cgroup
/dev/mapper/klas-root   282G  64G  219G  23% /
tmpfs                   7.3G 340K  7.3G  18  /tmp
/dev/sda1               2.0G 187M  1.9G  10% /boot
tmpfs                   1.5G  52K  1.5G  18% /run/user/0 
/dev/sr0                4.1G 4.1G  0    100% /run/media/root/Kylin-Server-10
4.3 使用lsblk查看分区情况
[root@localhost ~]# lsblk
NAME                    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                       8:0    0   100G  0 disk 
├─sda1                    8:2    0     2G  0 part /boot
└─sda2                    8:3    0    98G  0 part ├─klas-pool00_tmeta   253:0    0    36M  0 lvm  │ └─klas-pool00-tpool 253:2    0  62.3G  0 lvm  │   ├─klas-root       253:3    0 281.9G  0 lvm  /│   └─klas-pool00     253:5    0  62.3G  1 lvm  └─klas-pool00_tdata   253:1    0  62.3G  0 lvm  │ └─klas-pool00-tpool 253:2    0  62.3G  0 lvm  │   ├─klas-root       253:3    0 281.9G  0 lvm  /│   └─klas-pool00     253:5    0  62.3G  1 lvm  ├─klas-swap           253:4    0    16G  0 lvm  [SWAP]
sr0                      11:0    1   4.3G  0 rom  /run/media/root/Kylin-Server-10
4.4 根据查询情况总结

(1)vgs,lvs发现在vg卷组中创建了一个精简池,在精简池中创建了一个精简卷。并非采用在vg卷组中创建lv逻辑卷的方式去管理。
(2)lvs显示pool00这个精简池的Data%数值为100.00%,Meta%数值为97.11%
(2)df -h查看/分区实际200多GB,可用空间还有70%多。
(3)在排查过程中使用dmesg命令发现dm-3设备一直有磁盘I/O error相关的报错。

五 具体结论

1、系统在安装的时候,设备类型选择了lvm简单配置,导致系统在安装过程中创建了精简池和精简卷(实际使用者不知道创建了精简卷)。
2、按照传统的扩容方式去对跟分区进行扩容,也就是使用lvextend命令对klas-root这个精简卷去操作,df -h查看确实是扩容成功了。
3、导致出现的情况是:精简池的大小为 63GB左右,精简池下边精简卷(klas-root)的精简卷大小为 281GB。由于精简卷是由精简池管理,所以给klas-root卷扩容的200多GB空间虽然扩容成功了,但是无法使用。
4、系统跟分区63GB,已经使用了55GB,在传输18GB数据的过程中,把根分区写满了,导致根分区出现异常。重启无法过程中无法正常挂载。
5、正常来说的话应该是要扩容精简池(pool00),而不是卷(klas-root)。

六 LVM精简池和精简卷的概念

6.1 LVM精简配置介绍

精简配置(Thin Provisioning)指分配的资源量超过实际的物理资源量,类似于现实社会中的“超售”概念。

LVM的精简配置中有两个要素,分别是精简池和精简卷。

6.2 精简池概念

精简池是一个特殊的普通LV,在它建立时会立即从VG中分配空间,与正常的LV没有什么不同;但是这个LV不能被创建文件系统直接使用,而是处于一种特殊的格式,包含数据和元数据两个部分。

6.3 精简池作用

是为精简卷提供空间,而精简卷本身不能从VG中直接获取空间

6.4 精简卷概念

精简卷和普通卷的根本差异,在于其创建时,并不从VG中真的分配空间,而是虚拟的分配空间,当进行写入时,则会写入到对应的精简池中。

需要注意的是,虽然精简池可以实现自动扩展,但是VG并不能自动扩展,因为PV提供的空间是有限的。在使用精简配置时,需要注意VG的剩余量,对于大型的生产环境,必须使用服务器监控工具进行监视,来避免资源耗尽无法写入的情况。

七 后续建议

(1)创建新的虚拟机模板,删除旧的。并且在安装的时候设备类型选择lvm模式而不是lvm简单模式。
(2)现有的虚拟机不要将扩容的200GB进行缩容,可能会出现未知问题导致根分区无法修复。
(3)如果现有机器还需要使用的话,添加磁盘,扩容精简池(pool00)的空间,而不是卷(klas-root)。

相关文章:

银河麒麟系统安装设备类型选择lvm简单模式之后,数据写入导致失败导致系统重启无法正常加载

银河麒麟系统安装设备类型选择lvm简单模式之后&#xff0c;数据写入导致失败导致系统重启无法正常加载 一 系统环境1.1 系统版本信息1.2 通过镜像安装的过程中选择设备类型选择的是lvm简单模式 二 问题描述三 问题修复过程3.1 挂载ISO镜像&#xff0c;引导到字符终端界面3.2 修…...

Mybatis-核心配置文件 / Mybatis增删改查

1. 核心配置文件 1.1. 概述 核心配置文件是MyBatis框架中用于集中定义全局配置信息的XML文件&#xff0c;其内部包含了一系列预设标签&#xff0c;用于设置数据库连接、对象映射、类型处理等关键参数。这些标签遵循特定的排列顺序&#xff0c;尽管并非所有标签都是强制性的&a…...

Nginx(面试)

NGINX 速记问答 Q 什么是Nginx&#xff1f;它的主要特点是什么&#xff1f; A Nginx是一个高性能的开源Web服务器和反向代理服务器。它以高并发、低内存消耗和高稳定性著称。 Q Nginx与Apache Web服务器有什么区别&#xff1f; A Nginx与Apache相比&#xff0c;更适用于处…...

net::ERR_SSL_PROTOCOL_ERROR

小程序 发起网络请求 解决&#xff1a; 如果还没有申请SSL证书&#xff0c;那就直接把https请求改为http 测试可以用 上线不推荐...

BaseDao封装增删改查(超详解)

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍对数据库中表中的数据进行增改删查询&#xff0c;封装一个工具类&#xff08;BaseDao&#xff09;的详细使用以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &…...

【Python操作基础】——元组

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…...

光伏投融资该如何计算?

光伏投融资是光伏产业发展过程中的重要环节&#xff0c;其计算涉及到多个方面&#xff0c;包括项目规模、预期收益、成本分析、风险评估等。合理的投融资计算能够为光伏项目的实施提供资金保障&#xff0c;同时也能够降低投资风险&#xff0c;提高项目的经济效益。 首先&#x…...

【更新中】Leetcode中遇到的最短路径算法

dijsktra算法模板&#xff1a; def dijkstra(x):#x表示出发点dis[inf]*n #dis记录从x出发到各个点的最短距离&#xff0c;初始化为infdis[x]0 #源点到自己的距离为0vis[False]*n #检查各个点是否访问过for _ in range(n-1): #检查除了源点的其他n-1个点&#xff0c;更新dis…...

Git学习笔记之基础

本笔记是阅读《git pro》所写&#xff0c;仅供参考。 《git pro》网址https://git-scm.com/book/en/v2 git官网 https://git-scm.com/ 一、git起步 1.1、检查配置信息 git config --list查看所有的配置以及它们所在的文件 git config --list --show-origin可能有重复的变量名…...

STCubeIDE 编译bootloader

头文件重复引用解决办法。 参考&#xff1a;STM32CubeIDE IAP原理讲解&#xff0c;及UART双APP交替升级IAP实现-CSDN博客 移植到Air32时&#xff0c;RAM的大小(无论boot程序还是app 程序) 尽量不动&#xff0c;如果动了会影响最终的 APP 跳转 flash 大小可以随意修改&#xf…...

Python学习:函数

函数定义 在Python中&#xff0c;函数&#xff08;Function&#xff09;是一组用于完成特定任务或计算的语句块。定义函数可以让我们将一段代码重用多次&#xff0c;提高代码的可读性和可维护性。以下是定义函数的基本语法和结构&#xff1a; def function_name(parameters):&…...

docker run 使用 -p 命令一直显示端口被占用

解决办法 将 -p 换成 --net host 例如: docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /root/oneapi/data:/data justsong/one-api # 换成 docker run --name one-api -d --restart always --net...

Rust 实战练习 - 1. 输入,输出,环境变量,字符,字符串

目标&#xff1a; 获取程序命令行参数标准输入输出获取环境变量字符串&#xff0c;字符初步学习 cargo传递参数&#xff0c;需要加上-- use std::{env, ffi::OsString, io, io::Write};fn main() {println!("OS Env: {:?} > {:?}", env::current_dir().unwra…...

RuoYi-Vue-Plus(登录流程)

一、前端登录请求 登录按钮: src\views\login.vue 页面中登录片段,调用了handleLogin 方法,如下: @click.native.prevent="handleLogin" <el-button:loading="loading"size="medium"type="primary"style="width:100%;&qu…...

【数学】 【分数】 【字符串】972. 相等的有理数

本文涉及知识点 数学 分数 字符串 LeetCode972. 相等的有理数 给定两个字符串 s 和 t &#xff0c;每个字符串代表一个非负有理数&#xff0c;只有当它们表示相同的数字时才返回 true 。字符串中可以使用括号来表示有理数的重复部分。 有理数 最多可以用三个部分来表示&…...

【4】DongshanPI-Seven 应用开发_文件IO

目录 1.文件IO1.1 文件IO分类1.2 查看系统调用IO用法 2. open 函数3. write 函数4. read 函数5 dup函数 1.文件IO 1.1 文件IO分类 在Linux系统中&#xff0c;一切都是“文件”&#xff1a;普通文件、驱动程序、网络通信等。所有的操作都是通过文件IO来操作的。 在Linux操作文…...

SEO 的未来:GPT 和 AI 如何改变关键词研究

谷歌Gemini与百度文心一言&#xff1a;AI训练数据的较量 介绍 想象一下&#xff0c;有一个工具不仅可以理解错综复杂的关键字网络&#xff0c;还可以预测搜索引擎查询的变化趋势。 这就是生成式预训练 Transformer (GPT) 和其他人工智能技术发挥作用的地方&#xff0c;以我们从…...

面试八股文之JAVA基础

JAVA基础 DNS、CDN&#xff1f;如何实现对象克隆?父子类静态代码块, 非静态代码块, 构造方法执行顺序?String s new String("abc") 创建了几个对象, 分别放到哪里?OSI网络模型七层&#xff1f;应用层协议&#xff1f;http协议和https协议区别&#xff1f;传输层协…...

网络连接中——长连接和短连接详解

一、TCP功能 TCP在真正开始进行数据传输之前,Server 和 Client 之间必须建立一个连接。当数据传输完成后,双方不再需要这个连接时,就可以释放这个连接。 TCP连接的建立是通过三次握手,而连接的释放是通过四次挥手。所以说,每个TCP连接的建立和释放都是需要消耗资源和时间…...

PEReDi 完全隐私的央行数字货币方案

第一个对完全隐私保护建模的方案&#xff0c;基于账户模型&#xff0c;要求交易双方都在线。 角色分类 中央银行 B B B&#xff1a;负责发行数字货币和货币政策&#xff0c;但不控制用户账户的状态&#xff0c;没有能力对交易的发送者或接收者进行去匿名化或披露与特定交易相…...

RimSort:重新定义RimWorld模组管理的智能工具

RimSort&#xff1a;重新定义RimWorld模组管理的智能工具 【免费下载链接】RimSort 项目地址: https://gitcode.com/gh_mirrors/ri/RimSort 当你花费数小时手动调整上百个RimWorld模组的加载顺序&#xff0c;却依然遭遇游戏崩溃时&#xff1b;当你在多个平台间切换下载…...

嵌入式系统模块化设计:内聚与耦合实战指南

1. 嵌入式模块设计的核心原则在嵌入式系统开发中&#xff0c;模块化设计质量直接影响着整个系统的生命周期成本。我经历过多个嵌入式项目后发现&#xff0c;那些后期维护成本高昂的系统&#xff0c;往往都存在模块边界模糊、依赖混乱的问题。模块化不是简单的代码分割&#xff…...

计算机毕业设计springboot智能汽车租赁系统 基于SpringBoot的智慧出行车辆共享服务平台设计与实现 SpringBoot框架下城市智能租车与车辆调度管理系统开发

计算机毕业设计springboot智能汽车租赁系统 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着城市化进程加速推进和共享经济模式蓬勃发展&#xff0c;传统汽车租赁行业面临运营…...

罗技鼠标宏压枪脚本:绝地求生精准射击的终极解决方案

罗技鼠标宏压枪脚本&#xff1a;绝地求生精准射击的终极解决方案 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中的后坐力控…...

开源AI新选择:Ollama部署Llama-3.2-3B,性能实测与体验

开源AI新选择&#xff1a;Ollama部署Llama-3.2-3B&#xff0c;性能实测与体验 1. 模型介绍与技术背景 1.1 Llama-3.2-3B模型概述 Llama-3.2-3B是Meta公司推出的开源大型语言模型系列中的一员&#xff0c;作为3B参数规模的版本&#xff0c;它在保持轻量级的同时提供了出色的文…...

FoldingNet实战:用Python复现CVPR‘18点云自编码器(附PyTorch代码)

FoldingNet实战&#xff1a;从理论到PyTorch实现的全流程拆解 在三维视觉领域&#xff0c;点云数据处理一直是计算机视觉研究的核心挑战之一。2018年CVPR会议上提出的FoldingNet&#xff0c;以其独特的"纸张折叠"思想为点云自编码器设计开辟了新路径。不同于传统方法…...

LumiPixel Canvas Quest提示词反推(Interrogator)工具使用教程

LumiPixel Canvas Quest提示词反推&#xff08;Interrogator&#xff09;工具使用教程 1. 引言&#xff1a;为什么需要提示词反推工具 如果你经常使用AI绘画工具&#xff0c;一定遇到过这样的困扰&#xff1a;看到一张惊艳的作品&#xff0c;却不知道作者用了什么提示词。或者…...

UE5模型加载避坑指南:为什么你的Runtime OBJ导入总是丢失材质?

UE5运行时OBJ材质丢失终极解决方案&#xff1a;从原理到工具函数全解析 当你在UE5中动态加载OBJ模型时&#xff0c;是否遇到过这样的场景&#xff1a;模型虽然成功加载&#xff0c;但所有材质都变成了难看的粉色默认材质&#xff1f;这可能是技术美术和程序化生成领域最常见的痛…...

Microstation v8与Terrasolid插件安装全攻略:从零到精通

1. MicroStation v8安装前的准备工作 在开始安装MicroStation v8之前&#xff0c;我们需要做好充分的准备工作。首先确保你的电脑满足最低系统要求&#xff1a;Windows 7/8/10操作系统&#xff08;32位或64位均可&#xff09;、至少4GB内存、2GB可用磁盘空间。我建议使用独立显…...

MATLAB与Zemax交互扩展:从API连接到自动化光学设计

1. MATLAB与Zemax交互扩展的核心价值 光学设计工程师们经常面临一个痛点&#xff1a;在Zemax OpticStudio中完成初步设计后&#xff0c;需要进行大量重复性的参数调整和优化。传统的手动操作不仅效率低下&#xff0c;还容易出错。这就是MATLAB与Zemax交互扩展功能的价值所在——…...