分类: 其他UNIX
2014-01-10 11:05:47
gkzf0#vgchange
Usage: vgchange
{-a Availability -q Quorum [-l] [-p] [-s] [VolumeGroupName... ]}
{[-S shareable] -c cluster VolumeGroupName}
{[-P parallel_nomwc_resync_count]}
or
vgchange -a Availability -x {VolumeGroupName...}
1)单机环境(vgchange –a y/n vgXX)
#vgchange –a y vgXX #激活卷组
#vgchange –a n vgXX #去激活卷组
大部份LVM操作只能在VG被激活时做,也有少数操作只能在VG被去激活的状态下执行,比如说vgexport。
2)Cluster环境(vgchange –c y/n vgXX)
当几台主机共享一个VG时,如果在多台主机上激活VG,那么每一台主机都可能对数据进行修改,而其他的主机却不知道数据已被改变,这样数据的完整性无法保证。
所以在Cluster环境下,将共享VG的属性置为exclusive模式。这样,当一台主机已经以exclusive模式激活VG之后,在其他的主机上无法再激活这个VG,这样就保证了数据的完整性。应用VG独享方式需要安装MC/SG。
#vgchange –c y /dev/vgXX #设置VG的exclusive属性,设置之后VG无法以vgchange –a y 激活。 # vgchange –c n /dev/vgXX #去掉VG的exclusive属性,当然设置之后就无法用vgchange –a e来激活这个VG了。
#vgchange –a e /dev/vgXX #以exclusive模式激活卷组,只在cluster环境下有效,需要首先vgchange –c y /dev/vgXX
#vgchange –a n /dev/vgXX #在cluster模式下去激活一个VG,仍然是用这个命令。
3)共享环境(vgchange –a s/n vgXX )
并不是所有的场合,都不允许VG同时在两台以上的主机上被激活。在应用Oracle OPS时就是一个例外。这时卷组被以一种共享的方式激活,数据的完整性由应用程序(这里当然就是Oracle OPS)来保证。
因为操作系统本身无法保证数据的完整性,所以设成共享模式激活的卷组必须使用裸设备,这样OS不会对该设备进行缓冲,而完全交给应用程序处理。
应用VG的共享方式需要安装MC/SG OPS edition。
#vgchange –c y –S y /dev/vgXX #设置VG为共享模式,设置成功后VG只能用vgchange –a s激活,如果要用vgchange –a y激活,则必须先将VG的共享模式去掉(用vgchange –S n /dev/vgxx). #vgchange –a s /dev/vgXX #以共享方式激活VG
#vgchange –a n /dev/vgXX #在共享模式下去激活方法不变
4)可以看到,VG可以有很多种状态。大概包括激活、去激活、独占模式(exclusive)、共享模式(shared)等。可以通过vgchange命令带不同的参数来改变VG的状态。通常对VG进行修改,比如说在VG中增加一个PV、增加一个LV或改变LV大小等操作,都要求VG处在激活或是独占模式。在Cluster环境下,很多LVM操作可以通过在一台主机上进行,再用vgimport同步到cluster
中的其他主机上。但是在共享模式激活时,这些操作通常是不可以完成的。所以在为客户扩充、增加LV时,就要先了解客户的环境,以确定是否需要预定DOWN机时间。