风影子
作者风影子·2011-03-24 22:29
数据库管理员·深圳

rootvg镜像实施

字数 4977阅读 3601评论 14赞 5

  无意中发现一用户20来台小机居然没有一台做了rootvg镜像,更没有做过操作系统备份,于是跟用户提示风险后,用户要求今天进行操作系统备份和进行rootvg镜像。镜像也做过很多了,应当是在本论坛找的资料,平时我记录在一个文档里,今天做了这么多,顺便记录一下。

  1.1 磁盘镜像概述
磁盘镜像就是对一个 LV 中的 LP 的多个 PP 进行同步操作,让它们保持数据的一致。这可以增加数据的可用性。
AIX 和 LVM 提供了 LV 级别的磁盘镜像功能,可以让 LV 在创建时就已经实现了镜像。
mklv 命令可以让您为 1 个 LV 选择 1 个或 2 个其它的 LV 来构建镜像。同时也可以通过 mklvcopy 命令来实现对已存在的 LV 创建镜像的功能。以下的因素可以进一步增加镜像中的数据可用性:
数据的副本数量: 3 个副本数量的可用性肯定会高于 2 个副本的。
副本的存放位置: 尽量将 LP 的副本存放在不同的 PV 上,这样可以增加数据的可用性,不至于在物理磁盘出现问题事,整个镜像都不可用。

mirrorvg 命令可以实现一个 VG 中所有 LV 的镜像。当然,这也可以通过对 VG 中所有的 LV 一一使用 mklvcopy 来实现,但首先必须保证目标 LV(被镜像的 LV)也是这个 VG 中的成员。
一般只有rootvg需要做镜像,该卷组为操作系统启动所需要,如果一旦被破坏则操作系统都无法启动。Aix操作系统默认将rootvg安装在一块本地磁盘上,另一块本地则空闲。
1.2 为什么要对rootvg做镜像
如果你的系统的rootvg仅有一块硬盘,当灾难来临的时候,例如硬盘损坏,这就意味着你的系统就再也不能启动了。尽管你可能拥有mksysb的磁带,但你仍然需要花费很多的时间去处理这个原本很小的问题。rootvg镜像能够提供单机bos容错,使得你能够用最短的时间摆脱这种困境,简单到只需要一次重新启动。

1.3 如何判断rootvg是否做了镜像
#lsvg -l rootvg
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 2 4 2 open/syncd N/A
hd8 jfslog 1 2 2 open/syncd N/A
hd4 jfs 1 2 2 open/syncd /
hd2 jfs 33 66 2 open/syncd /usr
hd9var jfs 1 2 2 open/syncd /var
hd3 jfs 1 2 2 open/syncd /tmp
hd1 jfs 1 2 2 open/syncd /home
Hd10opt jfs 4 8 2 open/syncd /opt

说明:LP*2=PP表示一份镜像,LP=PP表示没做镜像,LP*3=PP表示有二份镜像。
LP*2=PP,是指一份LP的数据,对应两份PP的数据,物理上是有2份拷贝。

# lsvg rootvg
VOLUME GROUP: rootvg VG IDENTIFIER: 000a1ddc00004c00000001197f36bcd3
VG STATE: active PP SIZE: 32 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 1084 (34688 megabytes)
MAX LVs: 256 FREE PPs: 994 (31808 megabytes)
LVs: 9 USED PPs: 90 (2880 megabytes)
OPEN LVs: 8 QUORUM: 1
TOTAL PVs: 2 VG DESCRIPTORS: 3
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 2 AUTO ON: yes
MAX PPs per VG: 32512 0
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable

说明:
QUORUM: 2 表示没有。
QUORUM 1 表示有。

1.4 rootvg镜像操作
下面假设rootvg安装在本地硬盘hdisk0上,现在要在本地硬盘hdisk1上对rootvg做一份镜像。

# lspv
hdisk0 000a1ddc7f36a2f0 rootvg active
hdisk1 none None

#chdev -l hdisk1 -a pv=clear
#chdev -l hdisk1 -a pv=yes
hdisk1 changed

# lspv
hdisk0 000a1ddc7f36a2f0 rootvg active
hdisk1 000a1ddcd9e3cc9e None

#extendvg rootvg hdisk1 //如果hdisk1内有数据在做extend的时侯hdisk1里面的数据就没了
#extendvg -f rootvg hdisk1 //强制把hdisk1加入到rootvg中

#lspv
hdisk0 000a1ddc7f36a2f0 rootvg active
hdisk1 000a1ddcd9e3cc9e rootvg active

#mirrorvg rootvg hdisk1
#mirrorvg rootvg
0516-1124 mirrorvg: Quorum requirement turned off, reboot system for this
to take effect for rootvg.
0516-1126 mirrorvg: rootvg successfully mirrored, user should perform
bosboot of system to initialize boot records. Then, user must modify
bootlist to include: hdisk0 hdisk1.

//查看mirror是否完成了

具体操作步骤如下 :
a) 查看一下当前可用的硬盘:
# lspv
hdisk0 0002d74f0e69d97a rootvg
hdisk1 0002d74fea8ad09d none
hdisk2 000214dadca3a694 dbbakvg
hdisk3 0002d74f1e67ac3b dbbakvg

在此例中,hdisk0是系统安装后默认使用的硬盘,而hdisk1最后的一项属性显示为“none”,说明此硬盘未被任何VG使用,可以用它来做rootvg的

镜像。

b) 检查 hdisk1 是否可作为由 AIX 支持的引导设备:
# bootinfo -B hdisk1
如果此命令返回值 1,则选择的磁盘可以由 AIX 引导。任何其它值表示 hdisk1 不是 rootvg 制作镜像的候选。

c) 扩展rootvg以包含hdisk1:
# extendvg rootvg hdisk1
如果hisk1之前被其他VG用过,可以用 -f 参数#extendvg -f rootvg hdisk1

d) 取消VG中的物理卷限额管理(在VG中只要有任一PV有效,此VG就可用):
# chvg -Qn rootvg
运行之后,再用lsvg rootvg查看,QUORUM项的值将是1

e) 对rootvg进行镜像操作:
# mirrorvg –c 2 rootvg
此项工作所需要的时间与rootvg当前所用的空间大小有关,实际操作中,95 GB的大小,用了2个小时。

f) 在rootvg的两块盘上创建引导信息:
# bosboot –ad hdisk0
# bosboot –ad hdisk1

g) 设备系统启动设备的顺序:
# bootlist–m normal hdisk0 hdisk1 cd0

到此,rootvg的镜像工作就完成了。
1.5 设置本地两块硬盘都能启动系统
下面假设目前仅hdisk0能启动系统,现需要在hdisk1对rootvg做了一份镜像后将hdisk1也加入到启动列表,让两块硬盘都能引导系统。

# bootlist -m normal -o
hdisk0

# bosboot -ad /dev/hdisk1
# bootlist -m normal hdisk1 hdisk0
# bootlist -m normal -o
hdisk1
hdisk0

# shutdown -Fr

说明:AIX:rootvg镜像。使两个硬盘均可启动。好处:主启动硬盘坏时,可以用另一个磁盘启动机器

备注:
chdev –l hdisk1 –a pv=yes是安全的。如果它运行不成功,那创建VG肯定失败,
因为mkvg就是调用的它。

1.6 取消rootvg镜像
# unmirrorvg rootvg hdisk1 //把rootvg 的mirror去掉
# chpv -c hdisk1 //去掉hdisk1的引导信息
# reducevg rootvg hdisk1 //从rootvg中删除hdisk1
#rmdev -dl hdisk1 //删除硬件设备(加-R表示强制删除)
# bootlist -m normal hdisk0

备注:如果向unmirrorvg rootvg不指定盘是很危险的,一般不指定盘不要用此命令


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论14 条评论

nkj827nkj827项目经理长春长信华天
2011-04-26 10:23
写的好,支持
larc_honeylarc_honey系统工程师ofeida
2011-04-15 14:33
写的好详细啊。感谢。
huyangghuyangg技术经理hgg
2011-04-01 17:39
值得收藏!!!!!!!!!!!!
feidaodaofeidaodao系统运维工程师GA
2011-03-27 21:03
2块盘做mirror,加一个-c 2不是多余嘛。
风影子风影子数据库管理员深圳
2011-03-26 09:52
不参加,本身虚拟化就还没接触,视频也都没来得及看。
aixclubaixclub网站运营经理TWT
2011-03-25 16:05
好的,这个不要求特别复杂,讲清楚就行!另外,虚拟化大师赛你参加了吗?
风影子风影子数据库管理员深圳
2011-03-25 16:02
明白了,是指写这个呀。
风影子风影子数据库管理员深圳
2011-03-25 15:25
campspirit: QUORUM: 1 表示没有。
QUORUM 2 表示有。
这个是错的,刚好相反
已经改过来了感谢提醒
风影子风影子数据库管理员深圳
2011-03-25 15:06
aixclub: 风影子,能否把这个文章修改一下来参加征文活动啊!
嗯,可是这个不是我的原创,也是不知道从哪拷过来的。但技术都是一样的,我可以考虑考一下,找台测试环境试一下,写得更详细一点。
风影子风影子数据库管理员深圳
2011-03-25 15:04
campspirit: QUORUM: 1 表示没有。
QUORUM 2 表示有。
这个是错的,刚好相反
谢谢提醒,难怪昨天用户问我这个事
campspiritcampspirit技术经理中科软
2011-03-25 13:54
QUORUM: 1 表示没有。
QUORUM 2 表示有。
这个是错的,刚好相反
aixclubaixclub网站运营经理TWT
2011-03-25 11:19
风影子,能否把这个文章修改一下来参加征文活动啊!
aixclubaixclub网站运营经理TWT
2011-03-25 11:18
好文啊!
Ctrl+Enter 发表

作者其他文章

相关问题

X社区推广