HP小型机操作系统安装配置指导书
在HP Integrity Server开机后,可能屏幕没有任何显示,请使用串口线登陆系统的MP,进行管理。下面将分为MP的管理、HP-UX的安装、HP的卷组操作和MC/Service Guard四章来说明。
HP Integrity Server MP
在HP Integrity Server中有一块MP卡,该卡负责对系统的状态进行监视和控制。该卡在系统插上电源后即被激活,无论操作系统是否启动,系统是否开机。该卡提供了串行和网络两种接口可供访问。
1、 连接
串口连接方式:
对于RX2600类型的机器,在后面板上有一个25针的接口,该接口在写着MP Management的一个框中,使用随机带的1对3接口(一边25针接口,另一边3个九针的接口),把串口线一边接到3个九针接口中写着“console”的接口上(串口线的线序为1-1,2-3,3-2,4-6,5-5,6-4,7-8,8-7,9-9),另一边接到笔记本上的串口上,然后可以使用Windows自带的超级终端程序对系统进行访问。
对于RX4600类型的机器,可能没有25针接口,而有三个九针的串口,其中之一为Local Console,则把串口线的一端接到Local Console口即可。
网络连接方式
机器在出厂之日,处于安全的考虑,给MP上的网卡设置的IP为127.0.0.1,所以在使用串口连接去修改MP网络的配置之前,不能使用网络连接方式。对于网络的配置,请参见本文后面的内容。
使用超级终端和串口连接系统
在Window系统中启动超级终端程序,选择COM1口连接,其中配置为
Bits per second 9600
Data bits 8
Parity None
Stop bits 1
Flow Control None
然后连接系统,则连接上以后可以输入“Enter”或者“Ctrl+B”,看是否有字符出现,如果有,则表示连接正确,否则请检查串口线及连接的情况。
一、 常用命令
在输入Ctrl+B后,系统应该提示登陆,如下图所示:
在其中输入用户名Admin和口令Admin,注意大小写完全匹配,然后登陆
登陆进入系统后便进入到MP的管理界面
CO:在主菜单模式下输入co,可以使屏幕脱离MP管理状态进入到OS的Console界面,可以进入到操作系统之中,然后操作和在普通的终端上操作并无区别。
需要从OS的console界面退回到MP管理界面中,需要输入“Ctrl+B”。因此co和Ctrl+B是MP中最常用的两个命令,co是从MP切换到操作系统的console,而Ctrl+B是从操作系统console切换到MP的管理界面之中。
VFP:(Virtual Front Panel)可以显示当前系统的指示灯状态,显示系统的正常与否,如:
CM:cm是命令模式,输入cm后系统进入到cm模式中,该模式有很多命令可以对系统进行管理,其中最常用的为lc和pc,下面着重介绍这两个命令,其他命令可以使用输入help查看。
Lc (Lan config): 是设置MP上的网卡的IP地址,以便通过远程方式访问MP,在输入lc后系统应该显示,
输入A进行修改,按照命令的提示输入相应的IP,网关和主机名,最后保存即可,然后可以使用telnet访问该MP。
另一个最重要的命令为pc(Power Control),使用该命令可以远程给系统上电和下电,输入后应该显示
可以输入on/off来控制系统的加电情况。
在主菜单中的其他命令,用法都比较简单,可以使用help查看即可。
二、 HP-UX的安装
1、 调整系统的输出设备
在缺省的情况下,系统会把启动信息输出到串口的Console上。如果希望把启动信息输出到外接的VGA显示器上,需要把输出设备作相应调整。
在进入系统MP之后,给系统加电,使用co切换到console状态,等系统启动到选择启动项目时候,如图
选择“Boot Option Maintenance Menu”进入,系统显示
选择“Select Active Console Output Devices”,然后系统显示
注意在前面有“*”号的为当前的活动输出,用上下箭头移动光标,“Enter”或者“Space”选中。去掉所有的星号,选择Acpi(HWP0002,700)/Pci(2|0)该选择VGA输出。然后保存后退出。这样OS的启动信息会输出到VGA上。
2、 预装系统
对于有的系统,已经预装了操作系统,则系统会提示用户进行主机名、root口令以及IP的设置,请按照提示进行一步步操作。
3、 重新安装操作系统
下面将按步骤进行操作系统安装
STEP 1: 把光盘插入到光驱中
STEP 2: 系统启动,当启动到选择启动项目时候,选择EFI Shell [Built in]
STEP 3:如果系统自动从光盘引导,开始安装过程,转到STEP 5。
STEP 4:如果没有自动引导,则屏幕应该显示
输入exit退到上级
输入map显示当前所有的磁盘,注意选择有CDROM的fs系统,在本图中为fs0。
输入fs0:
输入install,进入安装过程。
STEP 5: 安装继续进行
STEP 6: 如果系统检测到键盘,则会出现键盘选择,请输入26,否则下一步
STEP 7: 进入到选择菜单,选择“Install HP-UX”
STEP 8: 出现选择菜单,选择“Media OnlyInstallation”和“Advanced Installation”,“OK”进入下一步
STEP 9:进入General配置界面
在其中修改需要修改的项目,例如语言环境,则显示为
STEP 10:到System Tab中,输入主机名,IP等选项,并设置root password和时区等内容
STEP 11:进入到File System Tab,修改相应得文件系统的大小,和增加新的文件系统
STEP 12:在一切就绪后,Go!
STEP 13: 确认磁盘文件覆盖,然后进行安装
STEP 14:等待约60分钟
STEP 15:安装完毕,系统正确启动
三、 HP-UX的卷组操作
1.建立LVM
假设我们有两个硬盘:c0t3d0和c0t4d0,要建立vg02,里面包含这两个硬盘,可以操作如下:
1).生成PV信息
#pvcreate -f /dev/rdsk/c0t3d0
#pvcreate -f /dev/rdsk/c0t4d0
说明:如果此硬盘包含了其它LVM的信息,此操作可能会报错,此时,可以将硬盘 盘头的相关信息去掉,命令如下:
#dd if=/dev/zero of=/dev/rdsk/c0t3d0bs=1024 count=1024
然后再重新用以上命令创建PV信息。
2). #mkdir /dev/vg02
3). #mknod /dev/vg02/group c 64 0x020000
说明:这条命令是用来建立设备文件,其中c表明建立的是字符设备,64代表的是设备驱动号,这两项都是不可改变的。0x020000的格式是,总是0x开头,02对应的是vg02——其实也可以不对应,只是为了以后方便,大部分时候,我们都是做成对应的,最后接0000。
4). #vgcreate /dev/vg02 /dev/dsk/c0t3d0/dev/dsk/c0t4d0
说明:这条命令的含义是,创建VG02,并将c0t3d0和c0t4d0这两个硬盘包含在内,当然,也可以先包含一个硬盘,以后需要的时候再扩第二个硬盘,操作如下:
#vgcreate /dev/vg02 /dev/dsk/c0t3d0
#vgextend /dev/vg02 /dev/dsk/c0t4d0(此命令就是将第二个硬盘扩到VG02当中)
5). lvcreate -L 100 vg02
说明:建立了VG信息以后(也就是卷组信息),就可以用lvcreate命令来创建逻 辑卷了。这条命令的含义是,建立一个大小为100M,包含在卷组vg02中的逻辑卷。并且,默认的名字是lvol1。第二次用这条命令,默认产生的名称是lvol2,以此类推。当然,我们有时候为了工作的方便,也可以自己给创建的逻辑卷命名,例子如下:
#lvcreate -L 100 n my_lvol1 vg02
这样,我们就用n参数来定义了逻辑卷的名称。如果我们不用-L参数来指定逻辑卷的大小,默认产生的大小就是0M,这有的时候会给我们的工作带来方便,比如做Mirror的时候,先指定逻辑卷的大小为0,这样做同步的速度就会很快,同步以后再来扩大逻辑卷。至于怎么扩,后面咱们会讲到。
6). newfs -F vxfs -o largefiles /dev/vg02/rlvol1
说明:-F参数指定文件系统类型,这里的vxfs文件系统其实就是我们常说的JFS文件系统,-o用来指定文件系统支持大格式文件,即支持单个文件大于2G的文件系统,否则,将来随着文件——特别是数据库文件——的增大,很可能会出现问题。而且,如果数据库文件采用裸文件的话,就不要进行这一步操作!
7). mkdir /vg02_lvol1
8). mount /dev/vg02/lvol1 /vg02_lvol1
9). vgcfgbackup vg02
说明:这条命令产生的备份文件会存放在/etc/lvmconf/vg02.conf文件中。同理, vgcfgbackup
vg**产生的备份文件就是存放在/etc/lvmconf/vg**.conf文件中。(用strings命令,而不是用more命令来查看此文件)
2.扩展文件系统
扩展文件系统的目的,是为了扩大某个文件系统的可用空间。一般的,当某个文件系统的使用率超过了90%的时候,我们就应该予以格外的关注,因为使用率继续降低,将可能大大降低系统性能。此时,我们就以通过删除一些临时文件来增大可用空间,当然,也可以用下面将要讲到的扩大文件系统的方法。
我们仍然跟着上面的例子,比如上面我们在vg02中创建了100M的lvol1文件系统,现在我们来将其扩大到200M:
1). #lvextend -L 200 /dev/vg02/lvol1
2). #umount /dev/vg02/lvol1
3). #extendfs -F vxfs /dev/vg01/lvol2
说明:用了第一步的逻辑卷扩大以后,一定要记得使用这个扩大文件系统的操作,否则,将来系统是用sam来查看到的文件系统大小,和用bdf命令查看出来的大小,就会不一样,并且,扩大的那部分空间,其实是还不能使用的!
4). #mount -a
说明:做extendfs之前已经umount了,因此扩了文件系统以后,要记得重新mount上去
5). #vgcfgbackup vg02
说明:因为我们对文件系统进行了改动,因此不要忘记备份相关信息文件。
3.自动挂起文件系统
系统关闭时所有的文件系统被卸载,所有需要系统下次启动引导时自动挂起的文件系统必须被加入到/etc/fstab中。在启动引导过程中,/sbin/init.d/localmount脚本执行mount -a命令,自动挂起/etc/fstab文件中列出的文件系统。
四、 MC/Service Guard
1.配置MC的基本过程
本表仅供参考:
建立 /.rhosts, 使root对两机的所有资源都有所需的权限
建立Cluster的配置文本:
/etc/cmcluster/config.d
建立pkg1:
/etc/cmcluster/pkg1/pkg1.conf
/etc/cmcluster/pkg1/pkg1.cntl
/etc/cmcluster/pkg1/service1
同步两机的MC配置文件:
rcp -r /etc/cmcluster MachineB:/etc
检查配置是否正确:
cmcheckconf -v -C /etc/cmcluster/cmclconf-P /etc/mcluster/pkg0/pkg0.conf \
-P /etc/cmcluster/pkg1/pkg1.conf
编译、分发配置:
cmapplyconf -v -C/etc/cmcluster/cmclconf -P /etc/cmcluster/pkg0/pkg0.conf \
-P /etc/cmcluster/pkg1/pkg1.conf
修改LVM启动文件 /etc/lvmrc
AUTO_VG_ACTIVATE=0
使VG00,VG01,VG02不随系统的启动便置为可用
修改 /etc/hosts增加对pkg0和pkg1浮动地址的定义:
pkg0 132.97.4.12
pkg1 132.97.4.14
修改MC/ServiceGuard启动文件 /etc/rc.config.d/cmcluster
AUTOSTART_CMCLD=1
检查/etc/rc.config.d/nfsconf,参数值应设置如下:
NFS_CLIENT=0
NFS_SERVER=0
同步两机的相关的配置文件:
/.rhosts
/etc/lvmrc
/etc/rc.config.d/nfsconf
/etc/rc.config.d/cmcluster
/etc/passwd
/etc/group
/etc/hosts
/etc/cmcluster/*
运行cluster:
cmruncl -v
cmviewcl –v
检查LOG:
/etc/cmcluster/pkg1/control.sh.log
/var/adm/syslog/syslog.log
2. 关于本文
主机命名规则:
本文的主机名分别是:node1和node2;并用蓝色表示该名称可随不同环境改变。
其他说明:
本文所有蓝色字符均为根据不同环境修改的;而褐色部分则为可选内容,即这些操作可根据用户实际需要选择;红色表示重要部分。
3. 安装软件
? 安装MC/ServiceGuard软件。
? 安装Database Toolkits软件
(安装后位于/opt/cmcluster/toolkit/
? 使用swinstall命令进行上述安装。
4. 准备系统
建立主机信任关系
编辑安全控制文件/.rhosts:包含其他节点的根用户授权,如
node1 root
node2 root
启动时间同步进程
建议在各个节点上面激活NTP(xntpd进程),编辑/etc/ntp.conf文件。
(注:该项可以跳过)
5. 网卡准备
硬件要求:每台服务器三块网卡(lan0、lan1、lan2)或两块网卡(lan0、lan1)加RS232串口(只有在双节点群集中使用),其中lan0作为主机的主网卡,作为数据通讯用,而lan1作为lan0的备份网卡,lan2(RS232)作为心跳信号通讯;
网卡配置:网卡的配置在/etc/rc.config.d/netconf文件中定义。
注意,在此文件中应将主网卡进行配置,而备份网卡不能配置IP地址。
6. 准备磁盘
(关键是共享磁盘--如:磁盘阵列)
创建逻辑卷(LV)结构
创建root盘的镜像
? 如果不fds需要的话,可以不做(只能使用命令完成,不能使用SAM)
? 建立bootable LVM,以备作为root盘的镜像:
# pvcreate -B /dev/rdsk/cxtydz ?
? 加入root VG:
# vgextend /dev/vg00 /dev/dsk/cxtydz ?
? 将新盘作成boot盘:
# mkboot /dev/rdsk/cxtydz ?
? 将AUTO File复制到新盘的LIF区内:
# mkboot -a “hpux(disk;0)/stand/vmunix” \
/dev/rdsk/cxtydz ?
? 对root和primary swap LV在新盘上做镜像(注意,应将VG00中的所有设备均做镜像,如/usr、/swap等):
# lvextend -m 1 /dev/vg00/lvol1/dev/dsk/cxtydz ?
? 更新BDRA中的boot信息:
# /usr/sbin/lvlnboot -v -r/dev/vg00/lvol1 ?
# /usr/sbin/lvlnboot -s /dev/vg00/lvol2?
? 检查BDRA是否正确:
# /usr/sbin/lvlnboot -R /dev/vg00 ?
? 确认镜像的正确性:
# lvlnboot -v ?
在磁盘阵列或盘柜上创建卷组(VG)和逻辑卷(LV)
注:(可以使用SAM或命令方式)
? 选择VG所使用的磁盘(得到每个节点上可以看见的磁盘,识别出共享磁盘一般表现为磁盘阵列设备文件),在每个节点上面均执行下面的命令,列出每个节点可见的磁盘设备:
# lssf /dev/dsk/*d0 ?
? 在节点1上面创建物理卷(PV)
# pvcreate /dev/rdsk/c1t2d0 ?
# pvcreate /dev/rdsk/c0t2d0 ?
? 在节点1上面创建卷组(VG)
创建卷组目录
# mkdir /dev/卷组名 ?
在卷组目录内创建卷组控制文件
# mknod /dev/卷组名/group c 64 0xhh0000?
(其中,主设备号总是64,次设备号以16进制数0xhh0000表示,hh必须在系统内唯一,使用系统中下一个可用的数值。使用下面的命令可以得到系统中已经存在的卷组:
# ls -l /dev/*/group ?)
创建卷组并将物理卷加入其中
# vgcreate /dev/卷组名 /dev/dsk/c1t2d0 ?
# vgextend /dev/卷组名 /dev/dsk/c0t2d0 ?
? 重复上述步骤创建其他卷组
? 在节点1上面创建逻辑卷(LV)
# lvcreate -L 12 /dev/卷组名 ?
? 在节点1上面创建文件系统(如果需要)
在新建的逻辑卷上面创建文件系统
# newfs -F vxfs /dev/卷组名/rlvol1 ?
创建mount目录点
# mkdir /mnt1 ?
Mount文件系统以检查正确性
# mount /dev/卷组名/lvol1 /mnt1 ?
修改卷组属性
在node1上deactivate 卷组:
#umount /mnt1 ?
# vgchange -a n /dev/卷组名 ?
改 /etc/lvmrc 将1改为0
在另一台主机上设置VG
(只能使用命令方式完成)
1) 在节点1上面,生成卷组映像文件
# vgexport -p –s -m /tmp/卷组名.map /dev/卷组名 ?
2) 在节点1上面,将卷组映像文件复制到节点2
# rcp /tmp/卷组名.map node2:/tmp/卷组名.map ?
3) 在节点2上面,创建卷组目录
# mkdir /dev/卷组名 ?
4) 在节点2上面,创建卷组控制文件
# mknod /dev/卷组名/group c 64 0xhh0000?
5) 在节点2上面,使用从节点1复制的卷组映像文件中的信息建立卷组结构
# vgimport –s -m /tmp/卷组名.map /dev/卷组名 \ ?
/dev/dsk/c1t2d0 /dev/dsk/c0t2d0 ?
(注意,在节点2上面的设备文件名字可能与节点1上面不同,必须确认)
6) 在节点2上面激活卷组
# vgchange -a y /dev/卷组名 ?
7) 创建mount目录点
# mkdir /mnt1 ?
8) Mount文件系统以检查正确性
# mount /dev/卷组名/lvol1 /mnt1 ?
9) Umount文件系统
# umount /mnt1 ?
10) Deactivate VG
# vgchange -a n /dev/卷组名 ?
创建其他卷组结构
重复上述步骤,创建其他卷组结构
所有卷组创建完成后
编辑/etc/lvmrc文件,保证在系统启动时不自动激活与CLUSTER有关的卷组(将AUTO_VG_ACTIVATE置为0,并确认root卷组包含在custom_vg_activation函数内)。这些卷组将在应用包的control.sh文本中激活。
最后步骤
配置MC/ServiceGuard双机前的最后步骤在配置节点(节点1)上激活所有卷组
# vgchange -a y /dev/卷组名 ?
7. 配置CLUSTER
(可以使用SAM或命令方式完成)
生成CLUSTER配置文件模板
# cmquerycl -v -C/etc/cmcluster/cmclconf.ascii -n node1 \ ? -n node2 ?
# cmquerycl –k -v -C/etc/cmcluster/cmclconf.ascii -n node1 \ ? -n node2 ? (当系统盘盘号不一样时)
编辑CLUSTER配置文件模板
CLUSTER_NAME cluster1 #CLUSTER的名字
FIRST_CLUSTER_LOCK_VG /dev/vg01 #LOCK卷组
NODE_NAME node1 #节点名字
NETWORK_INTERFACE lan1
HEARTBEAT_IP 15.13.171.32 #lan1是HEARTBEAT网络
(如果是单网卡作实验,可不配LAN1该网卡地址)
NETWORK_INTERFACE lan2 #lan2是备份网络
NETWORK_INTERFACE lan0
STATIONARY_IP 192.6.143.10 #lan0的静态IP地址
( 或 HEARTBEAT_IP 192.6.143.10 #lan0的心跳IP地址
如果是单网卡,该配置是HEARTBEAT_IP 192.6.143.10)
(如都是HEARTBEAT_IP,拨任一根线,包将切换,如果有STATIONARY_IP,拨HEARTBEAT_IP,包将切换,拨STATIONARY_IP线,包不受影响)
FIRST_CLUSTER_LOCK_PV/dev/dsk/c1t2d0 #LOCK盘的物理卷名字
# SERIAL_DEVICE_FILE /dev/tty0p0 #RS232串行HEARTBEAT线路
NODE_NAME node2
NETWORK_INTERFACE lan1
HEARTBEAT_IP 15.13.171.30
NETWORK_INTERFACE lan2
NETWORK_INTERFACE lan0
STATIONARY_IP 192.6.143.20
FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0
# SERIAL_DEVICE_FILE /dev/tty0p0
HEARTBEAT_INTERVAL 1000000
NODE_TIMEOUT 2000000
AUTO_START_TIMEOUT 600000000
NETWORK_POLLING_INTERVAL 2000000
VOLUME_GROUP /dev/vg01
VOLUME_GROUP /dev/vg02 #注:所有CLUSTER相关的卷组都要在此写出
检查CLUSTER配置的正确性
(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
# cmcheckconf -v -C/etc/cmcluster/cmclconf.ascii ?
或# cmcheckconf –k -v -C/etc/cmcluster/cmclconf.ascii ?(如系统盘盘号不一样)
(# cmapplyconf -v -C/etc/cmcluster/cmclconf.ascii )
设置集群自动启动参数
编辑文件/etc/rc.config.d/cmcluster,将参数AUTOSTART_CMCLD设为1,则在系统自举时自动启动CLUSTER。
8. 配置Package和Services
(可以使用SAM或命令方式完成)
创建子目录
在/etc/cmcluster中为每个Package创建子目录
# mkdir /etc/cmcluster/pkg1 ?
# mkdir /etc/cmcluster/pkg2 ?
建立配置文件模板
为每个Package建立一个配置文件模板
# cmmakepkg -p/etc/cmcluster/pkg1/pkg1conf.ascii ?
# cmmakepkg -p/etc/cmcluster/pkg2/pkg2conf.ascii ?
编辑配置文件模板
编辑Package配置文件,根据实际需要修改相关项:
PACKAGE_NAME pkg1
NODE_NAME node1 主节点
NODE_NAME node2 备份节点
RUN_SCRIPT /etc/cmcluster/pkg1/control.sh Package启动脚本
RUN_SCRIPT_TIMEOUT NO_TIMEOUT
HALT_SCRIPT /etc/cmcluster/pkg1/control.sh Package停止脚本
HALT_SCRIPT_TIMEOUT NO_TIMEOUT
SERVICE_NAME service1 对每个service重复此3行定义
SERVICE_FAIL_FAST_ENABLED NO
SERVICE_HALT_TIMEOUT 300
SUBNET 15.16.168.0 Package对应的子网(可以多个)
(浮动子网,不需要在/etc/hosts和/etc/rc.config.d/netconf里面定义)
PKG_SWITCHING_ENABLED YES
NET_SWITCHING_ENABLED YES
NODE_FAIL_FAST_ENABLED NO
建立控制脚本的模板
编辑控制脚本
编辑修改Package控制脚本时注意进行以下工作:
? 在PATH中增加启动service所需要的路径
? 增加需要激活的卷组名字
? 增加需要mount的文件系统和逻辑卷的名字
? 定义IP地址和子网
? 增加service名字
? 增加service命令
? 注意函数start_services和halt_services中启动和停止service使用的脚本参数,保证service启动和停止命令的正确性
VG[0]=vg02
LV[0]=/dev/vg02/lvol1; FS[0]=/CCICdata1; FS_MOUNT_OPT[0]=""
LV[1]=/dev/vg02/lvol2; FS[1]=/CCICdata2; FS_MOUNT_OPT[1]=""
IP[0]=10.1.1.28
SUBNET[0]=10.1.1.0
# ADD customer defined runcommands.
: # do nothing instruction,because a function must contain some command.
/etc/cmcluster/pkg_ccic/start_ora.sh
test_return 51
}
# This function is a place holderfor customer define functions.
# You should define all actionsyou want to happen here, before the service is
# halted.
functioncustomer_defined_halt_cmds
{
# ADD customer defined haltcommands.
: # do nothing instruction,because a function must contain some command.
/etc/cmcluster/pkg_ccic/stop_ora.sh
test_return 52
}
------------------------------------------------------------------------------
检查并分发配置文件
? 将Package控制脚本复制到其他节点
# rcp /etc/cmcluster/pkg1/control.sh \?
node2:/etc/cmcluster/pkg1/control.sh ?
? 检查CLUSTER配置(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
# cmcheckconf -C/etc/cmcluster/cmclconf.ascii \ ?
-P /etc/cmcluster/pkg1/pkg1conf.ascii\ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
或 # cmcheckconf –k -C /etc/cmcluster/cmclconf.ascii \ ?
-P/etc/cmcluster/pkg1/pkg1conf.ascii \ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
(当系统盘盘号不一样时)
? 生成并分发二进制CLUSTER配置文件
# cmapplyconf -v -C/etc/cmcluster/cmclconf.ascii \ ?
-P/etc/cmcluster/pkg1/pkg1conf.ascii \ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
或# cmapplyconf –k -v -C /etc/cmcluster/cmclconf.ascii \ ?
-P/etc/cmcluster/pkg1/pkg1conf.ascii \ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
(如果系统盘盘号不一样)
9.管理Cluster和Package
管理Cluster和节点
启动Cluster
# cmruncl -v ?
#cmruncl -v -n node1 -n node2 ?
在已运行的Cluster中增加一个节点运行
# cmrunnode -v node2 ?
在已运行的Cluster中停止一个节点运行
# cmhaltnode -f -v node2 ?
停止整个Cluster
# cmhaltcl -f -v ?
对Cluster进行重新配置
? 停止整个Cluster
? 如果要改变CLUSTER LOCK VG,则
# vgchange -c n vg01 ?
# vgchange -a y vg01 ?
? 重新进行配置工作
? cmapplyconf
? cmruncl
管理Package和Service
启动Package
# cmrunpkg -n node1 pkg1 ?
# cmmodpkg -e node1 pkg1 ?
停止Package,不切换
# cmhaltpkg pkg1 ?
移动Package
# cmhaltpkg pkg1 -n node1 ?
# cmrunpkg -n node2 pkg1 ?
# cmmodpkg -e pkg1 ?
对Package进行重新配置
? 停止整个Cluster
? 修改配置文件
? 修改control.sh文件(注意保证所有节点一致)
? cmapplyconf
? cmruncl
查看运行情况
# cmviewcl -v ?
测试Cluster配置
测试Package Manager
1) 得到service的pid(使用ps -ef命令)
2) 杀死service进程(使用kill命令)
3) 使用cmviewcl -v命令查看状态
4) 将Package移动回原节点
5) 对数据库系统的测试可以根据具体情况进行
测试Cluster Manager
1) 关闭一个节点的电源
2) 使用cmviewcl -v命令查看状态
3) 打开节点的电源
4) 使用cmviewcl -v命令查看状态
5) 将Package移动回原节点
6) 对数据库系统的测试可以根据具体情况进行
测试Network Manager
1) 使用lanscan命令得到主/备网络信息
2) 使用cmviewcl -v命令查看状态
3) 从主网卡上拔掉网线
4) 使用cmviewcl -v命令查看状态(应完成本地网络切换)
5) 重新连接网线
6) 使用cmviewcl -v命令查看状态
故障诊断方法
1、 检查Cluster和Package状态
使用cmviewcl -v命令
2、 检查RS232状态
使用cmviewcl -v命令
3、检查Package IP地址
使用netstat -in命令
4、查看LOG文件
/var/adm/syslog/syslog.log
/etc/cmcluster/pkg1/control.sh.log
5、查看Cluster和Package配置文件
6、查看Package控制脚本文件(control.sh)
7、使用cmquerycl和cmcheckconf命令检查配置的合法性
8、检查LAN配置情况
# netstat -in
# lanscan
# arp -a
# landiag
# linkloop
# /usr/contrib/bin/cmgetconfig -f
# cmviewcl -v
附:一些有用的系统命令
查看硬件配置情况
# /usr/sbin/dmesg
# /usr/sbin/ioscan
# /usr/sbin/lssf /dev/rdsk/c0t5d0
# diskinfo /dev/rdsk/c0t5d0
# swapinfo ?
# lanscan ?
配置LAN
# /sbin/set_parms hostname
# /sbin/set_parms ip_address
编辑etc/hosts 文件
reboot
或
# /sbin/set_parms initial(根据提示操作)
创建新文件系统
# newfs -F hfs
# mkdir /mountpoint ?
# mount
Edit /etc/fstab file
扩充HFS文件系统
# umount /mountpoint ?
# lvextend -L 400
# extendfs
# mount
移动文件系统
# newfs -F hfs /dev/vg01/rlvol1 ?
# mkdir /home.new ?
# mount /dev/vg01/lvol1 /home.new ?
# cd /home ?
# find . | cpio -pdumv /home.new ?
# rm -rf /home/* ?
# umount /home.new ?
# mount /dev/vg01/lvol1 /home ?
#rmdir /home.new ?
文件系统日常维护
/var/adm/wtmp
/var/adm/btmp
/var/adm/sulog
/var/adm/cron/log
/var/spool/mqueue/syslog
/var/spool/mqueue/senmail.st
/var/spool/uucp/.Admin/*
/usr/spool/uucp/.Log/*
/var/adm/lp/log
/var/adm/messages
/var/adm/sw/swinstalllog
/var/adm/sw/swremovelog
/var/adm/sw/sw*.log
删除core文件
# find / -name core -exec rm {} ?
将磁盘从一个卷组移到另一个卷组
# pvmove /dev/dsk/c3t2d0 ?
# vgreduce /dev/vg01 /dev/dsk/c3t2d0 ?
# vgextend /dev/vg02 /dev/dsk/c3t2d0 ?
PV-Link(物理卷链路)配置
只在主链路上面执行pvcreate。
在创建卷组时将所有链路包含在vgcreate命令的参数内。
在已有的卷组中增加PV-Link:vgextend vgXX/dev/dsk/
在已有的卷组中删除PV-Link:vgreduce vgXX/dev/dsk/
手工启动HP-UX
进入ISL界面:
Boot from primary boot path > n ?
Boot from alternate boot path > n ?
Enter boot path > 52.6.0 ?
. . .
Interact with ISL > y ?
ISL> hpux (;0)/stand/vmunix ?
进入单用户状态
ISL> hpux -is (;0)/stand/vmunix ?
安装软件时检查swagentd是否启动
(单用户时不会自动启动)
# /sbin/init.d/swagentd start ?
软件打包到磁带(swinstall格式)
# swcopy到/var/spool/sw(或其他目录)
# swpackage -s /var/spool/sw -d/dev/rmt/0m \ ?
-x target_type=tape ?
杀死指定名字的进程
# ps -e | awk “/name1|name2/ {print \“kill -9 \“ \$1} “ |sh ?
检测INFORMIX SERVER状态
在SHELL中检测INFORMIX SERVER状态是否为ON-LINE
if ( ! ( onstat -p | grep -E“On_Line“>/dev/null 2>&1 )) ; then
. . .fi
1、在/etc目录下编写文件pfs_fstab
/dev/dsk/c3t2d0 /cdrom pfs-rripxlat=unix 1 0
2、在超级用户提示符下执行
#nohup /usr/sbin/pfs_mountd &
#nohup /usr/sbin/pfsd &
#/usr/sbin/pfs_mount /cdrom
在18版本中,没有了control.sh文件,只有一个配置文件,而且用cmmakepkg的时候不用加参数。
在配置角本中的external script后面加入一个外部角本,该角本可从/etc/cmcluster/examples里面拷贝。然后在起和关的命令里面再加入数据库的起和关角本。分发时只分发配置角本。
如果要重装别的版本,要用swlist|grep A.11.XX 找一下,要用swremove删干净.如果要装Oracle RAC,装上相应软件后,用vgchange –s y –c y 激活便可,剩下就是起集群,并在01号机上安装Oracle,然后自动分发到02号机上。不用建包,但激活vgora需要每次手工操作。在HP Integrity Server开机后,可能屏幕没有任何显示,请使用串口线登陆系统的MP,进行管理。下面将分为MP的管理、HP-UX的安装、HP的卷组操作和MC/Service Guard四章来说明。
HP Integrity Server MP
在HP Integrity Server中有一块MP卡,该卡负责对系统的状态进行监视和控制。该卡在系统插上电源后即被激活,无论操作系统是否启动,系统是否开机。该卡提供了串行和网络两种接口可供访问。
1、 连接
串口连接方式:
对于RX2600类型的机器,在后面板上有一个25针的接口,该接口在写着MP Management的一个框中,使用随机带的1对3接口(一边25针接口,另一边3个九针的接口),把串口线一边接到3个九针接口中写着“console”的接口上(串口线的线序为1-1,2-3,3-2,4-6,5-5,6-4,7-8,8-7,9-9),另一边接到笔记本上的串口上,然后可以使用Windows自带的超级终端程序对系统进行访问。
对于RX4600类型的机器,可能没有25针接口,而有三个九针的串口,其中之一为Local Console,则把串口线的一端接到Local Console口即可。
网络连接方式
机器在出厂之日,处于安全的考虑,给MP上的网卡设置的IP为127.0.0.1,所以在使用串口连接去修改MP网络的配置之前,不能使用网络连接方式。对于网络的配置,请参见本文后面的内容。
使用超级终端和串口连接系统
在Window系统中启动超级终端程序,选择COM1口连接,其中配置为
Bits per second 9600
Data bits 8
Parity None
Stop bits 1
Flow Control None
然后连接系统,则连接上以后可以输入“Enter”或者“Ctrl+B”,看是否有字符出现,如果有,则表示连接正确,否则请检查串口线及连接的情况。
一、 常用命令
在输入Ctrl+B后,系统应该提示登陆,如下图所示:
在其中输入用户名Admin和口令Admin,注意大小写完全匹配,然后登陆
登陆进入系统后便进入到MP的管理界面
CO:在主菜单模式下输入co,可以使屏幕脱离MP管理状态进入到OS的Console界面,可以进入到操作系统之中,然后操作和在普通的终端上操作并无区别。
需要从OS的console界面退回到MP管理界面中,需要输入“Ctrl+B”。因此co和Ctrl+B是MP中最常用的两个命令,co是从MP切换到操作系统的console,而Ctrl+B是从操作系统console切换到MP的管理界面之中。
VFP:(Virtual Front Panel)可以显示当前系统的指示灯状态,显示系统的正常与否,如:
CM:cm是命令模式,输入cm后系统进入到cm模式中,该模式有很多命令可以对系统进行管理,其中最常用的为lc和pc,下面着重介绍这两个命令,其他命令可以使用输入help查看。
Lc (Lan config): 是设置MP上的网卡的IP地址,以便通过远程方式访问MP,在输入lc后系统应该显示,
输入A进行修改,按照命令的提示输入相应的IP,网关和主机名,最后保存即可,然后可以使用telnet访问该MP。
另一个最重要的命令为pc(Power Control),使用该命令可以远程给系统上电和下电,输入后应该显示
可以输入on/off来控制系统的加电情况。
在主菜单中的其他命令,用法都比较简单,可以使用help查看即可。
二、 HP-UX的安装
1、 调整系统的输出设备
在缺省的情况下,系统会把启动信息输出到串口的Console上。如果希望把启动信息输出到外接的VGA显示器上,需要把输出设备作相应调整。
在进入系统MP之后,给系统加电,使用co切换到console状态,等系统启动到选择启动项目时候,如图
选择“Boot Option Maintenance Menu”进入,系统显示
选择“Select Active Console Output Devices”,然后系统显示
注意在前面有“*”号的为当前的活动输出,用上下箭头移动光标,“Enter”或者“Space”选中。去掉所有的星号,选择Acpi(HWP0002,700)/Pci(2|0)该选择VGA输出。然后保存后退出。这样OS的启动信息会输出到VGA上。
2、 预装系统
对于有的系统,已经预装了操作系统,则系统会提示用户进行主机名、root口令以及IP的设置,请按照提示进行一步步操作。
3、 重新安装操作系统
下面将按步骤进行操作系统安装
STEP 1: 把光盘插入到光驱中
STEP 2: 系统启动,当启动到选择启动项目时候,选择EFI Shell [Built in]
STEP 3:如果系统自动从光盘引导,开始安装过程,转到STEP 5。
STEP 4:如果没有自动引导,则屏幕应该显示
输入exit退到上级
输入map显示当前所有的磁盘,注意选择有CDROM的fs系统,在本图中为fs0。
输入fs0:
输入install,进入安装过程。
STEP 5: 安装继续进行
STEP 6: 如果系统检测到键盘,则会出现键盘选择,请输入26,否则下一步
STEP 7: 进入到选择菜单,选择“Install HP-UX”
STEP 8: 出现选择菜单,选择“Media Only Installation”和“AdvancedInstallation”,“OK”进入下一步
STEP 9:进入General配置界面
在其中修改需要修改的项目,例如语言环境,则显示为
STEP 10:到System Tab中,输入主机名,IP等选项,并设置root password和时区等内容
STEP 11:进入到File System Tab,修改相应得文件系统的大小,和增加新的文件系统
STEP 12:在一切就绪后,Go!
STEP 13: 确认磁盘文件覆盖,然后进行安装
STEP 14:等待约60分钟
STEP 15:安装完毕,系统正确启动
三、 HP-UX的卷组操作
1.建立LVM
假设我们有两个硬盘:c0t3d0和c0t4d0,要建立vg02,里面包含这两个硬盘,可以操作如下:
1).生成PV信息
#pvcreate -f /dev/rdsk/c0t3d0
#pvcreate -f /dev/rdsk/c0t4d0
说明:如果此硬盘包含了其它LVM的信息,此操作可能会报错,此时,可以将硬盘 盘头的相关信息去掉,命令如下:
#dd if=/dev/zero of=/dev/rdsk/c0t3d0 bs=1024count=1024
然后再重新用以上命令创建PV信息。
2). #mkdir /dev/vg02
3). #mknod /dev/vg02/group c 640x020000
说明:这条命令是用来建立设备文件,其中c表明建立的是字符设备,64代表的是设备驱动号,这两项都是不可改变的。0x020000的格式是,总是0x开头,02对应的是vg02——其实也可以不对应,只是为了以后方便,大部分时候,我们都是做成对应的,最后接0000。
4). #vgcreate /dev/vg02/dev/dsk/c0t3d0 /dev/dsk/c0t4d0
说明:这条命令的含义是,创建VG02,并将c0t3d0和c0t4d0这两个硬盘包含在内,当然,也可以先包含一个硬盘,以后需要的时候再扩第二个硬盘,操作如下:
#vgcreate /dev/vg02 /dev/dsk/c0t3d0
#vgextend /dev/vg02 /dev/dsk/c0t4d0(此命令就是将第二个硬盘扩到VG02当中)
5). lvcreate -L 100 vg02
说明:建立了VG信息以后(也就是卷组信息),就可以用lvcreate命令来创建逻 辑卷了。这条命令的含义是,建立一个大小为100M,包含在卷组vg02中的逻辑卷。并且,默认的名字是lvol1。第二次用这条命令,默认产生的名称是lvol2,以此类推。当然,我们有时候为了工作的方便,也可以自己给创建的逻辑卷命名,例子如下:
#lvcreate -L 100 n my_lvol1 vg02
这样,我们就用n参数来定义了逻辑卷的名称。如果我们不用-L参数来指定逻辑卷的大小,默认产生的大小就是0M,这有的时候会给我们的工作带来方便,比如做Mirror的时候,先指定逻辑卷的大小为0,这样做同步的速度就会很快,同步以后再来扩大逻辑卷。至于怎么扩,后面咱们会讲到。
6). newfs -F vxfs -o largefiles/dev/vg02/rlvol1
说明:-F参数指定文件系统类型,这里的vxfs文件系统其实就是我们常说的JFS文件系统,-o用来指定文件系统支持大格式文件,即支持单个文件大于2G的文件系统,否则,将来随着文件——特别是数据库文件——的增大,很可能会出现问题。而且,如果数据库文件采用裸文件的话,就不要进行这一步操作!
7). mkdir /vg02_lvol1
8). mount /dev/vg02/lvol1/vg02_lvol1
9). vgcfgbackup vg02
说明:这条命令产生的备份文件会存放在/etc/lvmconf/vg02.conf文件中。同理, vgcfgbackup
vg**产生的备份文件就是存放在/etc/lvmconf/vg**.conf文件中。(用strings命令,而不是用more命令来查看此文件)
2.扩展文件系统
扩展文件系统的目的,是为了扩大某个文件系统的可用空间。一般的,当某个文件系统的使用率超过了90%的时候,我们就应该予以格外的关注,因为使用率继续降低,将可能大大降低系统性能。此时,我们就以通过删除一些临时文件来增大可用空间,当然,也可以用下面将要讲到的扩大文件系统的方法。
我们仍然跟着上面的例子,比如上面我们在vg02中创建了100M的lvol1文件系统,现在我们来将其扩大到200M:
1). #lvextend -L 200 /dev/vg02/lvol1
2). #umount /dev/vg02/lvol1
3). #extendfs -F vxfs /dev/vg01/lvol2
说明:用了第一步的逻辑卷扩大以后,一定要记得使用这个扩大文件系统的操作,否则,将来系统是用sam来查看到的文件系统大小,和用bdf命令查看出来的大小,就会不一样,并且,扩大的那部分空间,其实是还不能使用的!
4). #mount -a
说明:做extendfs之前已经umount了,因此扩了文件系统以后,要记得重新mount上去
5). #vgcfgbackup vg02
说明:因为我们对文件系统进行了改动,因此不要忘记备份相关信息文件。
3.自动挂起文件系统
系统关闭时所有的文件系统被卸载,所有需要系统下次启动引导时自动挂起的文件系统必须被加入到/etc/fstab中。在启动引导过程中,/sbin/init.d/localmount脚本执行mount -a命令,自动挂起/etc/fstab文件中列出的文件系统。
四、 MC/Service Guard
1.配置MC的基本过程
本表仅供参考:
建立 /.rhosts, 使root对两机的所有资源都有所需的权限
建立Cluster的配置文本:
/etc/cmcluster/config.d
建立pkg1:
/etc/cmcluster/pkg1/pkg1.conf
/etc/cmcluster/pkg1/pkg1.cntl
/etc/cmcluster/pkg1/service1
同步两机的MC配置文件:
rcp -r /etc/cmcluster MachineB:/etc
检查配置是否正确:
cmcheckconf -v -C /etc/cmcluster/cmclconf -P/etc/mcluster/pkg0/pkg0.conf \
-P /etc/cmcluster/pkg1/pkg1.conf
编译、分发配置:
cmapplyconf -v -C /etc/cmcluster/cmclconf -P/etc/cmcluster/pkg0/pkg0.conf \
-P /etc/cmcluster/pkg1/pkg1.conf
修改LVM启动文件 /etc/lvmrc
AUTO_VG_ACTIVATE=0
使VG00,VG01,VG02不随系统的启动便置为可用
修改 /etc/hosts增加对pkg0和pkg1浮动地址的定义:
pkg0 132.97.4.12
pkg1 132.97.4.14
修改MC/ServiceGuard启动文件/etc/rc.config.d/cmcluster
AUTOSTART_CMCLD=1
检查/etc/rc.config.d/nfsconf,参数值应设置如下:
NFS_CLIENT=0
NFS_SERVER=0
同步两机的相关的配置文件:
/.rhosts
/etc/lvmrc
/etc/rc.config.d/nfsconf
/etc/rc.config.d/cmcluster
/etc/passwd
/etc/group
/etc/hosts
/etc/cmcluster/*
运行cluster:
cmruncl -v
cmviewcl –v
检查LOG:
/etc/cmcluster/pkg1/control.sh.log
/var/adm/syslog/syslog.log
2. 关于本文
主机命名规则:
本文的主机名分别是:node1和node2;并用蓝色表示该名称可随不同环境改变。
其他说明:
本文所有蓝色字符均为根据不同环境修改的;而褐色部分则为可选内容,即这些操作可根据用户实际需要选择;红色表示重要部分。
3. 安装软件
? 安装MC/ServiceGuard软件。
? 安装Database Toolkits软件
(安装后位于/opt/cmcluster/toolkit/
? 使用swinstall命令进行上述安装。
4. 准备系统
建立主机信任关系
编辑安全控制文件/.rhosts:包含其他节点的根用户授权,如
node1 root
node2 root
启动时间同步进程
建议在各个节点上面激活NTP(xntpd进程),编辑/etc/ntp.conf文件。
(注:该项可以跳过)
5. 网卡准备
硬件要求:每台服务器三块网卡(lan0、lan1、lan2)或两块网卡(lan0、lan1)加RS232串口(只有在双节点群集中使用),其中lan0作为主机的主网卡,作为数据通讯用,而lan1作为lan0的备份网卡,lan2(RS232)作为心跳信号通讯;
网卡配置:网卡的配置在/etc/rc.config.d/netconf文件中定义。
注意,在此文件中应将主网卡进行配置,而备份网卡不能配置IP地址。
6. 准备磁盘
(关键是共享磁盘--如:磁盘阵列)
创建逻辑卷(LV)结构
创建root盘的镜像
? 如果不fds需要的话,可以不做(只能使用命令完成,不能使用SAM)
? 建立bootable LVM,以备作为root盘的镜像:
# pvcreate -B /dev/rdsk/cxtydz ?
? 加入root VG:
# vgextend /dev/vg00 /dev/dsk/cxtydz ?
? 将新盘作成boot盘:
# mkboot /dev/rdsk/cxtydz ?
? 将AUTO File复制到新盘的LIF区内:
# mkboot -a “hpux (disk;0)/stand/vmunix” \
/dev/rdsk/cxtydz ?
? 对root和primary swap LV在新盘上做镜像(注意,应将VG00中的所有设备均做镜像,如/usr、/swap等):
# lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/cxtydz ?
? 更新BDRA中的boot信息:
# /usr/sbin/lvlnboot -v -r /dev/vg00/lvol1 ?
# /usr/sbin/lvlnboot -s /dev/vg00/lvol2 ?
? 检查BDRA是否正确:
# /usr/sbin/lvlnboot -R /dev/vg00 ?
? 确认镜像的正确性:
# lvlnboot -v ?
在磁盘阵列或盘柜上创建卷组(VG)和逻辑卷(LV)
注:(可以使用SAM或命令方式)
? 选择VG所使用的磁盘(得到每个节点上可以看见的磁盘,识别出共享磁盘一般表现为磁盘阵列设备文件),在每个节点上面均执行下面的命令,列出每个节点可见的磁盘设备:
# lssf /dev/dsk/*d0 ?
? 在节点1上面创建物理卷(PV)
# pvcreate /dev/rdsk/c1t2d0 ?
# pvcreate /dev/rdsk/c0t2d0 ?
? 在节点1上面创建卷组(VG)
创建卷组目录
# mkdir /dev/卷组名 ?
在卷组目录内创建卷组控制文件
# mknod /dev/卷组名/group c 64 0xhh0000?
(其中,主设备号总是64,次设备号以16进制数0xhh0000表示,hh必须在系统内唯一,使用系统中下一个可用的数值。使用下面的命令可以得到系统中已经存在的卷组:
# ls -l /dev/*/group ?)
创建卷组并将物理卷加入其中
# vgcreate /dev/卷组名 /dev/dsk/c1t2d0 ?
# vgextend /dev/卷组名 /dev/dsk/c0t2d0 ?
? 重复上述步骤创建其他卷组
? 在节点1上面创建逻辑卷(LV)
# lvcreate -L 12 /dev/卷组名 ?
? 在节点1上面创建文件系统(如果需要)
在新建的逻辑卷上面创建文件系统
# newfs -F vxfs /dev/卷组名/rlvol1 ?
创建mount目录点
# mkdir /mnt1 ?
Mount文件系统以检查正确性
# mount /dev/卷组名/lvol1 /mnt1 ?
修改卷组属性
在node1上deactivate 卷组:
# umount /mnt1 ?
# vgchange -a n /dev/卷组名 ?
改 /etc/lvmrc 将1改为0
在另一台主机上设置VG
(只能使用命令方式完成)
1) 在节点1上面,生成卷组映像文件
# vgexport -p –s -m /tmp/卷组名.map /dev/卷组名 ?
2) 在节点1上面,将卷组映像文件复制到节点2
# rcp /tmp/卷组名.map node2:/tmp/卷组名.map ?
3) 在节点2上面,创建卷组目录
# mkdir /dev/卷组名 ?
4) 在节点2上面,创建卷组控制文件
# mknod /dev/卷组名/group c 64 0xhh0000?
5) 在节点2上面,使用从节点1复制的卷组映像文件中的信息建立卷组结构
# vgimport –s -m /tmp/卷组名.map /dev/卷组名 \ ?
/dev/dsk/c1t2d0 /dev/dsk/c0t2d0 ?
(注意,在节点2上面的设备文件名字可能与节点1上面不同,必须确认)
6) 在节点2上面激活卷组
# vgchange -a y /dev/卷组名 ?
7) 创建mount目录点
# mkdir /mnt1 ?
8) Mount文件系统以检查正确性
# mount /dev/卷组名/lvol1 /mnt1 ?
9) Umount文件系统
# umount /mnt1 ?
10) Deactivate VG
# vgchange -a n /dev/卷组名 ?
创建其他卷组结构
重复上述步骤,创建其他卷组结构
所有卷组创建完成后
编辑/etc/lvmrc文件,保证在系统启动时不自动激活与CLUSTER有关的卷组(将AUTO_VG_ACTIVATE置为0,并确认root卷组包含在custom_vg_activation函数内)。这些卷组将在应用包的control.sh文本中激活。
最后步骤
配置MC/ServiceGuard双机前的最后步骤在配置节点(节点1)上激活所有卷组
# vgchange -a y /dev/卷组名 ?
7. 配置CLUSTER
(可以使用SAM或命令方式完成)
生成CLUSTER配置文件模板
# cmquerycl -v -C /etc/cmcluster/cmclconf.ascii -nnode1 \ ? -n node2 ?
# cmquerycl –k -v -C /etc/cmcluster/cmclconf.ascii-n node1 \ ? -n node2 ? (当系统盘盘号不一样时)
编辑CLUSTER配置文件模板
CLUSTER_NAME cluster1 #CLUSTER的名字
FIRST_CLUSTER_LOCK_VG /dev/vg01 #LOCK卷组
NODE_NAME node1 #节点名字
NETWORK_INTERFACE lan1
HEARTBEAT_IP 15.13.171.32 #lan1是HEARTBEAT网络
(如果是单网卡作实验,可不配LAN1该网卡地址)
NETWORK_INTERFACE lan2 #lan2是备份网络
NETWORK_INTERFACE lan0
STATIONARY_IP 192.6.143.10 #lan0的静态IP地址
( 或HEARTBEAT_IP 192.6.143.10 #lan0的心跳IP地址
如果是单网卡,该配置是HEARTBEAT_IP192.6.143.10)
(如都是HEARTBEAT_IP,拨任一根线,包将切换,如果有STATIONARY_IP,拨HEARTBEAT_IP,包将切换,拨STATIONARY_IP线,包不受影响)
FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0 #LOCK盘的物理卷名字
# SERIAL_DEVICE_FILE /dev/tty0p0 #RS232串行HEARTBEAT线路
NODE_NAME node2
NETWORK_INTERFACE lan1
HEARTBEAT_IP 15.13.171.30
NETWORK_INTERFACE lan2
NETWORK_INTERFACE lan0
STATIONARY_IP 192.6.143.20
FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0
# SERIAL_DEVICE_FILE /dev/tty0p0
HEARTBEAT_INTERVAL 1000000
NODE_TIMEOUT 2000000
AUTO_START_TIMEOUT 600000000
NETWORK_POLLING_INTERVAL 2000000
VOLUME_GROUP /dev/vg01
VOLUME_GROUP /dev/vg02 #注:所有CLUSTER相关的卷组都要在此写出
检查CLUSTER配置的正确性
(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
# cmcheckconf -v -C /etc/cmcluster/cmclconf.ascii ?
或# cmcheckconf –k -v -C/etc/cmcluster/cmclconf.ascii ?(如系统盘盘号不一样)
(# cmapplyconf -v -C /etc/cmcluster/cmclconf.ascii )
设置集群自动启动参数
编辑文件/etc/rc.config.d/cmcluster,将参数AUTOSTART_CMCLD设为1,则在系统自举时自动启动CLUSTER。
8. 配置Package和Services
(可以使用SAM或命令方式完成)
创建子目录
在/etc/cmcluster中为每个Package创建子目录
# mkdir /etc/cmcluster/pkg1 ?
# mkdir /etc/cmcluster/pkg2 ?
建立配置文件模板
为每个Package建立一个配置文件模板
# cmmakepkg -p /etc/cmcluster/pkg1/pkg1conf.ascii ?
# cmmakepkg -p /etc/cmcluster/pkg2/pkg2conf.ascii ?
编辑配置文件模板
编辑Package配置文件,根据实际需要修改相关项:
PACKAGE_NAME pkg1
NODE_NAME node1 主节点
NODE_NAME node2 备份节点
RUN_SCRIPT /etc/cmcluster/pkg1/control.sh Package启动脚本
RUN_SCRIPT_TIMEOUT NO_TIMEOUT
HALT_SCRIPT /etc/cmcluster/pkg1/control.sh Package停止脚本
HALT_SCRIPT_TIMEOUT NO_TIMEOUT
SERVICE_NAME service1 对每个service重复此3行定义
SERVICE_FAIL_FAST_ENABLED NO
SERVICE_HALT_TIMEOUT 300
SUBNET 15.16.168.0 Package对应的子网(可以多个)
(浮动子网,不需要在/etc/hosts和/etc/rc.config.d/netconf里面定义)
PKG_SWITCHING_ENABLED YES
NET_SWITCHING_ENABLED YES
NODE_FAIL_FAST_ENABLED NO
建立控制脚本的模板
编辑控制脚本
编辑修改Package控制脚本时注意进行以下工作:
? 在PATH中增加启动service所需要的路径
? 增加需要激活的卷组名字
? 增加需要mount的文件系统和逻辑卷的名字
? 定义IP地址和子网
? 增加service名字
? 增加service命令
? 注意函数start_services和halt_services中启动和停止service使用的脚本参数,保证service启动和停止命令的正确性
VG[0]=vg02
LV[0]=/dev/vg02/lvol1; FS[0]=/CCICdata1; FS_MOUNT_OPT[0]=""
LV[1]=/dev/vg02/lvol2; FS[1]=/CCICdata2; FS_MOUNT_OPT[1]=""
IP[0]=10.1.1.28
SUBNET[0]=10.1.1.0
# ADD customer defined run commands.
: # do nothing instruction, because a function must contain some command.
/etc/cmcluster/pkg_ccic/start_ora.sh
test_return 51
}
# This function is a place holder for customer define functions.
# You should define all actions you want to happen here, before the service is
# halted.
function customer_defined_halt_cmds
{
# ADD customer defined halt commands.
: # do nothing instruction, because a function must contain some command.
/etc/cmcluster/pkg_ccic/stop_ora.sh
test_return 52
}
------------------------------------------------------------------------------
检查并分发配置文件
? 将Package控制脚本复制到其他节点
# rcp /etc/cmcluster/pkg1/control.sh \ ?
node2:/etc/cmcluster/pkg1/control.sh ?
? 检查CLUSTER配置(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
# cmcheckconf -C /etc/cmcluster/cmclconf.ascii \ ?
-P/etc/cmcluster/pkg1/pkg1conf.ascii \ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
或 # cmcheckconf –k -C/etc/cmcluster/cmclconf.ascii \ ?
-P/etc/cmcluster/pkg1/pkg1conf.ascii \ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
(当系统盘盘号不一样时)
? 生成并分发二进制CLUSTER配置文件
# cmapplyconf -v -C /etc/cmcluster/cmclconf.ascii \?
-P/etc/cmcluster/pkg1/pkg1conf.ascii \ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
或# cmapplyconf –k -v-C /etc/cmcluster/cmclconf.ascii \ ?
-P/etc/cmcluster/pkg1/pkg1conf.ascii \ ?
-P/etc/cmcluster/pkg2/pkg2conf.ascii ?
(如果系统盘盘号不一样)
9.管理Cluster和Package
管理Cluster和节点
启动Cluster
# cmruncl -v ?
# cmruncl -v -n node1 -n node2 ?
在已运行的Cluster中增加一个节点运行
# cmrunnode -v node2 ?
在已运行的Cluster中停止一个节点运行
# cmhaltnode -f -v node2 ?
停止整个Cluster
# cmhaltcl -f -v ?
对Cluster进行重新配置
? 停止整个Cluster
? 如果要改变CLUSTER LOCK VG,则
# vgchange -c n vg01 ?
# vgchange -a y vg01 ?
? 重新进行配置工作
? cmapplyconf
? cmruncl
管理Package和Service
启动Package
# cmrunpkg -n node1 pkg1 ?
# cmmodpkg -e node1 pkg1 ?
停止Package,不切换
# cmhaltpkg pkg1 ?
移动Package
# cmhaltpkg pkg1 -n node1 ?
# cmrunpkg -n node2 pkg1 ?
# cmmodpkg -e pkg1 ?
对Package进行重新配置
? 停止整个Cluster
? 修改配置文件
? 修改control.sh文件(注意保证所有节点一致)
? cmapplyconf
? cmruncl
查看运行情况
# cmviewcl -v ?
测试Cluster配置
测试Package Manager
1) 得到service的pid(使用ps -ef命令)
2) 杀死service进程(使用kill命令)
3) 使用cmviewcl -v命令查看状态
4) 将Package移动回原节点
5) 对数据库系统的测试可以根据具体情况进行
测试Cluster Manager
1) 关闭一个节点的电源
2) 使用cmviewcl -v命令查看状态
3) 打开节点的电源
4) 使用cmviewcl -v命令查看状态
5) 将Package移动回原节点
6) 对数据库系统的测试可以根据具体情况进行
测试Network Manager
1) 使用lanscan命令得到主/备网络信息
2) 使用cmviewcl -v命令查看状态
3) 从主网卡上拔掉网线
4) 使用cmviewcl -v命令查看状态(应完成本地网络切换)
5) 重新连接网线
6) 使用cmviewcl -v命令查看状态
故障诊断方法
1、 检查Cluster和Package状态
使用cmviewcl -v命令
2、 检查RS232状态
使用cmviewcl -v命令
3、检查Package IP地址
使用netstat -in命令
4、查看LOG文件
/var/adm/syslog/syslog.log
/etc/cmcluster/pkg1/control.sh.log
5、查看Cluster和Package配置文件
6、查看Package控制脚本文件(control.sh)
7、使用cmquerycl和cmcheckconf命令检查配置的合法性
8、检查LAN配置情况
# netstat -in
# lanscan
# arp -a
# landiag
# linkloop
# /usr/contrib/bin/cmgetconfig -f
# cmviewcl -v
附:一些有用的系统命令
查看硬件配置情况
# /usr/sbin/dmesg
# /usr/sbin/ioscan
# /usr/sbin/lssf /dev/rdsk/c0t5d0
# diskinfo /dev/rdsk/c0t5d0
# swapinfo ?
# lanscan ?
配置LAN
# /sbin/set_parms hostname
# /sbin/set_parms ip_address
编辑etc/hosts 文件
reboot
或
# /sbin/set_parms initial(根据提示操作)
创建新文件系统
# newfs -F hfs
# mkdir /mountpoint ?
# mount
Edit /etc/fstab file
# umount /mountpoint ?
# lvextend -L 400
# extendfs
# mount
# newfs -F hfs /dev/vg01/rlvol1 ?
# mkdir /home.new ?
# mount /dev/vg01/lvol1 /home.new ?
# cd /home ?
# find . | cpio -pdumv /home.new ?
# rm -rf /home/* ?
# umount /home.new ?
# mount /dev/vg01/lvol1 /home ?
# rmdir /home.new ?
文件系统日常维护
/var/adm/wtmp
/var/adm/btmp
/var/adm/sulog
/var/adm/cron/log
/var/spool/mqueue/syslog
/var/spool/mqueue/senmail.st
/var/spool/uucp/.Admin/*
/usr/spool/uucp/.Log/*
/var/adm/lp/log
/var/adm/messages
/var/adm/sw/swinstalllog
/var/adm/sw/swremovelog
/var/adm/sw/sw*.log
删除core文件
# find / -name core -exec rm {} ?
将磁盘从一个卷组移到另一个卷组
# pvmove /dev/dsk/c3t2d0 ?
# vgreduce /dev/vg01 /dev/dsk/c3t2d0 ?
# vgextend /dev/vg02 /dev/dsk/c3t2d0 ?
PV-Link(物理卷链路)配置
只在主链路上面执行pvcreate。
在创建卷组时将所有链路包含在vgcreate命令的参数内。
在已有的卷组中增加PV-Link:vgextend vgXX/dev/dsk/
进入ISL界面:
Boot from primary boot path > n ?
Boot from alternate boot path > n ?
Enter boot path > 52.6.0 ?
. . .
Interact with ISL > y ?
ISL> hpux (;0)/stand/vmunix ?
进入单用户状态
ISL> hpux -is (;0)/stand/vmunix ?
安装软件时检查swagentd是否启动
(单用户时不会自动启动)
# /sbin/init.d/swagentd start ?
软件打包到磁带(swinstall格式)
# swcopy到/var/spool/sw(或其他目录)
# swpackage -s /var/spool/sw -d /dev/rmt/0m \ ?
-x target_type=tape ?
杀死指定名字的进程
# ps -e | awk “/name1|name2/ {print \“ kill -9 \“\$1} “ |sh ?
检测INFORMIX SERVER状态
在SHELL中检测INFORMIX SERVER状态是否为ON-LINE
if ( ! ( onstat -p | grep -E “On_Line“>/dev/null2>&1 )) ; then
. . .fi
1、在/etc目录下编写文件pfs_fstab
/dev/dsk/c3t2d0 /cdrom pfs-rrip xlat=unix 1 0
2、在超级用户提示符下执行
#nohup /usr/sbin/pfs_mountd &
#nohup /usr/sbin/pfsd &
#/usr/sbin/pfs_mount /cdrom
在18版本中,没有了control.sh文件,只有一个配置文件,而且用cmmakepkg的时候不用加参数。
在配置角本中的external script后面加入一个外部角本,该角本可从/etc/cmcluster/examples里面拷贝。然后在起和关的命令里面再加入数据库的起和关角本。分发时只分发配置角本。
如果要重装别的版本,要用swlist|grep A.11.XX 找一下,要用swremove删干净.如果要装Oracle RAC,装上相应软件后,用vgchange –s y –c y 激活便可,剩下就是起集群,并在01号机上安装Oracle,然后自动分发到02号机上。不用建包,但激活vgora需要每次手工操作。