linux lvm uuid绑定,LVM:“找不到具有uuid的设备”但是blkid找到了UUID

2023-05-16

我有一个SLES 11.2 PPC(3.0.58-0.6.6-ppc64)系统,它失去了对其卷组的跟踪(包含数据并不重要的LV,但回来会很好).磁盘通过SAN的两条光纤路径连接.

当我在上周五计划停电之前重新启动它时,问题就出现了.我没有时间进行故障排除再次将其关闭.该卷组先前已成功使用了大约两年.

vgscan和pvscan什么都不返回:

# pvscan -vP

Partial mode. Incomplete logical volumes will be processed.

Wiping cache of LVM-capable devices

Wiping internal VG cache

Walking through all physical volumes

No matching physical volumes found

# vgscan -vP

Partial mode. Incomplete logical volumes will be processed.

Wiping cache of LVM-capable devices

Wiping internal VG cache

Reading all physical volumes. This may take a while...

Finding all volume groups

No volume groups found

vgcfgrestore报告无法找到PV:

# vgcfgrestore vgclients

Couldn't find device with uuid PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU.

Couldn't find device with uuid FXfSAO-P9hO-Dgtl-0Ihf-x2jX-TnHU-kSqUA2.

Cannot restore Volume Group vgclients with 2 PVs marked as missing.

Restore failed.

然而,blkid可以找到那些UUID:

# blkid -t UUID=PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU

/dev/mapper/3600a0b800029df24000011084db97741: UUID="PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU" TYPE="LVM2_member"

/dev/sdl: UUID="PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU" TYPE="LVM2_member"

/dev/sdw: UUID="PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU" TYPE="LVM2_member"

# blkid -t UUID=FXfSAO-P9hO-Dgtl-0Ihf-x2jX-TnHU-kSqUA2

/dev/mapper/3600a0b800029df24000017ae4f45f30b: UUID="FXfSAO-P9hO-Dgtl-0Ihf-x2jX-TnHU-kSqUA2" TYPE="LVM2_member"

/dev/sdg: UUID="FXfSAO-P9hO-Dgtl-0Ihf-x2jX-TnHU-kSqUA2" TYPE="LVM2_member"

/dev/sdr: UUID="FXfSAO-P9hO-Dgtl-0Ihf-x2jX-TnHU-kSqUA2" TYPE="LVM2_member"

/ etc / lvm / backup / vgclients具有所有正确的信息,并没有说PV缺失:

# egrep "(N1YELU|kSqUA2|dm-|ALLOC)" /etc/lvm/backup/vgclients

id = "PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU"

device = "/dev/dm-7" # Hint only

status = ["ALLOCATABLE"]

id = "FXfSAO-P9hO-Dgtl-0Ihf-x2jX-TnHU-kSqUA2"

device = "/dev/dm-12" # Hint only

status = ["ALLOCATABLE"]

我在SAN上确认了该服务器上LVM专用(和命名)的卷,并且标识符(以f30b或7741结尾)在SAN和服务器上匹配:

# multipath -ll | egrep -A5 "(f30b|7741)"

3600a0b800029df24000017ae4f45f30b dm-7 IBM,1814 FAStT

size=575G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw

|-+- policy='round-robin 0' prio=6 status=active

| `- 6:0:0:1 sdr 65:16 active ready running

`-+- policy='round-robin 0' prio=1 status=enabled

`- 5:0:0:1 sdg 8:96 active ghost running

--

3600a0b800029df24000011084db97741 dm-12 IBM,1814 FAStT

size=834G features='1 queue_if_no_path' hwhandler='1 rdac' wp=rw

|-+- policy='round-robin 0' prio=6 status=active

| `- 5:0:0:7 sdl 8:176 active ready running

`-+- policy='round-robin 0' prio=1 status=enabled

`- 6:0:0:7 sdw 65:96 active ghost running

两个设备都没有分区表(按设计):

# fdisk -l /dev/dm-7 /dev/dm-12 | grep table

Disk /dev/dm-7 doesn't contain a valid partition table

Disk /dev/dm-12 doesn't contain a valid partition table

我可以直接从设备上读取:

# dd if=/dev/dm-7 of=/tmp/a bs=1024 count=1

1+0 records in

1+0 records out

1024 bytes (1.0 kB) copied, 0.00121051 s, 846 kB/s

# strings /tmp/a

LABELONE

LVM2 001FXfSAOP9hODgtl0Ihfx2jXTnHUkSqUA2

我尝试重新启动并删除sd(r | g | l | w)和dm-(7 | 12)并重新扫描,但没有效果.

我尝试使用备份值重新创建PV,但它仍然说它找不到它们.

# pvcreate --uuid "PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU" --restorefile /etc/lvm/backup/vgclients /dev/mapper/3600a0b800029df24000011084db97741 -t

Test mode: Metadata will NOT be updated and volumes will not be (de)activated.

Couldn't find device with uuid PyKfIa-cCs9-gBoh-Qb50-yOw4-dHQw-N1YELU.

Couldn't find device with uuid FXfSAO-P9hO-Dgtl-0Ihf-x2jX-TnHU-kSqUA2.

Device /dev/mapper/3600a0b800029df24000011084db97741 not found (or ignored by filtering).

这是我的lvm.conf,虽然据我所知,我所做的唯一改变是增加日志级别:

# egrep -v "^( *#|$)" /etc/lvm/lvm.conf

devices {

dir = "/dev"

scan = [ "/dev" ]

preferred_names = [ ]

filter = [ "a|^/dev/sda$|", "r/.*/" ]

cache = "/etc/lvm/.cache"

write_cache_state = 1

sysfs_scan = 1

md_component_detection = 1

ignore_suspended_devices = 0

}

log {

verbose = 0

syslog = 1

overwrite = 0

level = 2

indent = 1

command_names = 0

prefix = " "

}

backup {

backup = 1

backup_dir = "/etc/lvm/backup"

archive = 1

archive_dir = "/etc/lvm/archive"

retain_min = 10

retain_days = 30

}

shell {

history_size = 100

}

global {

umask = 077

test = 0

units = "h"

activation = 1

proc = "/proc"

locking_type = 3

fallback_to_clustered_locking = 1

fallback_to_local_locking = 1

locking_dir = "/var/run/lvm/lock"

}

activation {

missing_stripe_filler = "/dev/ioerror"

reserved_stack = 256

reserved_memory = 8192

process_priority = -18

mirror_region_size = 512

readahead = "auto"

mirror_log_fault_policy = "allocate"

mirror_device_fault_policy = "remove"

udev_rules = 1

udev_sync = 1

}

dmeventd {

mirror_library = "libdevmapper-event-lvm2mirror.so"

snapshot_library = "libdevmapper-event-lvm2snapshot.so"

}

什么赋予了什么?我的VG去了哪里,我该如何取回它?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux lvm uuid绑定,LVM:“找不到具有uuid的设备”但是blkid找到了UUID 的相关文章

  • 无法使用 linux perf 对硬件缓存事件进行采样

    由于某种原因 我无法采样 perf record 硬件缓存事件 perf record e L1 dcache stores a c 100 sleep 5 perf record Woken up 1 times to write dat
  • sed 将带空格的行插入到特定行

    我在开头有一行空格 例如 Hello world 我想将此行插入到文件中的特定行 例如 将 hello world 插入下一个文件 hello world result hello hello world world 我正在使用这个 sed
  • SO_BINDTODEVICE Linux 套接字选项的问题

    我有一台带有两个网卡的电脑 一 eth0 用于 LAN 互联网 另一个用于与一个微控制器设备进行 UDP 通信 微控制器有一个 IP 192 168 7 2 和一个 MAC 地址 第二个电脑网络适配器 eth1 有 192 168 7 1
  • 用另一个文件的标签为图表(ggplot2)中的标题添加下标

    在我的程序中 我有两个主要文件 第一个包含数据 第二个包含标签 或图形标题 文件总数1 数据 3 10000 3 32039232 1 0 0017290351 2 0 0002781092 3 10001 3 32101193 1 0 0
  • 内核驱动程序从用户空间读取正常,但写回始终为 0

    因此 我正在努力完成内核驱动程序编程 目前我正在尝试在应用程序和内核驱动程序之间构建简单的数据传输 我使用简单的字符设备作为这两者之间的链接 并且我已成功将数据传输到驱动程序 但我无法将有意义的数据返回到用户空间 内核驱动程序如下所示 in
  • 如果文件没有行尾字符,则 wc -l 不计算文件的最后一个

    我需要计算 unix 文件的所有行数 该文件有 3 行 但是wc l仅给出 2 个计数 我知道它不计算最后一行 因为它没有行尾字符 任何人都可以告诉我如何计算这一行吗 grep c返回匹配行的数量 只需使用一个空字符串 作为您的匹配表达式
  • 何时用引号将 shell 变量括起来?

    我应该或不应该在 shell 脚本中用引号括住变量吗 例如 下列说法正确的是 xdg open URL eq 2 or xdg open URL eq 2 如果是这样 为什么 一般规则 如果它可以为空或包含空格 或实际上任何空格 或特殊字符
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • 使用 ioctl 在 C++ 中以编程方式添加路由

    我编写了简单的 C 函数 添加了新路线 void addRoute int fd socket PF INET SOCK DGRAM IPPROTO IP struct rtentry route memset route 0 sizeof
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • 为什么 OS X 和 Linux 之间的 UTF-8 文本排序顺序不同?

    我有一个包含 UTF 8 编码文本行的文本文件 mac os x cat unsorted txt foo foo 津 如果它有助于重现问题 这里是文件中确切字节的校验和和转储 以及如何自己生成文件 在 Linux 上 使用base64 d
  • 链接错误:命令行中缺少 DSO

    我对 Linux 使用 Ubuntu 14 04 LTS 64 位 相当陌生 来自 Windows 并且正在尝试移植我现有的 CUDA 项目 当通过链接时 usr local cuda bin nvcc arch compute 30 co
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh

随机推荐