LVM 磁盘结构

2023-11-11

复杂度3/5
机密度4/5

最后更新2021/05/17

VG由一堆PV组成,每个PV的头是ipl_rec,无论这个PV能不能boot,只要是AIX的盘(曾经标记过PVID),都在最初0字节标记0xc9c2d4c1,这个是EBCIDIC编码的IBMA,这个编码可比ASCII早了好久,但不知基于什么考虑(本人未仔细研究过),好多本来连续的字母,编码却插了个空位,无形中增加了编码复杂性,所以现在除了IBM自家大机还在使用,别的地方完全被ASCII编码一统天下。

后面偏移120字节的地方就是著名的PVID了,每个PV都有一个唯一的PVID,PVID的编码是与识别(其实是PV添加)它的机器的系列号,以及当前时间有关,因此通过PVID大概就能知道这个盘(PV)是被哪台机器加入到VG或者assign的。

如果PV被加如到VG中,则会有LVM信息写入,LVM从磁盘头偏移0x0E00开始:

00000E00   LVM___ID VGID__W1 VGID__W2 VGID__W3
00000E10   VGID__W4 PPSA_LEN PVM__LEN MWCDBLEN
00000E20   VGI__LEN PVI__LEN LVCBILEN LVEA_LEN
00000E30   PPEA_LEN RESA_LEN PV___NUM VERnPPSZ
00000E40   PPSAPSN0 PPSAPSN0 PPSAPSN1 PPSAPSN1
00000E50   PVM_PSN0 PVM_PSN0 PVM_PSN1 PVM_PSN1
00000E60   MWC_PSN0 MWC_PSN0 MWC_PSN1 MWC_PSN1
00000E70   VGI_PSN0 VGI_PSN0 VGI_PSN1 VGI_PSN1
00000E80   PVI_PSN0 PVI_PSN0 PVI_PSN1 PVI_PSN1
00000E90   LVCBPSN0 LVCBPSN0 LVCBPSN1 LVCBPSN1
00000EA0   LVEAPSN0 LVEAPSN0 LVEAPSN1 LVEAPSN1
00000EB0   PPEAPSN0 PPEAPSN0 PPEAPSN1 PPEAPSN1
00000EC0   VGSAPSN0 VGSAPSN0 VGSAPSN1 VGSAPSN1
00000ED0   VGDAPSN0 VGDAPSN0 VGDAPSN1 VGDAPSN1
00000EE0   VGSA_LEN VGDA_LEN LTG_SIZE BBR__LEN
00000EF0   BBR_PSN0 BBR_PSN0 RESERVED RESERVED
。。。。

依次是:

  • LVM ID,又是个常数标识:0x5F4C564D,这回换ASCII码了,"_LVM"
  • VGID,PV所在VG的VGID,全尺寸的,总共128bytes,开始64bytes可能是0
  • VGSA长度,名字却叫做PPSA_LEN,也对,因为实际标记的是PP状态,并不是VG状态
  • PV missing标记的长度
  • MWC dirty bits的长度
  • VG info的长度
  • PV info的长度
  • LVCB的长度
  • LV头长度
  • PP头长度
  • LVM元数据长度
  • 庵是第几个PV
  • VG结构版本(original,big,scale那些)
  • pp size,既2的几次方,就是factor的最大值
    下面是VGSA:
  • VGSA(PPSA)所在扇区(两个,分别是主备),前面有长度,这里有起点,VGSA定位了
  • PV Missing信息所在扇区(还是两个)
    下面是VGDA:
  • VG INFO所在扇区(主备两个)
  • PVINFO所在扇区(主备两个)
  • LVCB所在扇区(主备)
  • 第一个LV所在扇区(主备)
  • 第一个PP所在扇区(主备)
  • VGSA所在扇区(主备)前面都按顺序排下来啦,为啥还要指明?为了冗余备份校验?
  • VGDA所在扇区(主备)
  • VGSA长度(又来一次?)
  • VGDA长度
  • LTG大小(2的几次方)
  • BB(bad block重定位区域长度)
  • BB所在扇区
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LVM 磁盘结构 的相关文章

  • Ubuntu 10.10下安装TFTP的步骤 tftp-hpa版本

    背景 由于想要在tq2440板子上用tftp下载kernel 所以要在自己的PC机的Ubuntu 10 10上安装tftp服务 所以就去网上找了些教程 但是很悲剧 按照那些教程去操作 结果还都是无法正常运行tftp服务 最后还是从一个外国人
  • 设备管理过程

    复杂度2 5 机密度2 5 最后更新2021 04 19 AIX中对设备会有如下五个操作 define aix下能看到设备的定义 但驱动程序并没有加载或初始化 该设备不可用 lsdev看到设备时defined 很多逻辑设备 vg lv等 只
  • 虚拟机管理程序、虚拟化和云: 深入剖析 PowerVM 虚拟机管理程序

    预备知识 Power 是没有限制的虚拟化 一些企业打算依靠 PowerVM 虚拟化将多个工作负载整合到较少系统上 从而提高服务器利用率 降低成本 Power VM 为基于 Power Systems 平台的高级 RAS 功能和领先性能为 A
  • office2013 excel 打开时提示excel词典xllex.dll文件丢失或损坏

    今天打开Excel时 发现报错 xllex dll文件丢失或损坏 我用的是office2013 网上找了好多都是2007的dll文件 导入不了 于是乎重装office 问题解决 但还是把xllex dll烤出来做个备份吧 参考下面步骤即可
  • Linux系统编程:多线程交替打印ABC

    引言 分享关于线程的一道测试题 因为网上基本都是Java的解决方法 决定自己写一篇来记录一下线程的学习 问题描述 编写一个至少具有三个线程的程序 称之为线程 A B 和 C 其中线程 A 输出字符 A 线程 B 输出字符 B 线程 C 输出
  • InfoQ视频直播分享报名:前贝尔实验室、Oracle架构师为你在线揭秘分布式平台内核...

    报名方式 关注InfoQ微信公众号 ID infoqchina 回复 InfoQ 即可观看在线直播技术分享 分享地点 u0026amp 时间 InfoQ直播微课堂将在熊猫 TV 网站播出 看腻了卖肉的女主播 来看看QCon 的明星讲师如何
  • 深入ftrace kprobe原理解析

    Linux krpobe调试技术是内核开发者专门为了编译跟踪内核函数执行状态所涉及的一种轻量级内核调试技术 利用kprobe技术 内核开发人员可以在内核的绝大多数指定函数中动态插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程
  • Elasticsearch 日志

    下载并安装 Filebeat 首次使用 Filebeat 请参阅入门指南 复制代码片段 curl L O https artifacts elastic co downloads beats filebeat filebeat 7 2 0
  • Linux学习--CentOS7.5

    CentOS7命令大全 Linux系统简介 Unix Linux发展史 Linux目录结构 树形结构 查看 切换以及创建目录 文本内容操作 grep工具 关机和重启 Linux命令 基本用法 ls list 使用通配符 mkdir 别名 g
  • 使用inet_ntop转换IPv6地址时在macOS和linux上的行为不一样

    下面这段python代码在macOS和linux时运行的结果是不同的 import socket ip socket inet pton socket AF INET6 1 2 3 0 5 6 7 8 print socket inet n
  • Anaconda 安装 Python 库(MySQLdb)的方法-(转)

    安装python库的过程中 最重要的地方就是版本需要兼容 其中操作系统为64位 Python为2 X 64位 下载安装文件的时候也要注意版本匹配 其中文件名中包含的cp27表示CPython 2 7版本 cp34表示CPython 3 4
  • MacOS中清除原有ssh公钥方法

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 用ssh的跳转登录服务器后 ssh会把你每个你访问过计算机的公钥 public key 都记录在 ssh known hosts 当下次访问相同计算机时 SSH会核对公钥
  • Linux(13):例行性工作排程

    例行性工程 听谓的排程是将工作安排执行的流程之意 Linux 排程就是透过 crontab 与 at 这两个东西 两种工作排程的方式 一种是例行性的 就是每隔一定的周期要来办的事项 一种是突发性的 就是这次做完以后就没有的那一种 at at
  • 什么时候a>a为真?

    是的 我想我真的是在做梦 我在 AIX 机器上编译并运行了以下代码 AIX 3 5 PowerPC POWER5 processor type IBM XL C C for AIX V10 1 Version 10 01 0000 0003
  • 【操作系统xv6】学习记录4-一级页表与二级页表

    占位
  • AIX 中是否有 EPOLL/KQUEUE 或等效机制?

    AIX 机制中是否有 EPOLL Linux2 6 KQUEUE FreeBSD IO Completion Port Windows 或其等效机制 对于 AIX 上的 AIO 对于大量网络连接来说 什么样的机制是最佳的 例如 根据基准 K
  • vfork() child 拥有什么权限?

    使用 vfork 创建的进程是否具有与创建者进程 即父进程 相同级别的权限 示例 如果我以 root 身份运行一个进程 vfork 子进程是否拥有相同的执行权限 开放组 POSIX 规范fork http pubs opengroup or
  • SWIG 在 AIX 上崩溃(使用 python,可能还有其他所有 SWIG 支持)

    SWIG 在 AIX 上可以轻松编译和安装 不幸的是 一个简单的SWIG 你好世界 http www swig org tutorial html 也可以编译 但不是那么容易 因分段错误或非法指令而崩溃 取决于编译 链接器过程的一些细节 g
  • 如何使用 vi 编辑器在 KornShell 命令行中自动完成

    在 KornShell ksh 上AIX UNIX 版本 5 3将编辑器模式设置为 vi 使用 set o vi 在 shell 命令行中按什么键可以自动完成文件或目录名 ESC 至少在 AIX4 2 上工作得很好 我注意到的一件事是它只自
  • libgcc.a 和 libgcc_s.a 之间的区别?

    我们已经安装了 GCC 和libgcc在 AIX 6 1 上使用 RPM 文件 我想知道的是为什么 libgcc s a 没有在以下文件夹下创建 opt freeware lib gcc powerpc ibm aix6 1 0 0 4 2

随机推荐

  • 动态代码块、静态代码块、静态方法、静态变量(属性 )、构造方法

    1 动态代码块 class Super int a 10 public void m1 System out println m1 动态代码块 System out println 动态代码块开始执行 System out println
  • imblearn 安装

    imblearn 安装 官网安装教程 踩坑经过 1 有些库版本达不到要求 imblearn需要依赖某些Python模块 下面是最新版0 7 0的依赖要求 python gt 3 6 numpy gt 1 13 3 scipy gt 0 19
  • smbms-AJAX验证旧密码实现

    优化密码修改使用ajax 主要是与前端接轨 1 阿里巴巴fastjson maven导入 导入包
  • matlab:txt数据文件的读出与读取

    输出数据 fid fopen hello txt w 需要改文件名称的地方 fprintf fid 10 3f n data data 需要导出的变量名称 10位有效数字 保留3位小数 包含小数点 f为双精度 g为科学计数法 fclose
  • 全志V3S开启启动

    一 TurnOffMute sh 创建自己需要的脚本 我这里创建关闭静音的脚本 vi TurnOffMute sh 然后往其中添加需要执行的命令 然后赋予可执行的权限 chmod 777 TurnOffMute sh 二 etc rc lo
  • 使用matlab对行人视频进行检测的代码的分析

    function F hogcalculator img cellpw cellph nblockw nblockh nthet overlap isglobalinterpolate issigned normmethod HOGCALC
  • linux定时清理文件的脚本

    1 新建清理文件脚本 vim autodelfile sh bin sh find 对应目录 mtime 天数 name 文件名 exec rm rf find linux的查找命令 用户查找指定条件的文件 home trans app f
  • 虚拟机的三种网络模式详解

    虚拟机的三种网络模式详解 1 桥接模式 此模式下 虚拟机的操作系统就像和物理机同一段网络中的物理机一样 它可以访问网络中的任何机器 同时只要物理机可以访问网络 虚拟机也可以实现上网 此模式是懒人模式首选 但换来一个问题就是 如果你的物理机网
  • PyCharm 新项目关联到码云(Gitee)源代码管理

    1 在 PyCharm 中创建新项目 打开 PyCharm 点击 Create New Project 或 File gt New Project 然后按照提示完成新项目的创建 2 在码云上创建新仓库 登录到你的码云账户 点击 新建仓库 输
  • Elasticsearch实战(七)---BestFields MostFields CrossFields 多字段搜索策略

    Elasticsearch实战 BestFields MostFields 搜索策略 文章目录 Elasticsearch实战 BestFields MostFields 搜索策略 1 字段中心及词条中心查询 2 Multi match q
  • qt实现QLabel上显示的文字有描边

    qt实现文字描边 效果图 开发环境 项目示例 综述 效果图 此程序运行的效果 开发环境 1 关于我的开发环境 我目前有点迷惑 我的QtCreator中帮助 关于QtCreator 得到如下所示 但是我的安装包上却写着5 12 9 我的理解就
  • Bash 脚本 set 命令教程

    转自 http www ruanyifeng com blog 2017 11 bash set html utm source tool lu 服务器的开发和管理离不开 Bash 脚本 掌握它需要学习大量的细节 set命令是 Bash 脚
  • 在自己电脑上的idea运行java web项目 如何用外网访问

    目的 本人目前Android开发比如手机的销售统计激活数据上传 自己先写一个网络接口测试等后端写好了换上去就行 用自己的电脑当作服务器 使用IntelliJ IDEA 创建一个springboot 部署在自己电脑上 使用手机请求网络接口 或
  • ddt数据驱动常见的用法【多测师_王sir】

    一 背景 一般进行接口测试时 每个接口的传参都不止一种情况 一般会考虑正向 逆向等多种组合 所以在测试一个接口时 通常会编写多条case 而这些除了传参不同外 并没有什么区别 这个时候就可以利用ddt来管理测试数据 提高代码复用率 二 dd
  • 2017今日头条网招在线编程题(部分)

    第一题 P 为 给 定 的 二 维 平 面 整 数 点 集 定 义 P 中 某 点 如 果 满 足 P 中 任 意 点 都 不 在 的 右 上 方 区 域 内 横 纵 坐标 都 大 于 则 称 其 为 最 大 的 求 出 所 有 最 大 的
  • 牛客-困难及极难难度python

    1 字符串最后一个单词的长度 计算字符串最后一个单词的长度 单词以空格隔开 字符串长度小于5000 def get length input str input str list input str strip split if len s
  • 高并发内存池项目(concurrent memory pool)

    一 高并内存池概念 内存池 Memory Pool 是一种动态内存分配与管理技术 通常情况下 程序员习惯直接使用 new delete malloc free 等API申请分配和释放内存 这样导致的后果是 当程序长时间运行时 由于所申请内存
  • Git使用方法笔记1——Git

    git 安装包 源 https npm taobao org mirrors git for windows v2 22 0 windows 1 一 Git基本操作 查看git安装路径 where git 1 设置本地系统用户名和邮箱 gi
  • 基于ArcGIS的nc(NETCDF)转tif格式

    软件版本 ArcMap10 4 1 nc NETCDF 是一组独立于机器的软件库支持创建 访问和共享面向阵列的数据格式科学数据 它也是共享科学数据的社区标准 摘自Unidata官网 被广泛应用于大气 海洋 水文等领域 是我们日常学习和工作中
  • LVM 磁盘结构

    复杂度3 5 机密度4 5 最后更新2021 05 17 VG由一堆PV组成 每个PV的头是ipl rec 无论这个PV能不能boot 只要是AIX的盘 曾经标记过PVID 都在最初0字节标记0xc9c2d4c1 这个是EBCIDIC编码的