Hp Lvm中文参考

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 75

HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.

com)

逻辑卷管理
##########################################################################################################################
主主要 要内 内容 容已 已翻 翻译 译完 完毕 毕, ,剩 剩余 余练 练习 习理 理解 解比 比较 较简 简单 单, ,在 在此 此省 省略 略----iiaammjjww
##########################################################################################################################

ccppiioo__ttaarr__bbaacckkuupp@@112266..ccoomm

1
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

逻辑卷管理概述

学生目标
能够说明LVM的概念并且能够对逻辑卷进行配置、解除配置以及其它管理
• 描述 L VM 和它的特征
• 详细说明物理卷、卷组、逻辑卷并比较它们的区别
• 描述出物理盘区PE和逻辑盘区并比较它们的不同之处
• 配置出 LVM的使用规则、磁盘区域以及配额.
• 确定并使用合适的命令生成、列出、修改、删除物理卷、卷组和逻辑卷

• 生成用作文件系统、swap区和dump区的逻辑卷
• 重新生成 /etc/lvmtab文件
• 重建逻辑卷
• 确定并使用合适的hpux装载程序选项在忽略quorum限制的情况下启动到维护模式
• 建立第二个启动设备
• 维护现有的以及新的卷组

预备知识
• HP-UX 基本命令
• 文件系统格式
• HPUX 装载程序
• 普通文件系统
• 内核生成
• 特殊文件

时间要求
两天(讲课和实验)

2
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

第一课: 基础

什么是LVM逻辑卷管理?
磁盘管理子系统

不是一个文件系统

应用

设备文 磁盘驱动
LVM

HP-UX 内核

LVM基础
LVM是一个磁盘管理子系统,它允许根据文件系统或原始数据的特定大小来分配磁盘空间。 LVM文件系统能够
超出单盘的大小限制, 这个特点被称之为跨磁盘。就是因为单个的文件系统能够跨多个磁盘,所以使
用 LVM能够将多个磁盘合并到一个卷组中, 卷组然后再被划为一个或多个逻辑卷
LVM不是一个文件系统,对逻辑卷所跨越的每个物理卷,它是指向逻辑卷数据始末空间的管理程序。逻
辑卷类似于扇区,但还有有许多明显的不同

3
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM基础
/dev/rdsk/c0t0d0 /dev/rdsk/c0t1d0

物理卷

VG01 卷组

lvol1 lvol2 lvol3 逻辑卷

LVM基础
一个卷组可以由一个或多个LVM磁盘组成,所谓LVM磁盘就是为进行LVM管理而初始化了的磁盘,即
进行了pvcreate; 整个系统可以包含多个卷组。
逻辑卷则是卷组的子部分,是个虚拟的磁盘空间

逻辑卷能够包含一个或多个LVM磁盘上的空间,仅仅代表它们的一个部分

所以:PV 被组装成 VG 然后被分割为 LV

4
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM跨磁盘
卷组
物理卷

PV1 PV2 PV3


lvol1 lvol2 lvol1

lvol2 lvol1 lvol2

逻辑卷

LVM 跨磁盘
这三个磁盘在一个卷组中

文件系统可以大于一个物理盘的大小

逻辑卷能够根据空间使用进行扩张和收缩.

大的应用比如数据库和 CAD/CAE, 它们的数据通常超出了单个磁盘的大小并分布在多个磁盘上

根据所使用的unix操作系统的版本情况,逻辑卷的大小可以在1M到128G的范围内。

• 10.10版本以前最大大小: 文件系统4GB; 根2GB; 裸设备, dump,swap2GB


• 10.10版本中JFS和HFS文件系统格式支持的最大大小是128GB

逻辑卷能够根据需要进行扩充和收缩

5
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

6
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LE到PE的映射

Logical Physical
Volume Volume
1 4 Mb
4 Mb
LE 2 4 Mb PE
4 Mb
3 3
4 4
5 5
6 6
7 7

LE到PE的映射
Extent的大小必须是2的幂( 1 - 256 MB). 通过命令 vgcreate –s设置

LE size = PE size

卷组中所有物理卷的PE大小是相同的

LVM子系统通过位于LVM磁盘上的转换表来进行LE到PE的映射

当卷组被激活时,转换表位于内存中.LVM把读写请求转换为PE的正确地址,然后将请求发送到相应的物
理块。因而,extent在输入请求和实际的设备驱动之间充当了一个翻译的角色

缺省情况下,LVM根据磁盘被添加到卷组中的顺序从LVM磁盘中找出可用的PE

当磁盘被添加到卷组中,它将被分为与PV上的PE相对应的LE

7
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

非连续分配
Logical Extent
PV
table for lvol1

1 LE 1
2 LE PE 2
PE
3 LE PE 3
LE 4
4
PE
5 LE 5
PE
6 LE PE 6
7
7 LE PE
8
PE 9
PE 10
PE

注:PV中的阴影部分代表了lvol1

非连续分配

在上面的图中,PV中的阴影部分代表了lvol1
非连续的磁盘空间分配意味着逻辑卷的LE不必映射到PV中相邻的PE上。
这个也是缺省的分配策略
分配的PE之间允许有间隙存在
PE能够从卷组中的其它磁盘上获得

8
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

非连续分配策略

PE
PE
PE
PE PE
PE PE
PE PE
PE PE PE
PE PE PE
PE PE
/de v/rdsk/c0t0d0 PE PE
PE PE
PE
/dev/rdsk/c0t1d0 PE
PE
/dev/rdsk/c0t2d0

注:一个逻辑卷能够被分布在一个卷组中的多个物理卷上

非连续分配策略
PE可以分布在同一卷组中的任何磁盘上

PE可以被随机分配或通过lvextend命令来选择分配.

一个逻辑卷可以分布在一个卷组中的多个物理卷上.

9
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

非连续分配策略

PE
PE
PE
PE PE
PE PE
PE PE
PE PE PE
PE PE PE
PE PE
/dev/rdsk/c0t0d0 PE PE
PE PE
PE
/dev/rdsk/c0t1d0 PE
PE

/dev/rdsk/c0t2d0

LVM分配卷组中第一个空闲的PE
.SAM和lvcreate使用这个缺省方法
一些磁盘可以被完全使用也甚至可以一点不用

能够使用lvextend更均匀的分布逻辑卷,后面详细介绍

10
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

连续分配

1 LE 1
2 LE PE
2
3 LE PE
3
4 LE PE
4
5 LE
PE
6 LE 5
PE
PE 6
7 LE 7
PE

连续分配
一个连续的逻辑卷不能跨物理卷。连续的空间分配意味着LE必须被影射到磁盘上相邻的PE上

根逻辑卷使用的空间必须是连续的.也就是说, 根文件系统、主交换区、转储区的逻辑卷所映射的PE必须
彼此相连。连续的extents符合以下的要求.

• PE按照升序分配
• PE之间不允许有间隙
• 当进行镜像的时候,镜像的所以PE必须在同一个磁盘上

连续分配不如非连续分配灵活,因此使用磁盘空间不够节约,非连续分配能够使一个逻辑卷的PE分散到
更多的磁盘上。

11
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

12
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM规则
1) 一个磁盘必须专用于LVM
.

Section 7 Section 0
Conventional LVM
Section 11
LVM

LVM规则
1.一个磁盘必须专用于LVM.除了0扇区以外

13
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM规则
2)一个磁盘只能是一个卷组的成员
.

Vol. Group Vol. Group


X X
Vol. Group
Y

14
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM规则
3) HPIB接口的磁盘不能与HPFL或 者 SCSI接口
的磁盘混合.

HPIB Disk SCSI Disk

Volume Volume
Group 1 Group 1

HPFL Disk SCSI Disk


Volume
Volume Group 1
Group 1

3.HPIB磁盘不支持坏块重定位和镜像,必须将它们置于独立的卷组中 。对于HPFL 和 SCSI 磁盘,尽


管在各自独立的卷组中性能更好,但能够根据需要共享相同的卷组

15
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM规则

4. 卷组中逻辑卷的最大数量是255.

5. 每个PV中的最大PE数量是65,535.

6. 每个卷组中的最大PV数量是 255.

LVM规则
4.卷组中逻辑卷的最大数量是255. 范围是 1 - 255; 缺省是255; 通过 vgcreate –l设置

5.每个PV中的最大PE数量是65,535 (范围是 1 - 65,535;缺省是1016;通过 vgcreate –e设置)

6.每个卷组中的最大PV数量是 255. 范围是 1 - 255;缺省是; 通过vgcreate –p设置) 最大的卷组数在内核


中通过maxvgs参数设置,缺省为10.为了改变这个设置,必须根据需要的数量生成新的内核,最大为
256。

16
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM规则
7) 卷组必须有 "quorum---定额"

Volume Group
PV1 PV2

PV1毁坏那‘ quorum’将不能满足

4. 为了激活卷组,卷组中超过一半的的磁盘必须为可用状态。quorum在配置改变(例如:生成逻辑
卷)和状态改变(例如:磁盘故障)的时候被检测。如果quorum没有被维护,LVM将不能确认改变
的发生,可以使用vgchange –q n命令来忽略quorum检测。如果root卷组上的quorum达不到要求,系
统将不能启动.
当忽略quorum的时候,使用 “ISL > hpux -lq”启动系统

5. 任何时候对root卷组的改变(例如:root,sswap,dump或者文件系统)启动数据保留区Boot Data
Reserved Area(BDRA)必须使用lvlnboot命令更新,该操作失败将会造成系统不能启动

17
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

第二课: 结构

18
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

1) 生成卷组使用的物理卷
# pvcreate /dev/rdsk/c0t1d0

NEW LVM DISK


P V RA Physical Volume Reserved Area
内容:
卷组和物理卷的识别号
PE大小
PV大小
坏块目录
其它磁盘结果的大小和位置

BA D BLOCK P OOL 透明的spring软件不支持HPIB和root磁盘(仅当硬件spring失败使用)

在一个新的磁盘上生成一个HP-UX的LVM文件系统
# pvcreate -f /dev/rdsk/cCtTdD
警告 这个将毁坏磁盘上的所有数据.
生成PV RA和Bad Block Pool
PVRA 包含
• PV的识别号
• 坏块池的指针
使用-f选项强制pvcreate在一个已经存在的PV上生成一个新的PV .

19
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

2)在/dev目录下为卷组创建一个目录
# mkdir /dev/vg01
NEW LVM DISK ROOT DISK
PVRA
/

dev

vg01
/

BAD BLOCK POOL

如果需要, 在/dev目录下为卷组创建一个新目录.
# mkdir /dev/vg01
目录名通常以vg开头以容易识别,但名字是可以改变的.

20
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

3)创建卷组的设备文件

# mknod /dev/vg01/group c 64 0x010000

NEW LVM DISK ROOT DISK


PV RA /

dev

vg01
/

group

BAD BLOCK POOL

如果创建一个新的卷组,首先对新卷组建一个字符设备文件.
mknod /dev/vg01/group c 64 0xZZ0000
说明:
关键操作
0x 表示是16进制的数r
ZZ 16进制的卷组号
0000 对于卷组文件总是0000
LVM通过group文件来访问卷组的结构,就是看到的拼写,不要删除该文件

注 不能用insf或者mkfs命令来生成组文件

21
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

4) 创建卷组
# vgcreate /dev/vg01 /dev/dsk/c0t1d0

NEW LVM DISK


PVRA
VGRA Volume Group Reserved Area 内容
卷组描述区 (VGDA)
识别逻辑和物理卷和le到pe的映射

卷组状态区 (VGSA)
物理卷的状态(missing/present)
PE的状态 (stale/ok)
镜像的一致记录 (MCR)
列出进行中的磁盘写
BAD BLOCK POOL
'vgcreate' 生成或者更新 '/etc/lvmtab'
增加卷组的信息到 '/etc/lvmtab'

在新磁盘上创建卷组
# vgcreate /dev/vg01 /dev/dsk/c0t1d0
可以在命令行指定附加的磁盘
vgcreate生成卷组保留区 (VGRA).
内容 :
卷组描述区 (VGDA)

识别逻辑和物理卷和le到pe的映射

卷组状态区 (VGSA)

物理卷的状态(missing/present)
PE的状态 (stale/ok)

镜像的一致记录 (MCR)
仅对镜像使用

vgcreate 在 /etc/lvmtab 文件中更新卷组信息.

22
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

5) 在卷组1上生成100M的逻辑卷

# lvcreate -L 100 vg01

NEW LVM DISK ROOT DISK


PVRA /

VGRA dev etc

vg01
/ lvmtab

lvol1 group rlvol1

BLOCK CHA RACTER


BAD BLOCK POOL DEV ICE FILE DEV ICE FILE

在卷组1上生成100M的逻辑卷.

# lvcreate -L 100 vg01

增加逻辑卷的信息到PV RA 和 VGRA中,生成设备文件 /dev/vg01/lvol1 和 /dev/vg01/rlvol1

23
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

6) 在逻辑卷1上生成文件

# newfs /dev/vg01/rlvol1

NEW LVM DISK


PVRA
VGRA Newfs在lvcreate分配的空间里使用逻辑卷的字符设备
文件来创建100MB的文件系统
lost+found

newfs在新文件系统里创建一
个'lost+found'目录

BAD BLOCK POOL

生成新的文件系统.
# newfs /dev/vg01/rlvol1

24
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

7) 为新文件系统建立一个挂载点目录
# mkdir /newdir
NEW LVM DISK ROOT DISK
PVRA /

V GRA newdir dev etc

lost+found
vg01
/ lvmtab

lvol1 group rlvol1

BAD BLOCK POOL

为新文件系统在根(/)下建立一个挂载点目录.
# mkdir /newdir

25
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在一个新的磁盘上生成一个HP-UX的LVM文件系统

8) mount新的文件系统在挂载点目录上
# mount /dev/vg01/lvol1 /newdir

NEW LVM DISK ROOT DISK


PVRA /

VGRA newdir dev etc

lost+found lvmtab
vg01
/

lvol1 group rlvol1

BAD BLOCK POOL

如果该文件系统是永久性的,需要在/etc/fstab中为新的逻辑卷增加一条记录。格式如下

/dev/vg01/lvol1 /newdir hfs rw 0 2 # /newdir

26
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

显示LVM信息

物理卷

# pvdisplay [-v] /dev/dsk/cCtTdD

显示指定物理卷的信息

显示物理卷的信息
# pvdisplay [-v] /dev/dsk/cCtTdD
Exam ple:
# pvdisplay /dev/dsk/c0t2d0 /dev/dsk/c0t3d0
--- Physical volumes ---
PV Name /dev/dsk/c0t2d0
VG Name /dev/vg3
PV Status available
Allocatable yes
VGDA 2
Cur LV 0
PE Size (Mbytes) 4
Free PE 125
Total PE 125
Allocated PE
0
Stale PE
0
PV Name /dev/dsk/c0t3d0
VG Name /dev/vg2
PV Status available
Allocatable yes
VGDA 2
Cur LV 1
PE Size (Mbytes) 4
Total PE 125
Free PE 124
27
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)
Allocated PE 1
Stale PE 0

28
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

显示LVM信息

卷组

# vgdisplay [-v] /dev/vg*

显示所有卷组的信息

卷组
# vgdisplay /dev/vg*
显示了所有卷组的缩减信息列表
# vgdisplay -v /dev/vgroot
这个列表显示了卷组、逻辑卷和物理卷的信息. 看下面一个小系统的信息列表
--- Volume groups ---
VG Name /dev/vgroot
VG Status available
Max L V 255 (max. no. of L V's allowed in V G)
Cur LV 4 (current no. of LV's configured)
Open LV 4
Max PV 16 (max. no. of PV's allowed)
Cur PV 2 (current no. of PV's configured)
Act PV 2 (actual no. of PV's activated)
Max PE per PV 4
PE Size (Mbytes) 4
Total PE 479 (total no. of PE's in VG)
Alloc PE 352 (total allocated PE's)
Free PE 249 (total no. of free PE's)
Total PVG 0

29
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

--- Logical volumes ---


LV Name /dev/vgroot/lvroot
LV Status available/syncd LV
Size (Mbytes) 92
Current LE 23
Allocated PE 46
Used PV 2

LV Name /dev/vgroot/usr
LV Status available/syncd
LV Size (Mbytes) 152
Current LE 38
Allocated PE 76
Used PV 1

LV Name dev/vgroot/swap
LV Satus available/syncd
LV Size (Mbytes) 152
Current LE 38
Allocated PE 38
Used PV 1

LV Name /dev/vgroot/scaff
LV Status available/syncd
LV Size (Mbytes) 400
Current LE 100
Allocated PE 100
Used PV 2

--- Physical volumes ---


PV Name /dev/dsk/c0t3d0
PV Status available
Total PE 157
Free PE 0

PV Name /dev/dsk/c0t2d0
PV Status available
Total PE 322
Free PE 127

在上面的例子中,可以看到
一个卷组: /dev/vgroot
四个逻辑卷: /dev/vgroot/lvroot, /dev/vgroot/usr,
/dev/vgroot/swap, /dev/vgroot/scaff

两个磁盘 (physical volumes): /dev/dsk/c0t3d0, /dev/dsk/c0t2d0


vgdisplay -v 的输出也显示了逻辑卷的大小以及所包含的数据按照
extens分配到磁盘的信息 .

30
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

显示LVM信息

逻辑卷

# lvdisplay [-v] /dev/vg*/lvol*

显示一个卷组中所有的逻
辑卷信息

逻辑卷
# lvdisplay [-v] /dev/vg*/lvol*
(displays all logical volumes in all volume groups)
# lvdisplay /dev/vg2/usr
--- Logical
volumes ---
LV Name /dev/vg2/usr
VG Name /dev/vg2
LV Perm ission read/write
LV Status available/syncd
Mirror copies 0
Consistency Recovery MWC
Schedule parallel
LV Size (Mbytes) 100
Current LE 25
Allocated PE 25
Bad block on
Allocation strict

注 使用lvdisplay –v显示一个或多个逻辑卷的详细信息
时,可以通过管道和more命令

# lvdisplay -v /dev/vg2/usr | more

同逻辑卷信息一样, 如果是镜像,能够在物理卷上看到LE的分布,每
个LE怎样对应相应的PE, PE的状态(current或stale)

31
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

例如。详细的显示可能如下:
# lvdisplay -v /dev/vg2/usr
--- Logical volumes ---
LV Name
--- Distribution of logical volume ---
PV Name LE on PV PE on PV
/dev/dsk/c5d0s2 25 25
--- Logical extents ---
LE PV 1 PE1 Status 1
0000 /dev/dsk/c0t5d0 0028 current
0001 /dev/dsk/c0t5d0 0029 current
0002 /dev/dsk/c0t5d0 0030 current
0003 /dev/dsk/c0t5d0 0031 current
0004 /dev/dsk/c0t5d0 0032 current
0005 /dev/dsk/c0t5d0 0033 current
0006 /dev/dsk/c0t5d0 0034 current
.
.
我们能够看到在/dev/vg2/ usr.中有25个LE ,在分配的表头下,我们可以看
到磁盘/ dev/dsk/c0t5d0 有一个逻辑镜像
"--- Logical extents ---"可以准确的看到LV中的数据怎样被分散到PE上。
("LE") "0000" 对应于物理 ("PE1") "0028". 如果数据被多次镜像,
以"PE2" 和 "PE3"为头的信息将会显示

显示逻辑卷管理的可启动磁盘上的内核设备
# lvlnboot -v
(显示root,swap,dump) Example:
# lvlnboot -v /dev/vg00
卷组 /dev/vg00:的启动定义
属于根卷组的物理卷:
/dev/dsk/c0t3d0 -- Boot Disk
/dev/dsk/c0t4d0 -- Boot Disk
/dev/dsk/c0t5d0
/dev/dsk/c0t2d0 -- Boot Disk
Root: lvol1 on: /dev/dsk/c0t3d0
/dev/dsk/c0t4d0
Swap: lvol2 on: /dev/dsk/c0t3d0
/dev/dsk/c0t4d0
Dump: lvol2 on: /dev/dsk/c0t3d0, 0
可启动的磁盘通过mkboot和pvcreate –B命令进行了初始化。lvol1和
lvol2 的多行显示表明了root和swap被做了镜像
注:lvol2被用作swap和dump,但是镜像仅仅是对于swap

32
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

33
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

显示逻辑卷信息

'/etc/lvmtab'文件内容

# strings /etc/lvmtab

显示卷组和物理卷的关系

/etc/vmtab的内容
strings – 显示一个对象中的可打印字符串或者其它
二进制文件

查看文件 /etc/lvm tab内容:


# strings /etc/lvm tab
(显示vg和pv的关系)
vg00
/dev/dsk/c0t3d0
/dev/dsk/c0t4d0
vg01
/dev/dsk/c0t5d0
/dev/dsk/c0t2d0
/dev/dsk/c0t0d0
/dev/dsk/c0t1d0
LVM配置的核心就是/etc/lvmtab文件, 它能够被所有的LVM命令读取.
/etc/lvm tab 不是一个屏幕可读或者可编辑文件
/etc/lvm tab 文件是运行时候产生的,也就是说,它是第一次使用
SAM或者如vgcreate命令时生成的、在任何时候改变了LVM配置
后都将被更新,任何配置的更新和查询都需要读取 /etc/lvm tab文
件。LVM磁盘的文件名被记录在/etc/lvmtab中,如果该文件被损毁,
包括了LVM数据结构的所有配置操作将不能进行

可以使用vgscan命令恢复/etc/lvmtab文件

34
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

Swap信息 (including LVM)


为了显示所有的交换区信息,执行:
# swapinfo

Kb Kb Kb PCT Start/ Kb
Type
Avail Used Free Used Limit Pri Name
Reserve
dev 48560 4120 44440 8% 0 -1 /dev/dsk/c0t0d0

dev 10240 0 10240 0% 0 -1 /dev/vg00/lvol1

bdf –b不能显示swap信息,所以必须用swapinfo命令来查看交换区。

35
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

36
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)
LVM设备文件
物理卷
/dev/[r]dsk/cCtTdD

Key Operation

[r] 字符设备标志
T LUN数
NOTE /etc/lssf仅列出设备文件名. 对所有的LVM设备文件可以在/dev/vg*下使用ll命令

卷组
/dev/vgXX/group
Key Operation

XX 卷组号 (00...255)
group 必须被写为group
逻辑卷
/dev/vgXX/[r]lvolY
Key Operation

XX 卷组号 (0...255)
[r] 字符设备
Y 逻辑卷号 (1...255)

注 可以对逻辑卷使用一个自定义的名字,以便快速的识别它的内容,使用lvcreate –n指定,不能
超过13个字符
例如:
/dev/vgdatabase/rlvaccounts
例子:
# ll /dev/vg02
crw-rw-rw- 1 root root 64 0x020000 Sep 21 10:59 group
brw-r----- 1 root root 64 0x020001 Sep 21 10:59 lvol1
crw-r---- 1 root root 64 0x020001 Sep 21 10:59 rlvol1

Key Operation

XX 卷组号 (0...255)
[r] 字符设备
Y 逻辑卷号 (1...255)
Key Operation

64 主号 64不变
02 16进制的卷组号
0000 对卷组为0000
01 16进制的逻辑卷号

37
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM命令 – 快速参考

物理卷命令
pvcreate 创建LVM磁盘(即物理卷)
pvdisplay 显示卷组中的物理卷信息.
pvchange 设置PV的性能,允许或拒绝从这个磁盘上分配另外的PE.
pvmove 在一个卷组中从源到目的移动已经分配的PE

卷组命令
vgcreate 创建卷组.
vgdisplay 显示卷组的信息.
vgchange 激活或者撤消卷组,允许卷组使用或不使用quorum来挂载
vgextend 通过添加磁盘扩充卷组
vgreduce 删除磁盘来缩减卷组,vgscan扫描所有磁盘寻找逻辑卷组
vgsync 同步镜像
rem ove 删除卷组.
vgexport 从系统中删除一个卷组,但不修改在基于物理卷的信息
vgimport 通过扫描使用vgexport命令输出的物理卷在系统中增加一个卷组
vgcfgbackup 保存卷组的配置信息. 记住一个卷组有一个或多个物理卷组成
vgcfgrestore 恢复卷组的配置信息

逻辑卷命令
lvcreate 生成逻辑卷.
lvdisplay 显示逻辑卷的信息.
lvchange 改变逻辑卷的特性,包括可用性、调度策略、权限、块重定位、分配策略、镜像缓存的
可用性
lvextend 增加逻辑卷的空间
extendfs 扩展文件系统的大小
lvreduce 减少逻辑卷的空间
lvremove 删除逻辑卷
lvsplit 分割镜像的逻辑卷
lvm erge 合并lvsplit过的的逻辑卷
lvsync 同步逻辑卷
lvm migrate 在一个分区中为逻辑卷迁移准备一个root文件系统
lvlnboot 用来建立 root, primary swap, or dump逻辑卷
lvrm boot 删除lvlnboot建立的逻辑卷

38
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

3: 修改卷组

39
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

VGEXTEND'ing

/dev/dsk/c0t4d0 /dev/dsk/c0t5d0

vg 01

vgextend 例子
假设有一个卷组/dev/vg01, 想增加两个磁盘给它,现有磁盘 L Us 4 和 5.
1. 创建pv(记住使用字符设备)
# pvcreate /dev/rdsk/c0t4d0
# pvcreate /dev/rdsk/c0t5d0

2. 增加pv到vg中(记住使用块设备).
# vgextend /dev/vg01 /dev/dsk/c0t4d0 /dev/dsk/c0t5d0

3. 使用下面命令验证卷组包含的磁盘
# vgdisplay /dev/vg01
可以看到磁盘在这个标头下面
--- Physical V olumes ---.

VGREDUCE
可以使用vgreduce来从卷组中删除磁盘, 但是必须首先删除其上的逻辑卷,无论任何时候从root卷组中增加或删
除磁盘,如果它没被设置为自动运行,都必须使用lvnboot命令去更新卷组启动盘存储的启动数据

40
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

VGREMOVE
如果要将一个卷组删除,那么可以使用vgremove命令。Vgremove仅删
除一个被vgreduce命令减少为一个物理卷的卷组,这个可以通过
vgdisplay命令看到,检查这两行

Cur PV 1
Act PV 1

.
.
如果两个值互不相同,就不能删除卷组。如果Cur PV的值比较高,
但在/etc/lvmtab和vgdisplay –v的输出中卷组只有一个物理卷,将不
能对它进行删除。除非这些丢失的PV被执行vgcfgrestore,如果不
这样做,那么唯一的办法就是进行vgvexport---这个是最有效的。

41
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

42
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVEXTEND'ing

lvol4
lvol5

增加分配给LV的PE

增加逻辑卷的大小
可以使用lvextend命令增加逻辑卷的大小. 也可以在特定的磁盘上指定你想要增加的磁盘空间(根据extents和
MB), 或者让LVM决定它的分布.
例如:

假定想增加逻辑卷 /dev/vg01/lvol4到200M, 目前大小是100M (如果它包含文件系统,确认文件系统被卸载

# lvextend -L 200 /dev/vg01/lvol4

注:指定的是新的大小而不是增加的大小,当LVM实现这个新的大小的时候,它将使用整个的extent大
小,例如extent是4M,但你指定了198M的空间,那么LVM将扩展逻辑卷到200M。也可以通过增加extents
的数量增加逻辑卷的空间。

上面的例子 也可以表示如下

# lvextend -l 50 /dev/vg01/lvol4
当指定 extents时使用 –l选项 (小写L),-L指定的是MB大小

43
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

扩展逻辑卷到特定磁盘上
假定卷组中有多个磁盘并且其中两个是同一型号,你想扩展一个磁盘上的一
个275M的逻辑卷到400M,同时你想确保增量被分配在同型的另一磁盘上。.

明确的指定磁盘的块设备文件

# lvextend -L 400 /dev/vg01/lvol4 /dev/dsk/c0t3d0

扩展文件系统
文件系统的容量增长与所在逻辑卷的增长一致,使用extendfs命令增
加。Extendfs读取当前的超块来找出当前的文件系统格式. 然后使用这些
信息去生成逻辑卷所需要的柱面组。一旦这些操作完成将会用新的信
息更新超块,extendfs要求使用字符设备文件.
# extendfs /dev/vg01/rlvol4
文件系统的扩展结果将在命令执行结束后反馈在屏幕上
再一次指定mount点,mount文件系统,例如
# mount /dev/vg01/lvol4 /projects
运行bdf查看增加的容量

注 extendfs被执行前必须umount文件系统

44
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVREDUCE'ing

lvol4
lvol5
lvol4

减少分配给LV的PE数量

使用lvreduce命令来减少空间
注:减少逻辑卷的大小将会因为空间的回收而丢失数据. 若事先没有进行备份.不要使用newfs命令减少
文件系统的大小.

例如
减少逻辑卷的大小
假定有80M的逻辑卷,你不再需要其中的数据,并且其它的应用也只需要40M的空间。

# lvreduce -L 40 /dev/vg03/lvol4

当这个命令发出后,系统会要求确认,确认后则继续进行,并返回结果
Logical volume "/dev/vg03/lvol4" has been successfully reduced.

45
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在磁盘间移动逻辑卷中的数据
在一个卷组中,可以使用pvmove命令将包含在一个逻辑卷中的数据从一
个磁盘移动到另外一个磁盘上。例如,你可以移动一个逻辑卷上的数据
从一个磁盘到另外一个磁盘上,而将第一个磁盘上的空间用作它用.
并且,能够移动所有的数据从一个盘到另外一个,例如你想从卷组
中删除一个盘,你就可以这么做,当将磁盘上的逻辑数据删除后,
就可以从卷组中删除掉这个磁盘
例如:
移动逻辑卷的数据从其中一个盘到另外一个盘

假如你想把逻辑卷/dev/vg01/markets中的数据从/dev/dsk/c0t3d0移动到
/dev/dsk/c0t4d0。
注:当发出这个命令时你必须使用-n标志在源磁盘上指定那个
逻辑卷. 也必须在命令行首先指定源磁盘
例如,
# pvmove -n /dev/vg01/markets /dev/dsk/c0t3d0 /dev/dsk/c0t4d0
例如

移动一个盘上所有的数据到另外一个盘
如果想移动卷组中给定的磁盘上所有的数据,可以使用pvmove命令来移动数据
到其它特定磁盘或者让LVM移动数据到卷组的可用空间里
为了移动磁盘/dev/dsk/c0t4d0上的数据并且让 L VM移动到卷组的可用
空间里,有如下命令:
# pvmove /dev/dsk/c0t4d0
移动 /dev/dsk/c0t4d0数据到目标磁盘/dev/dsk/c0t5d0
# pvmove /dev/dsk/c0t4d0 /dev/dsk/c0t5d0
如果目标磁盘上的空间不存在,命令将失败

删除逻辑卷
# lvremove /dev/vg3/lvol2
如果逻辑卷包含数据,系统将提示确认,也可以使用-f选项来强制删除,无须
确认。

46
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

47
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

第四课: 启动盘

48
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

49
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM启动盘
组成设计

LIF Volume Header


Boot
PVRA Data
BD RA
Reserved
LIF Volume
Area
V G RA

User
Data
Area

(Bad Block Pool)

LVM组成设计
(BDRA)启动数据保留区包含:
• root卷组中的磁盘位置和大小
• root、主swap、dump逻辑卷的位置
• 内核使用这些信息在启动的时候配置主交换区

使用 lvlnboot和 lvrmboot命令来维护

在root、主swap、dump逻辑卷上不支持坏块重置
为了启动系统,内核需要激活root逻辑卷所在的卷组,root逻辑卷的位置信息被存放在启动数据保留区
BDRA中,BDRA包含了根卷组中磁盘的位置大小以及其它如root、主swap、dump逻辑卷的配置和mount
根文件系统的信息。BDRA包含如下信息: 时间戳 (BDRA最后被写入的时间), 有效数据校验,root卷组的ID,
root卷组中的磁盘数量, root卷组中的磁盘的硬件地址列表, 查找root、主swap、dump逻辑卷和为root、主
swap、dump选择正确逻辑卷所需信息的目录.

50
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

启动盘的 LIF卷

LIF Volume H eader


PVRA
Contains:
B D RA ISL
LIF Volume HPUX
V G RA AUTO
User
LABEL
Data
Area

(Bad Block Pool)

启动盘的 LIF卷
启动区两部分: LIF 头和 LIF卷, LIF 头包含了指向LIF卷中文件的指针,LIF卷包含:
• ISL –初始化系统加载程序
• HPUX – 内核加载程序
• AUTO – 包含autoboot字符串
• LABEL –在一个正常的启动中,被HPUX用来定位root逻辑卷的位置,通过lvlnboot和lvrmboot命令更新.

LIF区仅mkboot命令能够生成

警告:dd和lifcp 不能用来生成bootarea,否则PVRA,BDRA 的信息将被覆盖

51
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

启动过程
ISL
LIF Volume Header

PV RA

BDRA 2 1
LIF Volume
LAB EL
3
hpux
4
VGRA
loader
/
5
vmunix

(Bad Block
Pool)
KERNEL
6

启动过程
The boot process is as follows:
1) ISL载入HPU X加载程序
2) HPUX loade在启动数据保留区中检测并寻找boot物理卷.
3) HPUX loader从启动物理卷中读取LABEL文件
4) ..查找root文件系统的位置
5) HPUX loader 将 /stand/vm unix 内核载入内存
6)内核读取BDRA区,配置root逻辑卷、主swap和dump逻辑卷

52
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

lvlnboot

lvlnboot -R
LIF Volume Header

PVRA
1
B D RA
LABEL
LIF Volume LABE L

2 2
V GRA

/
BDRA
vm unix

(Bad Block
1 lvlnboot -r
Pool)
-s
-d

lvnBoot
LABEL和 BDRA 由lvlnboot命令生成或更新

• -r 更新 root 逻辑卷定义.
• -s 更新 swap 逻辑卷定义..
• -d 更新 dump 逻辑卷定义..
注:以上选项更新BDRA区、然后是LABEL文件

注 -R选项在指定了BDRA内容的卷组中所有的启动盘上更新LABEL文件

这个选项不会对BDRA的内容做出改变,如果是空的,那么还将是空的,除非使用了-r,-s,-d选项

53
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

从一个损坏的可启动盘来启动
如果LABEL文件损坏,找不到root逻辑卷的位置.,
LVM结构要求根逻辑卷放在启动盘的指定位置,
利用这个我们可以启动到维护模式

启动到维护模式 ISL> prompt:


ISL> hpux -lm
LI F Volume Header
(;0)kernelfile
PV RA Key

B DRA

LI F Volume LABEL
-lm 不使用 BDRA和 LABEL file文件中的信息
启动到LVM "维护模式"
VG RA
lvol1 /
. i.e. –单用户
- 无激活的卷组

hp-ux
- 必须重新启动

(Bad Block Pool)

从可启动磁盘启动
ISL> hpux -lm (;0)/stand/vmunix
不使用BDRA和L ABEL文件的信息
启动到LVM "维护模式"
. i.e. –单用户
- 无激活的卷组
必须重新启动

在系统安装或者当关键的LVM数据结构丢失的时候,维护模式提供了一种方法,

使用ISL> hpux –lm命令


系统将被启动到一个单用户状态,该状态没有主swap、dump或者访问root文件系统的LVM

.
注:在LVM模式下,不能把系统引导进多用户模式(init 2),否则可能导致root文件系统的损坏

54
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

创建一个启动盘

主要命令:

1) pvcreate - B

2) vgextend

3) mkboot

创建启动盘
在root卷组中创建启动盘

在两种特殊的情况下创建可启动盘是很有用的

1)为root逻辑卷做镜像
2) 创建新的root逻辑卷

增加一个可启动磁盘到root卷组中
1) pvcreate -B 生成物理卷.
2) vgextend.增加磁盘到卷组中
3)使用 m kboot将(LIF)放在启动区中
4) 使用 m kboot -a 命令修改LIF区中的AU TO文件

mkboot, rmboot –从磁盘上安装、更新删除启动程序


语法
/usr/sbin/mkboot [-a auto_file_string] [-v] device
/usr/sbin/rmboot device
详细描述
启动程序以逻辑互换格式(LIF)存放在启动区, 同于一个文件系统。对于可启动的设备,LIF卷必须包含
ISL、HPUX LIF文件,此外,如果设备是一个PV,那么LABEL文件也必须存在

55
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

选项
mkboot有如下选项:
-a auto_file_string 如果指定了-a选项,mkboot命令在设备上生成
了一个自动执行文件AUTO,如果没有的话,
mkboot将auto-file-string放置在那个文件中,
该字符串是单参数,如果包含空格的话,一
定要用引号
device 在指定的设备上安装启动程序,设备可以是字
符的也可以是块设备,然而,mkboot要求无论
是块设备还是字符设备,其设备文件必须存
在,mkboot根据路径名判断是块设备还是字符
设备,基于这个原因,所以必须提供完全路径
名,如果mkboot不能确定相应的设备文件名,
将有相应的信息显示

例子:
从 /usr/lib/uxbootlf 复制LIF到启动盘6
# mkboot /dev/rdsk/c0t6d0 (LVM File System)
用磁盘6的启动信息复制并更新LIF区的AUTO文件
# mkboot /dev/rdsk/c0t6d0 (LVM File System)

56
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

第五课: 恢复

57
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM 数据结构备份
# vgcfgbackup vg01

vg01.conf

P VR A P VR A P VR A
V GR A V GR A V GR A

vg 01 vg 02 vg 03
l v ol 1 l v ol 1
l v ol 1
vg 01 vg 03
vg 02
l v ol 2 l v ol 2
ll v o l 2l
Bad Block 2
Po ol

LU 1 LU 2 LU 3

LVM 数据结构备份恢
仅有LVM数据通过vgcfgbackup备份. vgcfgbackup 自动运行
• 卷组中磁盘的添加删除
• 改变卷组中的启动磁盘
• 逻辑卷和卷组的添加和删除
• 逻辑卷和卷组的延伸和收缩
vgcfgbackup 保存配置信息为 /etc/lvm conf/ vgXX.conf,二进制文件,每个卷组对应一个文件

vgcfgbackup备份了每个LVM磁盘的LVM记录,每个可启动LVM磁盘的BDRA记录,每个当前的VGDA和
VGSA的数据结构副本,LIF的LABEL文件,vgcfgbackup不备份LIF头和文件以及坏块目录,vgcfgbackup
不能使用A –n选项关闭

58
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM 数据结构还原

vgcfgrestore -n vg01 /dev/dsk/c0t2d0


LU 1 LU 2 LU 3
P V RA P V RA P V RA
V GR A V GRA V GR A

vg01 v g 0 2l vg03
l vo l 1 v vo l 1 v l vo l 1
g 0 1 l vo g 0 2 l vo v g 0 3l
l2 l2 vo l 2
Bad Block Pool Bad Block Pool Bad Block Pool

lu2 crashed

只有LVM数据能被vgcfgrestore恢复.

首先必须将卷组状态改为非激活状态
vgchange -a n vg01

还原 vg01:
• # vgchange -a n vg01
• # vgcfgrestore -n vg01 /dev/rdsk/c0t2d0
• # vgchange -a y vg01

如果没有保存的话,客户数据必须从备份中还原到所有受影响的逻辑卷上

59
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

VGSCAN
# vgscan -v

PV1 PV2 PV3

vg01 vg01 vg01

/etc/lvmtab
vg01
/dev/dsk/c0t1d0
/dev/dsk/c0t2d0
/dev/dsk/c0t3d0

vgscan
Vgscan查找所有的加电磁盘并且联机查找逻辑卷的信息

如果有充分的信息,尽量的根据卷组分组情况,重新在/etc/lvmtab中生成它们的记录,反之,需要做vgimport

注 为了重新生成/etc/lvmtab文件,必须首先重命名或者删除掉旧的文件

60
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

VGIMPORT

# vgscan -v

Root
Disk vg??
lvol1
lvol2 lvol?
lvol3 lvol?

vgimport
使用vgimport恢复丢失的卷组需要两步
1) vgscan
该步骤扫描磁盘并且提示那组磁盘需要进行vgimport

61
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

VGIMPORT

# vgimport -n vg01 /dev/dsk/c0t3d0

Root
Disk vg01
lvol1
lvol2 lvol1
lvol3 lvol2

2) vgimport
在此之前,必须通过mknod生成group文件,vgimport命令需要vgscan命令
所看到的所有的卷组和设备文件的名称以及所有的物理卷,然后生成逻辑
卷文件,同时更新/etc/lvmtab

注 如果逻辑卷有非标准的名称,仅需要简单的使用mv命
令重命名,如果有mapfile,需要使用vgimport -m

62
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

使用vgimport 和vgexport命令
多数人最先使用的工具是vgscan,然而 vg scan是有条件的:
• 卷组的所有LVM设备存在
• 包含在这些设备中的信息是正确的
• /etc/lvm tab 没有提及卷组
• /etc/lvm tab 没有分配给其它VG的PV设备文件
如果LVM信息未知或者错误,那么最好使用vgimport和vgexport而不是使用rmsf、insf、vgscan.
案例 1 根磁盘损坏需要重新安装
重新安装后,你发现逻辑单元数量发生了改变,一般情况下,从当前root磁盘的全备份复原后重新启动就可完成整
理,但在实际生活中,当你需要的备份的时候客户总是没有

其它办法?
1. 如果卷组文件存在,需要使用rmsf和inst重新取得所有的设备文件名然后使用vgscan。如果卷组文件不存在但是它们的名
称和次号知道,那么可以在以上命令之后重新生成卷组文件。这种方法用于磁盘数量比较少的情况下
2. 可以重建所有的VG和LV,然后还原它们的数据,虽然方法可行但不具有可操作性
3. 使用vgexport/vgimport. 你只需要知道那个磁盘属于哪个vg
例 1
/dev/dsk/c0t5d0, c0t6d0, and c0t7d0 是卷组/dev/vg05的成员. 系统损毁需要恢复。重新安装后, c0t5d0 是完
好的,但c0t6d0 and c0t7d0 已经被分别重新配置成了 c0t10d0 and c0t12d0.当然, 客户没有 /dev或者
/etc/lvm tab的备份,所以/dev/vg05 启动时不能激活
必须重新创建卷组
没有备份, 问题在于决定卷组的数量和名称,找出配置中最先有那个磁盘
重新生成这个group:
1. vgscan
那个磁盘有系统的相关信息
2. mkdir /dev/vg05; m knod /dev/vg05/group c 64 0x0y0000
用卷组号代替y
3. vgimport /dev/vg05 /dev/dsk/c0t5d0 /dev/dsk/c0t10d0 /dev/dsk/c0t12d0
例 2
磁盘被移动到不同的总线上,修改和启动后,同于上面的例子. 3个物理卷中的两个,联合最初的 L U's, quorum不满
足,所以卷组不能激活. 还原 L VM配置.

63
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

例2答案
在这个情况下,目录/dev/vg05存在并包括了它的LV设备文件,另外在/etc/lvmtab中也列出了卷组和最初的物
理卷,我们可以使用vgexport/vgimport来用新的LU号来将pv包含在它所属的卷组中
1. 注 /dev/vg05/group的次号能被 vgexport.删除
2. 如果VG不知何故不能激活,使用vgchange -a n /dev/g05
3. vgexport -m /tm p/mapfile /dev/vg05
4. mkdir /dev/vg05; m knod /dev/vg05/group c 64 0x0y0000
用VG号代替y
5. vgimport /dev/vg05 /dev/dsk/c0t5d0 /dev/dsk/c0t10d0 /dev/dsk/c0t12d0
6. vgchange -a y /dev/vg05
Case #2 使用备用盘代替损坏的盘?
这个情况是很可能发生的,但是当磁盘被替换时VG是不可用的,最好的解决办法就是做镜像.
例3
/dev/dsk/c0t6d0, c0t7d0 and c0t8d0是卷组/dev/vg03的成员. /dev/dsk/c0t9d0 是配备给系统的一个空盘但不是
组的成员, c0t7d0出现故障需要用c0t9d0来替换.
例3答案
使用c0t9d0代替
1. 注/dev/vg03/group的次号,vgexport.将删除它
2. 如果VG不知何故不能激活,使用vgchange -a n /dev/g03
3. vgexport -m /tm p/mapfile /dev/vg03
4. mkdir /dev/vg03; m knod /dev/vg03/group c 64 0x0y0000
使用VG号代替y
5. vgcfgrestore /dev/vg03 -o /dev/dsk/c0t7d0 /dev/dsk/c0t9d0
6. vgimport /dev/vg03 /dev/dsk/c0t6d0 /dev/dsk/c0t9d0/dev/dsk/c0t8d0
7. vgchange -a y /dev/vg05
8. 用pvdisplay -v /dev/dsk/c0t9d0 | more 查看那个LV因磁盘故障受到影响,恢复数据.

64
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

第六课: 镜像

65
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

单路镜像
1
1 LE PE 2
PE
2 LE 3
PE
4
3 LE
PE 5
4 LE PE 6

5 LE PE 7
PE
6 LE /dev/rdsk/c0t0d0
7 LE

1
PE
2
PE
3
PE
4
PE 5
PE 6
PE 7
PE
/dev/rdsk/c0t1d0

单路镜像
• 需要软件 MirrorDisk/UX
• 允许在单独的磁盘上的保留数据副本
• 联机备份
PE的镜像规则
严格的 (缺省)
• PE包含的副本必须在单独的PV上
• 很高的硬盘失败保护

非严格的
• 镜像的PE可以在同一个PV上
• 如果PV损坏起不到数据保护的作用

66
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

多路镜像
1

PE 2
1 PE 3

LE PE
PE
4
5
original
2 LE PE 6
PE 7
3 LE PE
/dev/rd sk/c0t0d0
4 LE
5 LE 1

PE 2
6 LE PE 3
PE 4
7 LE PE 5

PE 6

PE 7
PE
/dev/rdsk/c0t1d0 mirror
copies
1

PE 2
PE 3
PE 4
PE 5

PE 6
PE 7
PE
/dev/rdsk/c0t2d0

两路镜像

两路镜像,每个LE有三个对应的PE
.
在数据镜像的时候允许联机的数据备份进行,下面的情况下很有用
• 用于特别重要的数据可用性设计.
使用lvcreate –m 加上镜像数量来生成LV的镜像
例子:
• 生成逻辑卷镜像.
/dev/vg01下的40M的逻辑卷,通过严格规则进行单镜像,镜像写缓存关闭,启用镜像一致性恢复机制
# lvcreate -L 40 -m 1 -M n -c y /dev/vg01

卷组/dev/vg01的配置文件被保存在 /etc/ lvm conf/vg01.conf,作为卷组中的第一个逻辑卷,以上命令生成了


40M的逻辑卷/dev/vg01/lvol1,如果LE的大小是4M,将有两组PE分别在卷组的两个磁盘上生成, 对于这
个逻辑卷,镜像写缓存是关闭的,并启用了镜像一致性恢复机制

67
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

在做逻辑卷镜像的时候必须指定大小,不能对大小为零的逻辑卷做镜像.
例:
• 增加镜像的数量
如果想要对一个逻辑卷进行镜像或将镜像数由1个增加到两个,可以使用lvextend命令,如果有必要也可以
将新的镜像分配在指定磁盘上
对dev/vg3/lvol2做镜像
# lvextend -m 1 /dev/vg3/lvol2
新增加的镜像将被同步
这个操作将需要一段时间,请等待
Logical volume "/dev/vg3/lvol2" has been successfully extended.
指定的-m 1选项使得在LV原有的副本外增加一个镜像,当镜像生成后,将要用原始的数据来同步新的PE,这个需要一
段时间,根据逻辑卷的大小而定。
对逻辑卷 /dev/vg3/lvol2在指定的物理卷/dev/dsk/c0t4d0做镜像,
# lvextend -m 1 /dev/vg3/lvol2 /dev/dsk/c0t4d0
例:
• 使用指定硬盘生成逻辑卷镜像
假定想对一个60M的文件系统做单镜像,并且想使用同样类型的指定硬盘,卷组包含多个硬盘类型,而将
镜像放在同类型的硬盘上可以优化文件系统的性能
1. 生成一个空的逻辑卷saleslv.
# lvcreate -n saleslv /dev/vg5
假设已经成功生成
2. 扩展一个extent到指定的硬盘上.
# lvextend -l 1 /dev/vg5/saleslv /dev/dsk/c0t4d0
3. 再依次扩展逻辑卷, 这次指定镜像在所要求的磁盘上.
# lvextend -m 1 /dev/vg5/saleslv /dev/dsk/c0t5d0
因为被加入的逻辑卷没有数据,所以最后一步将执行的特别快,也可以通过在第二步将逻辑卷扩展到60M而省略掉最
后一步,但随后的镜像需要数据同步的时间
注: 将来, 当想扩展镜像的逻辑卷并继续使用相同的特定物理卷时,记住在命令后指定

68
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

分割镜像

lvol1
最初PE

镜像PE

lvol1b

分割镜像
使用lvsplit 命令将镜像的逻辑卷分为
两个逻辑卷,原始的逻辑卷保留原来
的名字,而分割出来的逻辑卷有后缀
b,如果想对其定义名字,需要使用-
s选项

69
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

合并分割开的逻辑卷 初始PE

镜像PE
lvol1

lvol1b

分割合并逻辑卷
使用lvmerge命令来还原分割的镜像逻辑卷

举个例子,你可以分割一个镜像的逻辑卷,使其中一部分在备份的同时而另一个镜像备份可以供系统使用,
当备份结束后进行还原。对每个分割成两个逻辑卷的镜像卷,当重新合并它们时,LVM自动的生成一个
表来重新对数据进行同步,这个表可以减少同步所需要的时间,在分割的组中任何一个逻辑卷进行扩
展、收缩或者重新分割以及系统重启时,表都将一直存在,如果表不存在所有的数据将被重新同步.

当LVM合并分割的逻辑卷时,它重新同步数据,基于仍在使用的备份所做的改变,对PE进行更新。
如果任何一个备份都没有改变则不需要进行
例:
• 使用 lvsplit, lvm erge在线备份
假定对有双份镜像的逻辑卷/dev/vg2/lovl1上的文件系统/lptest进行备份,而且想在备份的同时继续访问该文件系统(也
就是说不想进行umount),所以决定暂时的将逻辑卷分割为二

70
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

1. 分割逻辑卷. (需要首先使用lvdisplay -v /dev/vg2/lvol1 验证当前LE


和已经分配的PE的数目)
lvsplit -s backup /dev/vg2/lvol1
Logical volume "/dev/vg2/lvol1backup" has been successfully created
with lv number 5.
Logical volume "/dev/vg2/lvol1" has been successfully split.
原始卷 /dev/vg2/lvol1继续将被使用,使用display命令,现在将看到
每个LE将少了一个镜像,如果分割前有两个,那么现在就有一
个,如果分割前有一个,那么现在将没有镜像
新的逻辑卷 /dev/vg2/lvol1backup被分割出来

2. 在文件系统/dev/vg2/lvol1backup.
上实施备份 (或者其它的文件系统备份)

注: 首先使用fsck进行文件系统的一致性检测,然后mount并备

3.当准备合并分割的逻辑卷的时候,卸载分割逻辑卷上的文件
系统(如果已经进行了mount ).
4. 合而为一
# lvm erge /dev/vg2/lvol1backup /dev/vg2/lvol1

警告:
注意顺序
lvm erge 分割下来的逻辑卷 原始的逻辑卷
不要把顺序搞反,否则最近的数据将被覆盖

合并之后,验证逻辑卷镜像的状态与分割前的状态是否一致,并且分割下
来的逻辑卷这时将不再存在

71
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM 磁盘条带化
什么是条带?

数据分布在多个磁盘上
能够极大的增强性能

aaaabb bbcccc ddddee


eeffff gggghh ....

LVM 磁盘条带
条带的大小范围是4K-64K,缺省为16K,当生成一个条带逻辑卷时,如果它包含一个文件系统,那么
条带的大小应当等于块的大小。这样在理论上就确保了连续的块将被写入单独的磁盘上,能带来很大
的性能提高,当访问数据时系统I/O的状态分析和基准将会更精确的确定条带的大小
如果逻辑卷是的裸设备,那么条带的到小必须谨慎选择,因为这个将依赖于应用的IO块大小、磁盘驱动器等因素。应用开
发人员的建议或者系统基准获得的图表应该可以提供所需要的信息

72
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM 磁盘条带化
条带大小是 4k,8k,16k,32k和64k. (缺省16k)
条带磁盘块分布

1 4 7 2 5 8 3 6 9

10 13 16 11 14 17 12 15 18
19 22 25 20 23 26 21 24 27

使用lvextend扩充的旧方法,条带最小也得是LE的大小—1M,这个有
以下缺点
• 仅1G的大小,对其条带化也需要几个小时l.
• 如果数据库有不到一个LE大小的数据集中访问的热点,那么一点帮助
也没有,实际上这个情况经常发生.
版本10.0的方法再一次细分LE到更小的块,在同一磁盘上,这些块不是顺序
写入而是交替写入到不同的磁盘,名称条带即来自于此,通过简单的把
数据分解成IO大小的块,这些块被均匀分布在所有的磁盘上,每个
磁盘可以独立的访问部分的数据。这样可以避免数据热点的发生。
创建一个条带逻辑卷的时长简单的通过-i选项和指定条带的磁盘数
量得以减少

73
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM 磁盘条带

使用lvcreate的如下选项:
-i 指定条带的磁盘数目
-I 指定条带大小

LE0 LE1 LE2


LE3 LE4 LE5
LE6 LE7 LE8

ftware Disk Striping (SDS)磁盘条带软件从700系列开始被


整合到了LVM中
• 700和800系列都有此功能
• SDS 已经过期
通过均匀的在多个磁盘上分布数据,磁盘I/O 将被更均匀的分布在磁盘上,
这个能带来很大的性能提高,在一个非条带的磁盘上如果数据和设计合理。
否则,即便要很小的性能提高也得引起重视

74
HP-UX 逻辑卷管理指南 iamjw----(cpio_tar_backup@126.com)

LVM磁盘条带
条带大小4k,8k,16k,32k and 64k. (缺省16K)
条带磁盘块

1 2 3

创建条带化磁盘lvcreate有两个新选项目
• -i 指定将要条带的PV的数量2—256(最大值限于目前卷组中物理卷的数量)
• -I 指定条带大小
为了生成一个条带的逻辑卷上面的命令之一为
lvcreate -i 3 -I 32 -1 9 -n lvstripes /dev/vg01
这里
-l le_number 分配给LV的空间,以LE为单位,是1-65535之间的10进制数
-n lv_name 设置新的逻辑卷名,这里逻辑卷名只是个简单的文件名,不是路径名

75

You might also like