Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1149307
  • 博文数量: 56
  • 博客积分: 1682
  • 博客等级: 上尉
  • 技术积分: 719
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-21 17:29
文章分类
文章存档

2013年(1)

2012年(11)

2011年(44)

分类: 系统运维

2012-02-17 18:48:51

激活卷组#vgchange –a n vgXX #去激活卷组大部份LVM操作只能在VG被激活时做,也有少数操作只能在VG被去激活的状态下执行,比如说vgexport。2)当几台主机共享一个VG时,如果在多台主机上激活VG,那么每一台主机都可能对数据进行修改,而其他的主机却不知道数据已被改变,这样数据的完整性无法保证。
所以在Cluster环境下,将共享VG的属性置为exclusive模式。这样,当一台主机已经以exclusive模式激活VG之后,在其他的主机上无法再激活这个VG,这样就保证了数据的完整性。应用VG独享方式需要安装MC/SG,其控制命令是vgchange –c y/n vgXX, 具体用法: #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)并不是所有的场合,都不允许VG同时在两台以上的主机上被激活。在应用Oracle OPS时就是一个例外。这时卷组被以一种共享的方式激活,数据的完整性由应用程序(这里当然就是Oracle OPS)来保证。
因为操作系统本身无法保证数据的完整性,所以设成共享模式激活的卷组必须使用裸设备,这样OS不会对该设备进行缓冲,而完全交给应用程序处理。
应用VG的共享方式需要安装MC/SG OPS edition.,其控制命令是vgchange –a s/n vgXX 具体用法: #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机时间。 经验共享:从PVLink看设备名
作者:大漠孤舟
一天发现dmesg出来好多,PVLink failed,但是不知道是哪块盘,不着头绪。今日细细看了,作如下解释: “LVM: VG 64 0x0c0000: PVLink 31 0x0cd400 Failed! The PV is still accessible.” 0x0c0000 这是VG 的Minor ID 0x0cd400 0c这两位为该设备对应的Bus ID d这一位为该设备的target ID 4这一位为该设备的LUN ID 00不知道这两位是标识何东东因此0x0cd400对应的设备名为:c12t13d4
关于HP-UX中的syslog机制简单来说,syslog的机制就和它的名字一样,是记录系统日志的。在HP-UX中,会在rc2.d的运行级别中启动S220syslog。通过ls -l /sbin/rc2.d/S220syslog可以看出来,它是指向/sbin/init.d/syslogd的联接。系统日志会由syslog()将记录的日志发送给syslogd,然后syslogd会根据/etc/syslog.conf中的配置,将日志过滤,并写入到相应的文件当中,成为我们日常维护时需要检查的日志文件。根据/etc/syslog.conf文件的配置内容,syslogd会做以下几件事情: 1. 记录到系统日志中; 2. 写到系统控制台上; 3. 转发给指定的用户; 4. 转发给其他主机的syslogd。我们现在已经知道了,syslogd会在系统自动的时候,由/sbin/rc2.d/S220syslog启动起来,如果需要手工停止或者启动syslogd,可以用以下命令: #/sbin/init.d/syslogd stop #/sbin/init.d/syslogd start /etc/syslog.conf文件中的每一行记录由“选项(Selector)”和“动作(Action)”两部分组成,两者之间用Tab制表符进行分隔。而“选项(Selector)”又由一个或多个形如“类型.级别”格式的保留字段组合而成,各保留字段由“;”分隔。保留字段中的类型表示日志产生的源头,一般为以下类型: 1. LOG_KERN 由kernel产生的日志。这一类日志是不会由任何用户进程产生的。2. LOG_USER 由用户进程产生的日志。3. LOG_MAIL 邮件系统产生的日志。4. LOG_DAEMON 由系统后台进程产生的日志,例如:ftpd,inetd等等。5. LOG_AUTH 由login,su,getty等进行身份认证时产生的日志。
6. LOG_SYSLOG 由syslogd自己产生的日志。7. LOG_LPR 打印时产生的日志。8. LOG_NEWS 由网络新闻系统产生的日志。9. LOG_UUCP 由UUCP产生的日志。10. LOG_CRON 由cron和at工具产生的日志。11. LOG_LOCAL0 - 7 保留给local使用。保留字中的级别表示信息的重要程度,一般为以下几类: 1. LOG_EMERG 一般是表示发生panic了,此级别的信息会发送给所有的拥护。2. LOG_ALERT 一般表示当前的状态需要立即修正,例如数据库崩溃。3. LOG_CRIT 严重警告,一般表示发生了硬件故障。4. LOG_ERR 错误,严重性没有以上三类那样大。5. LOG_WARNING 警告信息。6. LOG_NOTICE 注意信息。并不表示错误,但是应该尽可能的处理。7. LOG_INFO 一般信息。8. LOG_DEBUG 一般表示调试程序时候的信息。syslog()不会记录没有级别定义的日志。如果syslog()无法将日志传递给syslogd,并且LOG_CONS选项已经打开了,那么它会尝试将信息写到/dev/console。当下列两种情况发生的时候,syslog日志记录不会成功: 1. /dev/log写入被阻塞了; 2. /dev/log不能被成功打开。以上介绍了“选项(Selector)”的一些内容,下面继续介绍“动作(Action)”。Action表示日志信息要发往的目的地,一般为以下几类: 1. /filename 日志文件。这里需要使用到绝对路径,而且应该已经生成了这个文件。在这里,大家可以做这样两个测试,一个是如果之前没有生成这个文件,是否会在有该类日志信息的时候自动生成,一个是限制写入该文件的权限,看看是否能够成功记录。2. user1,user2 指定用户。如果指定的用户已经的登陆,那么他们将会收到信息。*代表所有的用户。3. @host
远程主机。根据以上内容,大家就可以去研究研究/etc/syslog.conf中的内容了。当然,也可以根据自己的需要来修改/etc/syslog.conf的内容。需要注意的是,如果修改了/etc/syslog.conf的内容,需要重新启动syslogd进程。
经验共享:HPUX根卷空间扩大的方法
根卷的空间是否只能用make_recovery磁带重导系统时才能修改? 最近我们新来的兄弟做了个测试,根卷的空间最主要是要保持连续,只要能够保留或挪出足够的连续空间就可以扩充了。
Dipper的经验
刚才做了一下,成功了。把步骤贴上来: 1、新建逻辑卷lvtmp:lvcreate -L 500M -n lvtmp vg00; 2、对新卷建立vxfs文件系统:newfs -F vxfs /dev/vg00/rlvtmp; 3、将该卷挂到新建的/tmp1目录上:mkdir /tmp1;mount /dev/vg00/lvtmp /tmp1; 4、将/tmp中的内容拷贝到/tmp1中:cp /tmp/* /tmp1; 5、修改/etc/fstab文件,将其中的/tmp所在行的/dev/vg00/lvol4修改为/dev/vg00/lvtmp;可以先备份fstab文件; 6、重启主机; 7、bdf查看当前配置,这个时候/tmp应该已经在/dev/vg00/lvtmp上; 8、删除/dev/vg00/lvol4:lvremove /dev/vg00/lvol4;这个时候lvol4里面的PE都已经被释放出来,假设原来的lvol4有500M,那么现在根目录就可以扩充500M,假设原来lvol3有500M; 9、扩lvol3:lvextend -L 1000M /dev/vg00/lvol3; 10、扩根目录文件系统:fsadm -F vxfs -b 1000M /;(前提是安装OnLineJFS) 11、bdf查看扩充结果; 12、如果当前空间仍然不够用,可以如法炮制从/dev/vg00/lvol5继续重复上面的操作。
MC/SG在线修改的几点小结
注:此处所有的配置或修改都是CLUSTER在运行状态下的,这里不讨论CLUSTER在停止状态下的情况: (假设环境:现有NODE1和NODE2组成的CLUSTER1;上面分别运行着包PKG1和PKG2;NODE3不在CLUSTER里.) 1. 在运行的群集上将NODE3加进CLUSTER1: #cd /etc/cmcluster/ #cmgetconf -C backup.ascii #cmquerycl -C cmclconf.ascii -c cluster1 -n node1 -n node2 -n node3 #cmcheckconf -C cmclconf.ascii #cmapplyconf -C cmclconf.ascii #cmrunnode node3 2. 在运行的群集上将NODE3从CLUSTER1中删除:
#cd /etc/cmcluster/ #cmgetconf -C backup.ascii #cmhaltnode -f node3 #cmquerycl -C cmclconf.ascii -c cluster1 -n node1 -n node2 #cmcheckconf -C cmclconf.ascii #cmapplyconf -C cmclconf.ascii 3. 在运行的群集上更改卷组配置: #cd /etc/cmcluster/ #cmgetconf -C backup.ascii 修改cmclconf.ascii文件中卷组的信息,以适合你的要求,若为删除卷组,则还要修改响应的PKG配置文件. #cmcheckconf -C cmclconf.ascii #cmapplyconf -C cmclconf.ascii 4. 在运行的群集上添加程序包pkg3 #cd /etc/cmcluster #cmgetconf -C backup.ascii #cmcheckconf -P /etc/cmcluster/pkg3/pkg3.conf #cmapplyconf -P /etc/cmcluster/pkg3/pkg3.conf 将PKG3的控制脚本拷贝到NODE1和NODE2的对应目录下面去. #cmrunpkg pkg3 5. 在运行的群集上重新配置程序包pkg3 #cd /etc/cmcluster/pkg3 #cmhaltpkg pkg3 #cmgetconf -P pkg3.ascii 编辑该文件及其控制脚本以符合你的要求. #cmcheckconf -P /etc/cmcluster/pkg3/pkg3.ascii #cmapplyconf -P /etc/cmcluster/pkg3/pkg3.ascii 将PKG3的控制脚本拷贝到NODE1和NODE2的对应目录下面去. #cmrunpkg pkg3 6. 在运行的群集上删除程序包pkg3 #cd /etc/cmcluster/pkg3 #cmgetconf -P pkg3.ascii #cmmodpkg -d pkg3 #cmhaltpkg pkg3 #cmdeleteconf -p pkg3 :/etc/lvmrc的妙用!
昨天在用户那遇到一个问题,一个MC里的两台机器各有两个vg不归mc管,但需要在系统启动后自动激活并mount上。
我们知道控制vg在启动时激活可以更改/etc/lvmrc文件,如下的这个函数,在里面添加需要激活的vg即可。
但是自动mount这些vg里的lv该怎么解决呢?修改/etc/fstab?
我不太清楚系统在启动后是先执行lvmrc还是先调用/etc/fstab来Mount逻辑卷。
也没有太多的时间来供我试验,于是就想能否也在/etc/lvmrc的这个函数里添加mount这个命令呢?
在和用户商量后在一台机器上先做了实验,如下:
custom_vg_activation()
[/]#
#e.g./sbin/vgchange-ay-s
#parallel_vg_sync"/dev/vg00/dev/vg01"
#parallel_vg_sync"/dev/vg02/dev/vg03"
vgchange-ay/dev/vg_rman
vgchange-ay/dev/vg_archlog1
mount/dev/vg_rman/lvol1/rman
mount/dev/vg_archlog1/archlog1
return0
}
重启机器后,vgdisplay和bdf查看均正常,说明可以在lvmrc里执行系统命令。今后大家要是有类似的需求可以考虑修改lvmrc文件呦。
如何确定指定的文件系统是否支持大文件
#fstyp -v /dev/vgxx/lvolxx 输出中,察看f_flag值0=非大文件系统16=大文件系统
如何查找造成"file: table is full"的原因
客户的中间系统(CICS)提示不能打开文件。这种现象是当应用系统运行一段时间后就会出现,要求惠普协助查找原因。Syslog.log会有“file:table isfull”的告警,客户通过重新启动中件间软件(CICS)来临时应急解决问题。
处理过程:
1、查看目前系统已用/可用的关于核心参数nfile的情况#sar -v 1 10 从输出的结果可以得知nfile所设的值和目前系统打开的文件数。由于现象是应用运行一段时间,打开的文件数会增大,最终会达到封顶值,因此还得查找出是哪个进程大量去打开了什么文件? 2、跟踪方法有两个: 一、 glance 运行glance, 逐一选择某进程,查看该进程打开的文件(open file). 二、 去网站 下载lsof软件,根据操作系统平台,安装该软件。然后通
过下列script,查看进程打开的文件情况。# ps -ef | awk '{print $2}' > /tmp/list # cat /tmp/list | while read pid >do >echo $pid >> /tmp/lsof.out >lsof -p $pid >> /tmp/lsof.out >done # cat /tmp/lsof.out | more 三、根据上述的方法,最终确认是集成商自己开发的软件大量打开同样的一个文件,但又不及时关闭造成。
/、///ftp 看不到对方的目录结构
重起inetd, run inetd -k, then inetd
阅读(4287) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~