记技术工作中的态度一事

今天在某客户现场遇到这样一件事情:

某客户为甲方,项目总集成为乙方,存储系统部分集成为丙方,我公司作为甲方临时协调过来帮忙的丁方。
环境:小型机POWER710(AIX 6100-07,HACMP6.1 SP07)两台, Cisco MDS9124 SAN交换机两台,HDS AMS2100存储一台。
我们的工作原本只是过来帮忙安装一套HDLM for AIX,安装完成后还有一些配置工作要做(改fscsi的failover策略,重新认盘,改hdisk的queue_depth,在HACMP添加custom Disk Method等),但是由于乙方已经在原来的单存储链路情况下配置好了HACMP和应用环境,涉及到另外的一些风险,所以我们向甲方提出了这个情况,让甲方作进一步沟通协调后再作配置部分的工作。
到了下午,甲方通知我们说已经协调好各方,并明确可能的操作风险,于是我们继续去现场帮忙。重新认存储的盘时(双HBA通过双SAN交换机连接到存储,每个存储控制器连接了2个端口) ,发现总是只能认到一半的链路(0A和0B可以认到,1A和1B的链路认不到),于是让丙方的工程师配合检查SAN交换机和存储上的配置。
这时,丙方的某工程师突然发火,大声说话,说他是存储的工程师,不能让别公司的人动存储之类的(后来得知是因为他认为我们上午时跟甲方提出的问题没有考虑到他的处境,让他的工作很为难,他认为我们“太高调”)。我们并不和他去论道理,“好好好”应付着。当时,甲方和乙方的人也都在现场。
好在我认识在现场的丙方的另外一工程师,在他配合下一起解决了问题(1A和1B的光纤线接反了)。

其实,项目集成时,各方的工程师相互沟通配合,是必不可少的。大多搞技术的人都是比较好沟通的,一般都不会互相去为难对方(商务的层面上,个人认为工程师应该少管,尽量让公司去协调)。个人认为,在客户现场,非甲方的工程师发生矛盾争吵,实属不该。不但影响个人和公司形象,回头肯定还挨自己领导K,图一时之快,丢人现眼。

记之,引以为鉴。

试用ESXi 5.0

兼容性指南(VMware Compatibility Guide):http://www.vmware.com/resources/compatibility/search.php

VMware vSphere 文档              vSphere 5.0 的新增功能

vSphere 5.0的licensing方式改变了,改为按CPU和vRAM的授权方式,详见:http://www.vmware.com/files/pdf/vsphere_pricing.pdf

主要改进:

1,vCPU可支持到32 way(enterprise plus版本),4*8的设置方式

2,新的VMFS5,最大支持可到64TB的LUN(之前是2TB),取消了block size的设置(统一为1MB),不过VMFS5上存放的单个文件最大还是只能2TB(无语…)

3,不再有ESX版本,统一为ESXi,更轻了(哈哈),不过安装的时候loading设备可够久的,有半个小时吧(再次无语…);既然是ESXi,那么就没有service console网络啦,一个VMkernel网络就可以搞定所有功能(heartbeat,vmotion,ft)

4,试用了一下iscsi,配置起来还是比较简便的。
参考文档:vSphere 5.0 Storage Features Part 12 – iSCSI Multipathing Enhancements

 

号外:3月份必须要考VCP4了。。。最讨厌考试神马的了。。。

HDS AMS2500 管理笔记

安装HSNM2 CLI到C:\Program Files\Storage Navigator Modular 2 CLI,运行该目录下的startsnmen.bat(其实就是设置CLI运行环境)即可打开CMD窗口。

首先需要注册存储:

auunitaddauto -ip controller0_ip controller1_ip

auunitref 查看已注册的存储

后面就可以直接使用存储管理的CLI指令了。大部分指令运行时需要输入账号(默认账号root:storage)和确认,如果要运行批处理的脚本的话,就需要注意了。

查看raidgroup
aurgref -unit AMS2500  

在raidgroup 1中新建一个100GB的LUN,并指定LUN号为2000
auluadd -unit AMS2500 -rg 1 -size 100g -lu 2000

删除 76到157和2000这些LUN
auludel -unit AMS2500 -lu 76-157 2000 -f 

查看现有LUN,容量单位为GB
auluref -unit AMS2500_87013050 -g
这里有一个小技巧:path为0则表示这个LUN没有map到任何hostgroup 

查看全部hostgroup中map的LUN
auhgmap -unit  AMS2500 -refer 

删除1A端口的序号为1的hostgroup
auhgdef -unit AMS2500 -rm 1 A -gno 1

查看在各端口已login的WWN
auhgwwn -unit AMS2500 -refer
列出在0B端口已login的WWN
auhgwwn -unit AMS2500 -refer -login 0 B 
注:手工输入的但没有login的WWN这个指令是看不到的

列出已分配到0B端口序号为2的host group的WWN
auhgwwn -unit AMS2500 -refer -permhg 0 B -gno 2 
注:手工输入但未login的WWN可以在这里看到

从0B端口序号为2的host group中删除WWN(踢出)
auhgwwn -unit AMS2500 -rm -permhg 0 B 10000000C9667C15 -gno 2 

删除WWN(曾在该端口login过的WWN)
auhgwwn -unit AMS2500 -rm -perm 0 B 10000000C9667C15

把某WWN分配到对应hostgroup并给WWN起nickname,分2种情况:
存储已检测到WWN情况下
auhgwwn -unit AMS2500 -assign -permhg 0 B 10000000C9667C15 -gno 2
auhgwwn -unit AMS2500 -chg -rename 0 B 10000000C9667C15 -gno 2 -newwname xxx
存储没有检测到WWN情况下(相当于手工输入WWN)
auhgwwn -unit AMS2500 -set -permhg 0 B 10000000C9667C15 -wname xxx -gno 2 

更多指令请看文档《HSNM2_CLI_Unified_Reference_Guide》

批量运行的小技巧
auhgwwn -unit AMS2500 -rm -perm 0 B 10000000C9667C15
root
storage

试试把上面的几行复制后粘贴到CMD窗口看 ^-^ 哈哈~
但是写成bat运行是不行的,只能粘贴运行。 

经过前同事(已跳槽去HDS原厂)的指点,原来SNM2_CLI是提供有方法批量运行命令的,需要先设置环境变量(on必须小写):

set STONAVM_ACT=on    (自动进行账户认证) 
set STONAVM_RSP_PASS=on    (确认提示自动响应为yes)
然后设定一下自动认证的账户即可,如:
echo storage > pwd.txt
auaccountenv -set -uid root -passwdfile pwd.txt
这样,运行所有的命令都不需要手工输入账户和进行确认了。 

---------------------------

另外,现在新版本(1150)的HSNM2 WINDOWS GUI没有旧版本那么耗资源了,在笔记本上装是没问题的。
HSNM2  GUI的默认账户为system:manager,AMS系列存储的默认管理账户为root:storage,管理端口默认IP:controller 0为192.168.0.16,cotroller 1为192.168.0.17

---------------------------

配置host connection时需注意的地方:

1,必须先启用对应端口的“Host Group Security”和“iSCSI Target Security”,然后才能在存储管理界面看到已连接主机的wwn或iqn-name
2,同一个wwn只能assign到一个host group中,当然,host group可以包括多个主机的wwn,LUN也可以map到多个host group

AIX平台oracle 9i/10g/11gr1的RAC环境下归档日志RMAN备份

如果RAC使用了GPFS/NFS这样共享的文件系统,或者使用了ASM(9i还没有,10g或以上)来存放数据库文件和归档日志,数据库和归档日志的备份方式和非RAC环境的单节点模式下是相同的。但是,如果RAC使用RAW DEVICE来存放数据库文件,由于归档日志文件不能存放在RAW DEVICE上,一般会把归档日志文件存放在单独的文件系统上。如果使用了HACMP提供的concurrent vg,需要注意的是JFS/JFS2都是不支持concurrent的,所以只能使用RAW LV。此时如果没有GPFS/NFS来提供支持,归档日志文件只能分别存放在各节点的非共享卷组的文件系统上。这样存放归档日志后会形成一个情况:

比如2节点的RAC中,node1访问不到node2的归档日志文件,node2访问不到node1的归档日志文件。

当配置了symantec netbackup来备份RAC环境下的数据库时,在任意一个节点上进行备份,database的备份是没有问题的,因为数据都共享了,但是归档日志的备份很可能会报错,原因就是上面提到的归档日志文件的情形。

今天我在AIX 5.3,oracle 9.2 rac,hacmp5.3的环境下就遇到了这个问题。oracle归档日志的rman备份报错如下(在node1上备份时):

 

RMAN-03002: failure of backup command at 02/02/2012 18:00:48
RMAN-06059: expected archived log not found, lost of archived log compromises recoverability
ORA-19625: error identifying file /odxx/arch/1_1705.dbf
ORA-27037: unable to obtain file status
IBM AIX RISC System/6000 Error: 2: A file or directory in the path name does not exist.
Additional information: 3

 

先尝试了做crosscheck:

RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;

重新备份还是一样报相同的错误,只不过换了一个归档日志文件报错。在node1上备份时是无法访问到node2上的归档日志文件的,所以会报这样的错。

解决办法1:在node2上的把/arch/node2目录作为NFS文件系统共享出来,然后在node1上把node2:/arch/node2挂载到/arch/node2,这样node1就可以访问node2的归档日志了。今天按这个方法在oracle9.2 rac下测试是可以成功备份归档日志的。

解决办法2:设置远程归档,把node2上的实例远程归档到node1的相同目录中,这样在node1上就可以同时访问2个节点的归档日志了。这个方法我还没有测试过。理论上应该比方法1要好一些,特别是当其中一个节点宕机或关闭的时候,这时远程节点的nfs目录是无法访问的。

这么说来,归档日志使用共享的文件系统来存放是比较好的,备份的时候就不需要考虑这个问题了。如此来说,使用GPFS和ASM还是比较方便的,使用cio访问模式的GPFS性能也比较接近raw device的了。

 

参考文档:

RMAN备份恢复——RAC环境数据库的备份 http://yangtingkun.itpub.net/post/468/291018  

http://yangtingkun.itpub.net/post/468/291415  

http://yangtingkun.itpub.net/post/468/313200

Archivelog Backup in 2 Node RAC http://www.orafaq.com/forum/t/91218/2/

高中毕业十周年聚会

时间:2011.2.4 大年初四下午6时左右
地点:北流永顺酒店
到场人员:共22位同学到场,一位老师到场(海叔)

除了少数几个老板之外,大部分同学都是刚步入了事业的稳定期,属于提升阶段,相信下一个十年大家见面的时候会更精彩!当然,大部分男同学的长相都几乎没有太多差别,很好认 ^-^。骆同学因为精通”算命和风水“,毫无悬念地成为了聚会的焦点人物,找他算过的人都竖起拇指称太准了!

听说隔壁136班,来了50多个同学,看来还是班级凝聚力差别很大啊。

另外不得不说的是初中同学的聚会,看到当年激情澎湃地说以后要干一番大事业的同学们,现在大多都被现实社会磨砺着,当然也都坚强着呢。有2个同学还骑单车进西藏了(走云南进),真佩服他们的毅力!