传统UNIX磁盘存储

传统UNIX磁盘存储存在的问题

● 分区大小固定

● 不能随意扩展分区

● 文件系统和文件的大小受限制

● 分区时需要大量的时间去计划

传统UNIX的一个磁盘分区需要连续的磁盘空间,这样一个分区一但划定后如果发现其太小也不能在扩充了.如图如果发现分区1的空间不够尽管硬盘还有剩余空间但由于两部分不连续,这样分区1的大小不能该变了.由于分区需要占有连续的磁盘空间那么分区的空间大小受到系统硬盘空间的大小的限制,分区不能跨越硬盘存在.这样系统中的文件系统大小和文件大小除了受本身算法限制还要受硬盘大小的限制.在安装操作系统时系统管理员应该首先对系统硬盘进行分区,但分区划定后就不能改变其大小了这样需要系统管理员花时间和精力去很好的规划每个分区的大小.

什么是LVM

LVM(Logical Volume Manager)是由一组系统命令,系统调用和其它工具组成,用户使用它可以建立和控制系统的逻辑存储. 它通过逻辑视图存储空间数据和真实的物理硬盘的数据之间的对应关系管理磁盘资源.LVM在传统的磁盘驱动程序上加了一层逻辑卷设备驱动程序用于映射逻辑视图与物理硬盘间的数据.

LVM由两部分组成:LVDD(Logical Volume Device Driver)和操作命令集.LVDD负责管理和执行所有的I/O.它将逻辑地址转换成物理地址并将请求发送给相应的磁盘驱动程序.操作命令集包括一组系统调用和高级命令用于操纵LVM.这些高级命令一般以shell script形式出现,如lsvg表示列出系统的卷组.在这些script文件中包含许多LVM的基本命令,这些基本命令对应这一些系统调用.这些调用的API存放在liblvm.a中

LVM的物理和逻辑组成

Physical partition(PP):硬盘存储的最小分配单位.当硬盘加入卷组中时系统安装卷组定义的PP大小对硬盘进行划分.PP的大小在创建VG时定义,以后就不能改变了.它的取值范围是1-1024M,以2的整数次幂变化.一个硬盘缺省时最多可以被划分成1016个PP.

Physical Volume(PV):系统的物理硬盘,如果一个硬盘如果参与系统的存储分配,则需要将该硬盘加入的系统的卷组(VG)中或自己创建一个卷组.一个硬盘同时只能属于一个VG.图中的hdisk1,hdisk2,hdisk3为PV.

Logical partition(LP):LP与PP相对应.一个LP一般对应一个PP,LP的大小与PP的大小相同.

Logical Volume(LV):由同在一个卷组的一个或多个LP组成,它不需要占用连续的PV空间,它可以跨越硬盘存在可以动态的扩充容量.应用程序访问磁盘一般访问到LV这一层.LV中可以包括日志文件系统,Paging Space,日志log,BLV系统启动逻辑卷等.一般情况一个LV最大为64G,一个VG中最多包含256个LV.

Volume Group(VG):AIX存储分配的最大单位,它包括一个或多个PV.一般情况下最多包括32个PV,一个系统最多有255个VG.VG从逻辑的角度来看还包含多个LV.在系统安装时系统会自动创建一个卷组rootvg.

LVM的优点

● 灵活的LV

由于LV是由一个或多个LP组成,LP与PP相对应,这种对应关系被LVDD管理.LV可以不占用连续的物理硬盘空间这样LV在一个VG中可以跨硬盘存在,它的大小可以被动态增加,可以很容易的加镜像,可以很容易的被删除.

● 高可靠性

LVM通过镜像来提高数据的可靠性,被镜像的LV在系统中可以有2到3份拷贝.当一份数据被毁坏后系统可以用该数据的镜像.

● 高性能

LVM通过strping来提高系统访问数据的速度.strping技术将LV的数据分布到不同PV上访问这些数据时可以进行并行的读写.我们在创建LV时可以指定LV在PV上的分布位置,我们将经常被访问的LV放在PV的热点位置可以提高访问速度.

● 写校验

LVM可以通过写校验对每次的磁盘写操作都被校验,提供数据的稳定性.

● 动态管理

我们可以在系统正常运行期间对系统的LV进行各种操作,操作后不需要重新启动机器.这些操作大部分对用户是透明的.

● 容易使用

我们课通过使用高级命令来管理系统存储也可以通过smit来管理系统存储.

物理存储

AIX的物理存储包括一些几个部分

● VG

AIX存储分配的最大单位,它包括一个或多个PV.一般情况下最多包括32个PV,一个系统最多有255个VG.VG从逻辑的角度来看还包含多个LV.在系统安装时系统会自动创建一个卷组rootvg.在一个VG中分配空间时是以PP为单位分配,VG中的所有PV作为一个整体进行使用.一个VG的PP大小在创建VG时定义,这个值以后不能在被改变.一个VG可以直接的从一个系统迁移到另一个系统中.

● PV

系统的物理硬盘,如果一个硬盘如果参与系统的存储分配,则需要将该硬盘加入的系统的卷组(VG)中或自己创建一个卷组.一个硬盘同时只能属于一个VG.当一个PV被加入到系统中在系统的/dev目录下创建hdiskn的设备文件与其对应.

● PP

硬盘存储的最小分配单位.当硬盘加入卷组中时系统安装卷组定义的PP大小对硬盘进行划分.PP的大小在创建VG时定义,以后就不能改变了.它的取值范围是1-1024M,以2的整数次幂变化.一个硬盘缺省时最多可以被划分成1016个PP.

Volum Group

用户可以给rootvg(在安装系统是自动创建)中加硬盘,也可以创建新的卷组

我们为什么创建新的卷组

● 将用户数据与系统数据分开

我们在系统升级后重新安装操作系统时只对系统的rootvg进行操作,如果用户数据集中在rootvg上那么在重新安装系统时有可能毁坏用户数据(安装方式决定是否会毁坏用户数据).系统的崩溃一般也发生在rootvg上.这样我们将用户数据放在其他VG中可以提供用户数据的稳定性.

● 灾难恢复

系统提供的备份方式中有一种是卷组备份,如果我们对系统的每个卷组都进行了这样的备份,当发生故障时可以很快的恢复系统和用户数据.

● 数据维护

当我们希望用户数据不被用户访问而系统还需要正常运行,如果这些数据被放在一个独立的卷组中我们可以使用varyoffvg的命令时这个卷组暂时不被激活.

● 数据移动

我们在系统间移动数据时,不能以硬盘为单位移动只能以vg为单位移动.

VGDA

●VGDA

VGDA(Volume Group Descriptor Area)是包含在卷组中硬盘上的一个区域.卷组中的每一个硬盘至少有一个VGDA区,同一个卷组中所有硬盘的VGDA内容是一样的.VGDA中存放的是关于卷组的管理信息如卷组的ID号,包含的硬盘ID,逻辑卷ID还存放PP与LP的对应关系.

●Quroum

当VG被激活时系统会对该卷组中的VGDA进行表决以决定是否可以激活该卷组.VGAD的表决数用于确保卷组的管理数据的完整性,这个数是该卷组的VGDA数量的51%或51%以上.如图包含两块硬盘的VG有3个VGDA,其表决数为2.如果只包含一个VGDA的硬盘坏了该卷组还可以被激活,反之则不能被激活.由于卷组中的每个硬盘都包含至少一个VGDA,如果硬盘过多VGDA的管理不太容易所有一般来讲每个卷组最好只包含3到4块硬盘即可.

LVM管理

LVM菜单被用于管理许多的系统存储

●Volume Group 用于管理VG

●Logical Volume 用于管理LV.由于LV包括paging space,文件系统,他们都有相应的管理菜单,这里只提供一些地层的管理菜单.

●Physical Volume 用于管理PV

●Paging Space 用于管理系统页面交换空间.

SMIT 卷组菜单

我们使用smit vg的命令可以得到卷组管理菜单

镜像卷组可以将卷组中的所有逻辑卷进行镜像使用的命令是mirrorvg.

列出所有的卷组

lsvg命令列出系统中所有已经定义的卷组(无论是否被激活)

lsvg -o 列出现在处于激活状态的卷组

●列出一个卷组的内容

我们使用lsvg vgname的命令可以得到该卷组的状态和该卷组的内容.PP SIZE表示卷组中PP的大小.State表示卷组的状态.LVs表示该卷组中逻辑卷的个数,TOTAL PPs表示卷组中PP的个数,FREE PPs表示当前卷组中未分配的PP个数,QUORUM表示卷组的表决数.VG DESCRIPTORS表示卷组的VGDA数量.

列出卷组的内容

●列出卷组中硬盘

lsvg -p 卷组名 可以列出该卷组所包含的硬盘名称,状态,每个硬盘的中PP个数,未分配PP的个数,未分配的PP在拼音的位置.

●列出卷组中逻辑卷

用lsvg -l 卷组名 可以列出该卷组中所有定义的逻辑卷的名称,类型,LV包含的LP的个数和PP的个数,LV跨越硬盘的个数,LV的状态,如果LV是被用于文件系统的列出它的mount点.LV的类型用paging,日志log,启动LV和日志文件系统.LV的状态表示该卷组是否可以被访问,open表示可以被使用,closed表示是不能被访问(如果LV的类型是文件系统closed表示该文件系统没有被mount).syncd表示LV的内容是同步的(LV做镜像时有用,如果不同步则表示为staled状态).

增加和删除卷组

●增加卷组

在这个smit对话框中我们必须选择的是新卷组包含的硬盘名称,该硬盘已经不能属于其他卷组.我们可以根据硬盘的大小指定卷组的PP大小缺省为4M,卷组名称如果没有声明则以vgnn命名nn表示为数字,卷组主设备号,是否创建为并行卷组,在并在模式下自动被激活这三个选项用于HACMP中.创建卷组的命令是mkvg.

●删除卷组

当卷组中最后一块硬盘被删除该卷组会被自动删除.

设置卷组的属性

●给卷组中增加一个硬盘

我们用 extendvg -f Volumegroup hdiskn 的命令可以个卷组中增加一块硬盘,当一块yp被加入到某个卷组时系统会安装该卷组的PP大小对硬盘进行划分该硬盘中所有内容将会被清除.-f选项表示自动确认将将硬盘加入到卷组当中.

●从卷组中删除一个硬盘

用reducevg [-d] Volumegroup hdiskn可以从卷组中删除一块硬盘,删除前需要先将该硬盘的内容清除或移动到别的硬盘上.-d选择表示可以不做清除或移动工作而将性删除.

改变卷组的内容

一个卷组创建后我们可以修改卷组的部分属性如卷组在下一次系统启动时是否自动被激活,卷组被激活后是否还需要vgda表决数如果需要则卷组中硬盘的失效影响导致好的VGDA数量不足表决数则卷组自动变成不可使用状态.

整理卷组

我们创建逻辑卷时可以指定该逻辑卷在硬盘的位置,如果创建时指定位置已经被使用则系统会自动分配其他位置给该逻辑卷.系统使用一段时间后管理员发现指定位置已经被释放我们可以利用reorgvg的命令来重新安装lv的位置定义调整卷组中lv的位置.reorgvg volumegroup [lvname].如#reorgvg vg3 lv04 lv07 可以调整lv04和lv07在vg3上的位置.安装lv名字在命令中出现的次序依次调整.这种调整对用户是透明的.

激活卷组

●激活一个卷组

varyonvg [-s] Volumegroup

如果系统启动时我们发现一些卷组没有被自动激活我们可以使用#varyonvg datavg的命令将datavg激活.-s选项可以将vg激活到维护模式,这时只能对其使用管理命令,其他操作不允许.

●使一个卷组处于非激活状态

varyoffvg [-s] Volunegroup

可以将一个处于激活状态的卷组变为非激活状态.使用该命令时卷组中的所有lv必须处于closed状态.-s表示将该卷组变为维护模式.

import和export一个卷组

我们有时需要将一个卷组从一个系统A移动到另一个系统B并希望保留该卷组上的所有数据,这时我们可以在A系统上使用exportvg的命令将卷组从A系统中删除,在B系统安装识别好该卷组中的硬盘后使用importvg的命令将该卷组引入到B系统上.使用exportvg时需要该卷组处于非激活状态.这些命令常用在HACMP中和系统升级后导入以前的非rootvg卷组的内容.

逻辑存储

Logical partition(LP):LP与PP相对应.一个LP一般对应一个PP,LP的大小与PP的大小相同.

Logical Volume(LV):由同在一个卷组的一个或多个LP组成,它不需要占用连续的PV空间,它可以跨越硬盘存在可以动态的扩充容量.应用程序访问磁盘一般访问到LV这一层.LV中可以包括日志文件系统,Paging Space,日志log,BLV系统启动逻辑卷等.一般情况一个LV最大为64G,一个VG中最多包含256个LV.

镜像

●镜像是一个LP在同一个卷组中对应1块以上的PP.即该LP的内容在系统中用1份以上的拷贝.

当我们创建逻辑卷时我们可以声明对该lv中的lv做镜像,我们也称为该lv做镜像.通常lv的每一份拷贝都应该放在不同的不同的物理硬盘上.我们可以给lv加镜像也可以删除其镜像.

● 镜像的读写策略

● 并行策略

并行的写是指系统在对该lv进行写操作时,几块拷贝同时写当最后一份拷贝写完后将控制权交给用户.读策略表示系统读取lv内容时哪一个拷贝近就读那一块.

● 串行策略

串行写表示系统在对该lv进行写操作时先写第一份拷贝,写完后在写第二份.当最后一份写完后将控制权交给用户.读策略表示系统读取lv内容时先读第一份拷贝如果读不出则在读第二份拷贝.

Striping

● 正常lv的数据块分布

正常的率数据块时连续分布到不同的硬盘上,这样在读写数据时总是不能达到并行读写.

● stripe lv的数据块分布

strping技术将LV的数据分布到不同PV上访问这些数据时可以进行并行的读写.如图在读写数据时1,2,3块数据由于分布在不同的硬盘上可以同时进行操作.

一个striped的lv不能做镜像,而且使用stripe时至少需要两块硬盘而且每一块硬盘必须有其独立的读写器.striped lv的数据块单位不使用lp而使用stripe的块单位.

逻辑卷策略

● intra-pv 分布策略

当我们创建逻辑卷时或修改逻辑卷时我们可以指定lv在硬盘的分布方式,intra分布方式指的是lv在硬盘上的位置,系统如图将硬盘分为5个部分边缘,中部,中心,内中部,内边缘.其中中心部分访问速度最快,中部其次,边缘最慢.我们可以将经常使用的逻辑卷放在硬盘的中心部分.

● inter-pv 分布策略

inter分布方式指的是lv跨越硬盘的个数,其有两个选项minimum分布到最少数量的硬盘,maximum分布到最多数量的硬盘.

SMIT 逻辑卷菜单

我们可以使用smit lv的得到的smit菜单管理逻辑卷

列出lv的信息

●列出系统中所有的lv

●显示lv的属性

COPIES表示lv是否有镜像,如果该值为1表示没有镜像.LPs表示LV包含的LP的个数.Mirror Write Consistency表示如果镜像是否做镜像写校验,SCHED POLICY表示如果有镜像镜像的策略是什么.

●列出lv在硬盘上的映射

列出该lv在硬盘上的分布情况,COPIES表示该lv的不同拷贝在硬盘上的PP数量.以:为分隔符第一个域为第一拷贝,第二个域为第二拷贝,第三个域为第三拷贝.IN BAND表示满足分布策略的PP的百分比.

●列出lv的lp在硬盘上的分布

显示该逻辑卷上的LP给个拷贝与硬盘上的PP的映射关系.

增加一个逻辑卷

我们使用mklv可以创建一个新的逻辑卷.在smit对话框中我们必须填写的是卷组名,lv的lp个数.我们也可以指定lv所有的硬盘,指定lv的分布策略,也可以修改Munber of COPIES of each logical Partition的值来创建带有镜像的lv.如果没有指定lv的名称系统自动分配名称为lvnn,nn表示数字.

删除逻辑卷

我们可以用rmlv命令删除定义好的逻辑卷,删除前该逻辑卷需要处于closed状态.不要用rmlv命令删除日志文件系统和paging space.

设置LV的属性

我们可以使用chlv命令修改lv的部分属性如分布策略,镜像策略和读写权限.

使用chlv -n的命令可以修改lv的名称

使用extendlv命令来扩充lv的大小,lv的大小不能被动态的减小.

增加,删除lv的镜像

我们用mklvcopy可以增加一个逻辑卷的拷贝数,一个逻辑卷最多有3个拷贝.拷贝增加后需要对所有拷贝做同步,我们可以在使用mklvcopy命令时加-k选项即可.也可以在加完拷贝后用syncvg的命令进行同步.我们用rmlvcopy删除lv的拷贝.

在使用smit方式增加lv拷贝时我们需要注意我们填写的拷贝数是新的总拷贝数.

SMIT 物理卷菜单

列出物理卷的信息

● 列出系统中的所有物理卷

可以得到物理卷的名称,物理卷的ID号,物理卷所属的卷组

● 列出物理卷的属性

VG DESCRIPTORS表示该物理卷中包含的VGDA数量,分配的PP的分布情况,未分配的PP的分布情况

● 列出物理卷中的逻辑卷

可以显示该物理卷上所有逻辑卷的分布情况

● 显示物理卷的PP使用情况

增加物理卷和移动物理卷的内容

●增加一个硬盘

增加一个硬盘可以通过smit来增加或通过cfgmgr的命令来配置.

●移动一个物理卷的内容

我们用migratepv [-l lvname] sourcePV targetPV将一个硬盘上的所有内容或几个逻辑卷的内容迁移到另一个硬盘上.目标盘和源盘必须在同一个卷组之内.我们一般在替换硬盘时使用这个命令.例如

#migratepv -l lv02 hdisk0 hdisk6

将hdisk0上的lv02的内容迁移到hdisk6上.

转载于:https://blog.51cto.com/hanjh8/1575196

存储基础(VG、LV、LP、PV、PP)相关推荐

  1. AIX pv vg lv fs 文件系统

    smit lvm smit fs smit mirrorvg 用crfs命令创建文件系统 crfs -v jfs2 -g datavg -a size=6000G -m /ffdb //在datavg ...

  2. linux vg lv pv

    = pv由物理卷或者分区组成   pv可以组成一个或者多个vg     vg可以分成多个lv 方便扩展 pvs vgs lvs 可以查看当前存在的pv vg lv 我的centos硬盘20g 使用了一 ...

  3. PV,VG,LV的关系和操作

    PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个.通过将这些物理存在的分区(或称为卷)PV(physical volume)进行整合,组成一个 ...

  4. pv vg lv 裸盘 裸设备 文件系统

    之前以为理解的没错,其实随着不断的学习,有了很多新的认识: 裸盘是最初的硬盘,没有做过分区和格式化的,即下图的硬盘. 之前的lvm文档中把制作pv的第一步认为是fdisk格式化,其实pv和格式化并无直 ...

  5. pv vg lv linux中的卷 lvm 等之间的关系和操作

    简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现 ...

  6. pv添加入vG和VG中删除pv

    pv添加入vG 添加一块8G硬盘. fdisk -l 后显示为:/dev/sdb为新添加的硬盘,一般我们一个硬盘分一个pv,这样便于管理. 1.将sdb生成pv: pvcreate /dev/sdb ...

  7. 存储基础 — 文件描述符 fd 究竟是什么?

    坚持思考,就会很酷 前情概要 通过上篇 Go 存储基础 - 文件 IO 的姿势, 我们看到有两种文件读写的方式,一种是系统调用的方式,操作的对象是一个整数 fd,另一种是 Go 标准库自己封装的标准库 ...

  8. 手码万字-带你全面了解存储基础知识

    前言 很多刚接触存储的朋友一定会被各种概念搞混,许多概念光从官方解释的文字很难去理解,本文我会以多年接触存储的经验,以个人尽量通俗的语言并结合实际的案例或环境把存储可能涉及的基础知识梳理一遍,全文手打 ...

  9. 阿里巴巴2022届应届生招聘 阿里云存储基础技术 研发测试算法

    学弟学妹们好,我们是阿里云存储基础技术团队,正在进行2022届校招. 团队业务核心,团队氛围nice,对于每位实习同学都会配师兄专职辅导. 本次招聘为部门直招,简历直接推给Leader,反应更快速,合 ...

最新文章

  1. leetcode算法题--Magical String
  2. Winform中实现Excel导入、表格展示、多选获取值、生成二维码、打印流程(附代码下载)
  3. JavaScript公共运行库
  4. 单片机中断程序实例_单片机定时器中断实现长时间定时程序
  5. unit 10计算机英语教程,计算机英语实用教程Unit 10.doc
  6. mysql添加字符串日期时间_mysql学习笔记--- 字符串函数、日期时间函数
  7. [html] 说说你对HTML元素的显示优先级的理解
  8. d语言 c++ 混合编程,C++,D语言,Python语言一次模拟合作开发
  9. SIM300命令参考
  10. 图形学相关的一些数学知识(链接)
  11. 从铸剑到御剑:滴滴工程效能平台建设之路
  12. VirtualBox上安装WindowsXP的完整教程
  13. IDEA新手使用教程(详解)
  14. python打开txt文件以gbk,python中txt文件的编码转换问题utf-8转gbk
  15. Android平台招商银行“一网通”支付对接采坑记
  16. 【高德地图API】从零开始学高德JS API(一)地图展现——仙剑地图,麻点图,街景,室内图
  17. JavaScript进阶(四)
  18. latex与word之间的各种转化方法
  19. 你可能不知道的JavaScript 遍历DOM的几种方法
  20. 有限体积法求解二维方腔流(二)——边界条件处理及SIMPLE和PISO算法

热门文章

  1. 生成xml报文方法并输出
  2. Django数据库配置
  3. [每天一个知识点]20-Java语言-菱形运算符
  4. 内联函数inline的使用
  5. Q91:真实地模拟透明材质(Realistic Transparency)
  6. 大数据分析的意义在哪
  7. 如何提高大数据分析的效果
  8. 大数据分析对企业运营的价值体现
  9. swift 拖动按钮_ios – Swift中可拖动的UIButton / Elements?
  10. zynq平台交叉编译器的安装