CS_Shrek 2024-04-02 15:42 采纳率: 14.3%
浏览 85
已结题

lsblk: dm-0: failed to get dm name

问题1:lsblk报错:报错如下

[root@test ~]# lsblk
lsblk: dm-0: failed to get dm name
lsblk: dm-1: failed to get dm name
lsblk: dm-2: failed to get dm name
lsblk: dm-2: failed to get dm name
lsblk: dm-2: failed to get dm name
lsblk: dm-0: failed to get dm name
lsblk: dm-1: failed to get dm name
lsblk: dm-2: failed to get dm name
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0       7.3T  0 disk 
|-sda1   8:1       200M  0 part /boot/efi
|-sda2   8:2         1G  0 part /boot
`-sda3   8:3       7.3T  0 part 
sdb      8:16      7.3T  0 disk 
sdc      8:32      7.3T  0 disk

# lvs查看
[root@test ~]# lvs
  /proc/devices: No entry for device-mapper found
  Failed to set up list of device-mapper major numbers
  Incompatible libdevmapper 1.02.170-RHEL7 (2020-03-24) and kernel driver (unknown version).
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos -wi-XX---- <21.78t                                                    
  root centos -wi-XX----  50.00g                                                    
  swap centos -wi-XX----   4.00g

问题2:yum无法使用,报错
[root@test ~]# yum
Failed to set locale, defaulting to C
CRITICAL:yum.cli:Config error: Error accessing file for config file:///etc/yum.conf


操作系统是:centos-7.9,生产环境,服务器还在使用,无法重启,

  • 写回答

15条回答 默认 最新

  • 阿里嘎多学长 2024-04-02 15:43
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    问题1:lsblk 报错与设备映射器(device mapper)相关

    这个错误通常表明你的系统中的设备映射器(Device Mapper)没有正确工作,可能是因为内核模块与用户空间的libdevmapper库不兼容。从lvs命令的输出来看,你也看到了类似的问题:

    Incompatible libdevmapper 1.02.170-RHEL7 (2020-03-24) and kernel driver (unknown version).
    

    尝试以下步骤来解决这个问题:

    1. 更新libdevmapper: 确保你的系统是最新的,运行 yum update 或者 yum upgrade,尽管你提到yum有问题,但也许可以先试试看。

    2. 手动升级libdevmapper: 如果yum更新不起作用,你可以尝试手动下载并安装更新的libdevmapper。这可能需要从RPMForge或EPEL存储库获取,或者直接从Red Hat的更新源下载。

    3. 检查内核模块: 检查内核模块是否加载了device mapper驱动:

      lsmod | grep dm
      

      如果没有加载,你需要手动加载它:

      modprobe dm_mod
      
    4. 重启相关服务: 重启udev服务以应用更改:

      systemctl restart udev
      
    5. 如果以上步骤无效,你可能需要升级你的内核到一个与libdevmapper库兼容的版本。但这在生产环境中要谨慎操作,因为它涉及重启服务器。

    问题2:yum无法使用

    这个问题看起来是由于配置文件无法访问导致的。检查 /etc/yum.conf 是否存在并且可读:

    ls -l /etc/yum.conf
    

    如果文件不存在或者权限问题,尝试恢复默认配置,或者手动创建一个基本的yum.conf文件:

    cat <<EOF > /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=0
    debuglevel=2
    logfile=/var/log/yum.log
    exactarch=1
    obsoletes=1
    gpgcheck=1
    plugins=1
    installonly_limit=3
    EOF
    

    然后再次尝试yum命令。

    如果问题依然存在,可能是系统中其他问题导致的,如SELinux策略或系统权限问题。检查是否有相关的错误日志,例如 /var/log/messages,并考虑临时关闭SELinux以排除它作为问题来源:

    setenforce 0
    

    请注意,这些操作是在生产环境中进行的,因此每一步都需要谨慎,确保不会影响到现有服务。如果可能,最好在非关键时段进行,并确保有备份或恢复计划。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月3日
  • 创建了问题 4月2日