当前位置:文档之家› HP_ServiceGuard配置手册_-_net

HP_ServiceGuard配置手册_-_net

HP_ServiceGuard配置手册_-_net
HP_ServiceGuard配置手册_-_net

HP ServiceGuard配置手册

作者:邓雪平日期:2013-03-25

MSN:dengxueping@https://www.doczj.com/doc/744396609.html, 日期:

QQ:67493282 日期:

2013年3月

目录

1.相关配置信息 (5)

1.1.主机配置 (5)

1.2.集群配置 (5)

1.3.磁盘阵列配置 (6)

2.卷组配置 (7)

2.1.创建PV(Physical Volume) (7)

2.2.创建VG(Volume Group) (8)

2.2.1.创建用于VG的目录 (8)

2.2.2.创建字符设备文件 (8)

2.2.3.创建VG (8)

2.3.创建LV(Logic Volume)和文件系统 (9)

2.4.VG的激活与同步 (9)

3.集群配置 (12)

3.1.检查软件是否已经安装 (12)

3.2.配置hosts及信任关系 (12)

3.3.生成集群配置文件 (13)

3.4.生成程序包配置文件 (16)

3.4.1.创建程序包配置模板文件 (16)

3.4.2.修改程序包配置模板文件 (16)

3.5.数据库控制脚本 (18)

3.6.验证及分发集群及程序包配置文件 (18)

3.7.运行集群及程序包 (18)

4.SERVICEGUARD常用命令 (21)

1. 相关配置信息

1.1. 主机配置

部署ServiceGuard的服务器为两台数据库主机,两台主机运行一个数据库实例,以主备模式运行,主机的配置情况如下:

1.2. 集群配置

1.3. 磁盘阵列配置

2. 卷组配置

磁盘阵列为数据库划分了5个LUN,分别为disk24, disk25,disk26, disk27,disk31,需要注意的是,HP-UX v11.31采用永久设备名,如/dev/disk/disk3,对于一个lun只有一个设备名,并且不再和物理路径绑定,而是和LUN的WorldWide Identifier (WWID)绑定,只要WWID不变,设备名就不变,把物理设备拔掉再插回也不变,新加入的设备只会分配新的设备名。不再需要多路径软件了,能自动实现load balance功能,如果链路失败系统会取消该链路,当发现新链路时自动发现并加入load balance,不再使用传统的磁盘设备文件名称,如/dev/dsk/c4t0d3,我们应该使用新的磁盘设备文件进行相应的操作。对于永久设备名更详细的描述,可以参考:https://www.doczj.com/doc/744396609.html,/archiver/tid-1253988.html

5个LUN中,disk24, disk26用于vgoradb卷组,这个卷组分成两个逻辑卷,一个用户于存放oracle数据文件,另一个卷用于联机归档日志,而disk25,disk27用于orabak,用于数据库备份,disk31用于锁盘。对于锁盘,有以下几点需要注意:

1)锁盘用于节点争夺资源时进行仲裁

2)锁盘必须在创建在磁盘阵列,不能创建在本地硬盘

3)锁盘的容量大小无限制,在EVA磁盘阵列上最小的容量单位为1G,因此,只要给锁盘划分一个1G的LUN就可以了,锁盘上面不会保存任何的信息,不需要创建LV,只要创建一个普通的VG就可以了

4)只有两个节点集群,锁盘是必须的,有两个以上节点的集群,可以不要锁盘

2.1. 创建PV(Physical Volume)

pvcreate /dev/disk/disk24

pvcreate /dev/disk/disk25

pvcreate /dev/disk/disk26

pvcreate /dev/disk/disk27

pvcreate /dev/disk/disk31

已经创建的pv,可以使用pvremove命令删除,使用传统的设备文件创建pv的命令如下:gd-mudb1[/dev/rdsk]#pvcreate /dev/rdsk/c2t0d0

Physical volume "/dev/rdsk/c2t0d0" has been successfully created.

gd-mudb1[/dev/rdsk]#pvremove /dev/rdsk/c2t0d0

The physical volume associated with "/dev/rdsk/c2t0d0" has been removed.

这里需要注意的是,要使用rdsk目录的设备文件创建pv,而不是dsk目录

2.2. 创建VG(Volume Group)

2.2.1. 创建用于VG的目录

mkdir /dev/vgoradb

mkdir /dev/vgorabak

mkdir/dev/vglock

2.2.2. 创建字符设备文件

mknod /dev/vgoradb/group c 64 0x010000

mknod /dev/vgorabak/group c 64 0x020000

mknod /dev/vglock/group c 64 0x030000

mknod的语法如下:

mkdir [options] name {bc} major minor

mknod [options] name p ?

上面的/dev/vgoradb/group就是name,b、c、p是设备类型

p FIFO类型

b 块文件

c 字符文件

major:这里通常都是64

minor:0x010000是组文件的mirror number,大小为从0-ff(0-255)

跟在设备文件名后的c指定group是字符设备文件

64是group设备文件的主编号,主编号始终是64

0xnn0000是group文件的十六进制形式的次编号,每个具体的nn必须在所有卷组中是唯一的,一般来nn和卷组号对应比较容易识别,方便维护。

通过ls –l可以查到major和minor的值,如下所示:

crw-r----- 1 root sys 64 0x000000 Dec 31 04:23 /dev/vg00/group crw-rw-rw- 1 root sys 64 0x020000 Mar 2 16:47 /dev/vgorabak/group crw-rw-rw- 1 root sys 64 0x010000 Mar 2 16:47 /dev/vgoradb/group

2.2.

3. 创建VG

vgcreate /dev/vgorabak /dev/disk/disk25 /dev/disk/disk27

vgcreate /dev/vglock /dev/disk/disk31

2.3. 创建LV(Logic Volume)和文件系统

lvcreate –L 20000 –n oradata /dev/vgoradb

lvcreate –L 1000 –n archlog /dev/vgoradb

lvcreate –L 40000 –n orabak /dev/vgorabak

对于锁盘,可以不用创建LV。

然后创建文件系统:

mkfs –F vxfs /dev/vgoradb/oradata

mkfs –F vxfs /dev/vgoradb/archlog

mkfs –F vxfs /dev/vgorabak/orabak

然后创建挂载点,就可以把文件系统挂载到主机上

mkdir /oradata

mkdir /archlog

mkdir /orabak

mount /dev/vgoradb/oradata /oradate

mount /dev/vgoradb/archlog /archlog

mount /dev/vgorabak /orabak /orabak

2.4. VG的激活与同步

需要注意的一点是,VG需要激活之后才能挂载,激活的方式有三种:

vgchange –a e /dev/vgoradb

vgchange –a y /dev/vgoradb

vgchange –c y /dev/vgoradb

这三种分别使用在不同的情况下,参数-a y的方式,是以共享的方式挂载卷组,这种方式用于卷组未加入集群管理时使用;参数-c y这种方式需要在集群启动的时候才能使用,用于把卷组加入到集群中管理,而参数-a e是卷组在执行-c y命令加入到集群管理之后,再以独占的方式激活卷组,在集群方式下,卷组只能以独占的方式激活。

禁用卷组有如下两种方式:

vgchange –a n /dev/vgoradb

vgchange –c n /dev/vgoradb

其中-c n的方式是把卷组从集群管理中释放出来

在一台主机上配置好卷组之后,在另外一台主机不需要再进行配置,创建卷组设备文件,然后把已经配置好的卷组信息导出,再导入到另外一台即可,卷组只有在禁用状态下才能被导出,不然会报错,如以下命令:

gd-mudb1[/tmp]#vgexport -s -m /tmp/vgorabak.map /dev/vgorabak

vgexport: Volume group "/dev/vgorabak" is still active.

vgexport: Couldn't export volume group "/dev/vgorabak".

这个时候这个VG是active的状态,需要把它deactive:

vgchange -a n /dev/vgorabak

deactive之后,执行vgexport的需要带-p的参数,不然后会在会这台机器把卷组remove 掉,如下所示:

vgexport -s -m /tmp/vgorabak.map /dev/vgorabak

使用strings命令查看卷组配置信息:

strings /etcm/lvmtab

gd-mudb1[/]#strings /etc/lvmtab

/dev/vg00

/dev/disk/disk3_p2

/dev/vgoradb

/dev/disk/disk24

/dev/disk/disk26

可以看到/dev/vgorabak这个卷组已经被remove掉了,这里的strings命令是查看二进制文件中的文本信息。vgexport命令中的-p参数是preview的意义,即只是预览,并不真正把卷组导出、卸载。-s是扫描卷组配置,-m参数指定导出文件,同步时应执行下面的命令:vgexport –p -s -m /tmp/vglock.map /dev/vglock

vgexport –p –s –m /tmp/vgoradb.map /dev/vgoradb

vgexport –p –s –m /tmp/vgorabak.map /dev/vgorabak

然后通过rcp命令把这些配置文件传到另外一台机器,再导入卷组配置:

rcp /tmp/vglock.map gd-mudb2:/tmp/vglock.map

rcp /tmp/vgoradb.map gd-mudb2:/tmp/vgoradb.map

rcp /tmp/vgorabak.map gd-mudb2:/tmp/vgorabak.map

在另外一台主机gd-mudb2上执行:

vgimport –N –s –m /tmp/vglock.map /dev/vglock

vgimport –N –s –m /tmp/vgoradb.map /dev/vgoradb

vgimport –N –s –m /tmp/vgorabak.map /dev/vgorabak

需要注意这里的-N参数,这个参数是为支持新的设备文件名而增加的,导入之后,查看lvmtab文件则可以看到卷组的配置信息:

gd-mudb1[/]#strings /etc/lvmtab

/dev/vg00

/dev/disk/disk3_p2

/dev/vgoradb

/dev/disk/disk24

/dev/disk/disk26

/dev/vgorabak

/dev/disk/disk25

/dev/disk/disk27

/dev/vglock

/dev/disk/disk24

在以共享模式(vgchage –a y dev/vgxxx)激活的卷组,可以在两台主机上同时激活,但不能同时挂载,在第二台机器上挂载的时候会报错:

gd-mudb2[/dev]#mount /dev/vgorabak/orabak /orabak

vxfs mount: V-3-21268: /dev/vgorabak/orabak is corrupted. needs checking

到此,磁盘卷组就都配置完成了。

3. 集群配置

3.1. 检查软件是否已经安装

通常如果购买了ServiceGuard软件,则厂家在安装操作过程会把ServiceGuard软件安装上去,但不会做配置。通过以下命令检查是否安装了ServiceGuard软件:swlist |grep ServiceGuard

3.2. 配置hosts及信任关系

确保在在两台主机的hosts文件中有如下配置:

#gd-mudb1

/etc/hosts文件:

127.0.0.1 localhost loopback

192.168.3.21 gd-mudb1 #data net

192.168.3.22 gd-mudb2

192.168.0.1 gd-mudb1-HB #heart net

192.168.0.2 gd-mudb2-HB #heart net

#gd-mudb2

/etc/hosts文件:

127.0.0.1 localhost loopback

192.168.3.21 gd-mudb1 #data net

192.168.3.22 gd-mudb2

192.168.0.1 gd-mudb1-HB #heart net

192.168.0.2 gd-mudb2-HB #heart net

确保两台机有如下信任关系配置:

gd-mudb1[/]#more ~/.rhost

gd-mudb1 root

gd-mudb2 root

gd-mudb2[/]#more ~/.rhost

gd-mudb1 root

gd-mudb2 root

两台机建立信任关系之后,就可以使用rlogin host_name直接登录到另外一台主机,而不需要密码,同时也可以使用rcp在两台机之后传文件,使用命令的格式如下:

rcp host_name:/path/to/file /path/to/local/file

rcp /path/to/local/file host_name:/path/to/file

确保两台机PING内网IP、心跳IP都可以通讯,心跳IP的两块网卡通过直连线(交叉线)进行连接。

3.3. 生成集群配置文件

执行cmquerycl命令生成集群配置模板文件:

cmquercl –v –C /etc/cmcluster/cluser.ascii –n gd-mudb1 –n gd-mudb2

这里的-v参数显示详细信息,-C指定配置文件的路径,-n指定集群中的节点。

在实际操作过程中出现了一个错误:

gd-mudb1[/etc/cmcluster]#cmquerycl -v -C /etc/cmcluster/cluster.ascii -n gd-mudb1 -n gd-mudb2

Warning: Unable to determine local domain name for gd-mudb1

Looking for other clusters ... Done

Node gd-mudb2 is refusing Serviceguard communication.

Please make sure that the proper security access is configured on node

gd-mudb2 through either file-based access (pre-A.11.16 version) or role-based access (version A.11.16 or higher) and/or that the host name lookup

on node gd-mudb2 resolves the IP address correctly.

Failed to gather configuration information.

很明显,错误显示,gd-mudb2节点无法进行通讯,ServiceGuard在安装好之后,会在inetd.conf文件时写入双机配置信息,随便inetd服务启动监护进程,但不知为什么,在gd-mudb2的配置信息被注释掉了,查看如下:

#SDUXdisable# hacl-cfg dgram udp wait root /usr/lbin/cmclconfd cmclconfd -p

#SDUXdisable# hacl-cfg stream tcp nowait root /usr/lbin/cmclconfd cmclconfd –c

因此,在出现类似Node gd-mudb2 is refusing Serviceguard communication.这种错误的时候,首先检查inetd.conf文件,如果配置被注释,只要把注释去掉

#SDUXdisable#

hacl-cfg dgram udp wait root /usr/lbin/cmclconfd cmclconfd -p

#SDUXdisable#

hacl-cfg stream tcp nowait root /usr/lbin/cmclconfd cmclconfd –c

并执行inetd –c命令inetd服务即可,重新再执行cmquerycl命令,还是报错,报错信息如下:

gd-mudb2[/etc/cmcluster]#cmquerycl -v -C /etc/cmcluster/cluster.ascii -n gd-mudb1

-n gd-mudb2

Warning: Unable to determine local domain name for gd-mudb2

Looking for other clusters ... Done

Gathering storage information

Error reading device /dev/dsk/c2t0d0s1 0x8

Error reading device /dev/dsk/c2t0d0s2 0x8

Error reading device /dev/dsk/c2t0d0s3 0x8

Found 32 devices on node gd-mudb1

Found 32 devices on node gd-mudb2

Analysis of 64 devices should take approximately 7 seconds

0%----Error reading device /dev/dsk/c2t0d0s1 0x8

Error reading device /dev/dsk/c2t0d0s2 0x8

Error reading device /dev/dsk/c2t0d0s3 0x8

10%----20%----30%----40%----50%---Error reading device /dev/disk/disk3_p1 0x8 Error reading device /dev/disk/disk3_p2 0x8

-60%--Error reading device /dev/disk/disk3_p1 0x8

Error reading device /dev/disk/disk3_p2 0x8

--70%--Error reading device /dev/disk/disk3_p3 0x8

--80%---Error reading device /dev/disk/disk3_p3 0x8

-90%----100%

Found 3 volume groups on node gd-mudb1

Found 3 volume groups on node gd-mudb2

Analysis of 6 volume groups should take approximately 1 seconds

0%----10%----20%----30%----40%----50%----60%----70%----80%----90%----100%

Note: Disks were discovered which are not in use by either LVM or VxVM.

Use pvcreate(1M) to initialize a disk for LVM or,

use vxdiskadm(1M) to initialize a disk for VxVM.

Unable to determine a unique identifier for physical volume /dev/disk/disk3_p2 on node gd-mudb1. Use pvcreate to give the disk an identifier.

Unable to determine a unique identifier for physical volume /dev/disk/disk3_p2 on node gd-mudb2. Use pvcreate to give the disk an identifier.

Gathering network information

Beginning network probing

Completed network probing

Failed to gather configuration information.

集君配置文件没有生成,这里最主要的错误是:

Unable to determine a unique identifier for physical volume /dev/disk/disk3_p2 on node gd-mudb1. Use pvcreate to give the disk an identifier.

在网上查找了很久,都没有找到原因,咨询了一下HP的工程师,提供了一份关于“unique identifier”错误描述的详细文档,文档描述了出现这个错误可能的原因及解决方法,其中有一种情况,描述如下:

CAUSE 5:

On 11.31 systems, partitioned boot VG devices may have this symptom:

Unable to determine a unique identifier for physical volume /dev/disk/disk13_p2 on node ux206010.

vgdisplay and /etc/lvmtab look okay, however lvlnboot does not provide output and the idisk command shows:

#> idisk /dev/rdisk/disk9

idisk version: 1.44

idisk: Primary partition information not valid.

Run idisk with -r option to restore.

SOLUTION:

#> idisk -w -r /dev/rdisk/disk9

idisk version: 1.43

********************** WARNING ***********************

If you continue you may destroy all data on this disk.

Do you wish to continue(yes/no)? yes

执行idisk时提示主分区无效,使用disk –r选项进行恢复,操作如下操作:

#> idisk -w -r /dev/rdisk/disk3_p2

idisk version: 1.43

********************** WARNING ***********************

If you continue you may destroy all data on this disk.

执行上述命令之后,执行cmquerycl成功。但是在后面,主机关闭之后,无法重新启动,造成这个问题的原因为。HP工程师在分配LUN时,未配置锁盘使用的LUN。在创建锁盘使用的PV时,使用了错误的LUN,执行了如下命令:

pvcreate /dev/rdsk/c2t0d0

而此LUN对应的新设备名为disk3_p2,此LUN为本地硬盘,对应为根盘,从lvmtab中可以看出:

gd-mudb1[/]#strings /etc/lvmtab

/dev/vg00

/dev/disk/disk3_p2

...

对disk3_p2执行pvcreate命令之后,主分区信息被破坏,导致后面重启后主机无法启动。因此,执行卷操作时,一定要熟悉各个LUN的用途,是否已经被使用。通常查看lvmtab,vg00卷组通常为根盘,不能动它。

在执行cmquerycl执行成功后,会在/etc/cmcluster目录下生成cluster.ascii文件,此文件只是一个模板文件,文件内容需要按实际配置进行修改。主要修改的配置参数如下:

cluster.ascii文件

CLUSTER_NAME gd-mudb

FIRST_CLUSTER_LOCK_VG /dev/vglock

VOLUME_GROUP /dev/vglock

VOLUME_GROUP /dev/vgoradb

VOLUME_GROUP /dev/vgorabak

CLUSTER_NAME指定集群的名称,FIRST_CLUSTER_LOCK_VG指定锁盘的卷组,VOLUME_GROUP指定加入集群管理的卷组,可以使用这些参数名在配置文件搜索其所在的位置,然后进行修改。

3.4. 生成程序包配置文件

3.4.1. 创建程序包配置模板文件

1. 创建程序包目录

cd /etc/cmcluster

mkdir orapkg

2. 生成程序包配置文件及控制文件

cmmakepkg –p orapkg/orapkg.conf

cmmakepkg –s orapkg/https://www.doczj.com/doc/744396609.html,tl

使用上述命令生成的配置文件及控制文件只是一个模板,在使用之前需要手工修改

3.4.2. 修改程序包配置模板文件

1. orapkg.conf文件

此文件使用命令生成,生成的模板文件不能直接使用,需要根据实际的配置进行修改,修改的主要内容有:

PACKAGE_NAME orapkg

NODE_NAME gd-mudb1

NODE_NAME gd-mudb2

RUN_SCRIPT /etc/cmcluster/orapkg/https://www.doczj.com/doc/744396609.html,tl

HALT_SCRIPT /etc/cmcluster/orapkg/https://www.doczj.com/doc/744396609.html,tl

SERVICE_NAME DB_MONITOR

SERVICE_FAIL_FAST_ENABLED no

SERVICE_HALT_TIMEOUT 300

PACKAGE_NAME指定程序包的名称,NODE_NAME指定程序包所在的节点,RUN_SCRIPT、HALT_SCRIPT指定启、停程序包脚本的位置,SERVICE相关的参数配置了一个服务,这个服务用于监控数据库。

2. https://www.doczj.com/doc/744396609.html,tl文件

此文件使用命令生成,生成的模板文件不能直接使用,需要根据实际的配置进行修改,修改的主要内容有:

VG[0]="vgoradb"

VG[1]="vgorabak"

LV[0]="/dev/vgoradb/oradata"; FS[0]="/oradata"; FS_MOUNT_OPT[0]="-o rw"; FS_UMOUNT_OPT[0]=""; FS_FSCK_OPT[0]=""; FS_TYPE[0]="vxfs"

LV[1]="/dev/vgoradb/archlog"; FS[1]="/archlog"; FS_MOUNT_OPT[1]="-o rw"; FS_UMOUNT_OPT[1]=""; FS_FSCK_OPT[1]=""; FS_TYPE[1]="vxfs"

LV[2]="/dev/vgorabak/orabak"; FS[2]="/orabak"; FS_MOUNT_OPT[2]="-o rw"; FS_UMOUNT_OPT[2]=""; FS_FSCK_OPT[2]=""; FS_TYPE[2]="vxfs"

IP[0]="192.168.3.20"

SUBNET[0]="192.168.3.0"

SERVICE_NAME[0]="DB_MONITOR"

SERVICE_CMD[0]="/etc/cmcluster/orapkg/dbcontrol.sh monitor"

SERVICE_RESTART[0]="-r 3"

function customer_defined_run_cmds

{

# ADD customer defined run commands.

: # do nothing instruction, because a function must contain some command.

/etc/cmcluster/orapkg/dbcontrol.sh start

test_return 51

}

function customer_defined_halt_cmds

{

# ADD customer defined halt commands.

: # do nothing instruction, because a function must contain some command.

/etc/cmcluster/orapkg/dbcontrol.sh stop

test_return 52

}

VG相关的参数把所以的VG定义成了一个VG数组,此程序包所有的VG资源都在这里定义,需要注意的是,集群的配置文件里有VG的配置,这里也有VG的配置,集群里可以不只一个程序包,各个程序包用到的VG资源,都在各自个程序包的这个控制文件里配置。

LV[0]="/dev/vgoradb/oradata"; FS[0]="/oradata"; FS_MOUNT_OPT[0]="-o rw"; FS_UMOUNT_OPT[0]=""; FS_FSCK_OPT[0]=""; FS_TYPE[0]="vxfs"

上面的配置指明LV的挂载的相关配置

服务的相关配置定义了服务的详细调用方式,SERVICE_RESTART[0]="-r 3"指定了服务启动失败时,尝试3次

后面的两个函数customer_defined_run_cmds、customer_defined_halt_cmds板模是自动生成的,在执行cmrunpkg、cmhaltpkg时会试用这两个函数,这里只是定义了一个框架,/etc/cmcluster/orapkg/dbcontrol.sh start、/etc/cmcluster/orapkg/dbcontrol.sh stop这些实际上要做的动作,由我们自己添加。

从上述的配置中可以看到,ServiceGuard的配置文件给我们提供一个框,像服务的的实际脚本、程序包的启停脚本,都是需要我们自己去定义的。

3.5. 数据库控制脚本

dbcontrol.sh这个脚本才是服务定义、程序包启停真正的执行的地方,这个脚本可以使用HP的标准脚本、它不是免费的,一般HP不会提供,需要去网上自己找,然后根据实际配置进行修改,也可以自己来写。

脚本比较长,在此不列出,需要时自己去查看。要更好的理解ServiceGuard集群的运行原理,需要认真读懂此脚本。

3.6. 验证及分发集群及程序包配置文件

在分发配置文件之前一定要先激活锁盘:

vgchange –a e /dev/vglock

分发集群及程序包配置文件的过程中,会生成二进制的配置文件cmclconfig,同时会把配置文件分发到各个节点。

执行下面的命令检查集群及程序包配置文件:

cmcheckconf -v -k -C /etc/cmcluster/cluster.ascii -P /etc/cmcluster/orapkg/orapkg.conf

检查配置没有问题之后,执行下面的命令则分发集群、程序包配置文件:

cmapplyconf -v -k -C /etc/cmcluster/cluster.ascii -P /etc/cmcluster/orapkg/orapkg.conf

至此,ServiceGuard集群就配置完了

3.7. 运行集群及程序包

集群配置完成之后,使用cmruncl –f –v来运行集群,运行成功之后,可以使用cmviewcl –v 来查看集群的运行状态,程序会列出集群、节点和程序包的运行状态。

要停止整个集群,则使用cmhaltcl –f –v的命令,要启动程序包,使用cmrunpkg –n node_name pkg_name,-n参数指定程序包在哪个节点上运行,停止程序包,使用cmhaltpkg pkg_name 命令,但是,在一个节点停止程序包之后,会自动在另外一个节点重启,如果不希望服务包重启,则使用cmmodpkg –d –n node_name1–n node_name2…pkg_name 禁用程序包。

如果要切换程序包,则可以不禁用程序包,直接执行cmhaltpkg停掉程序包,这样程序包就会在另外一台机重启。以下脚本是我自己写的用于程序包在节点间切换的脚本:cmswitchpkg

#!/bin/sh

CL_CONF=/etc/cmcluster/cluster.ascii

#------------------------------ MAIN -------------------------------

OSUSER=$(id|awk -F'(' '{print $2}' |awk -F')' '{print $1}')

if [ $OSUSER != "root" ]; then

echo

echo "The user to execute this program must be ROOT!"

echo

exit 0

fi

if [ $# -eq 0 ]; then

echo

echo "Usage: cmswitchpkg pkg_name"

echo

exit 0

else

PKG_NAME=$1

echo "Package name: $PKG_NAME"

fi

STATE=$(cmviewcl -v |grep -w $PKG_NAME |awk '{print $3}')

echo "Running state: $STATE"

if [ $STATE != "running" ]; then

echo

echo "The package $PKG_NAME does not running!"

echo

exit 0

else

HOST_MA=$(cmviewcl -v |grep -w $PKG_NAME |awk '{print $5}')

echo "The host master: $HOST_MA"

if [ -f $CL_CONF ]; then

HOST_SL=$(grep ^NODE_NAME $CL_CONF | awk '{print $2}' |grep -v $HOST_MA)

echo "The host slave: $HOST_SL"

else

echo

echo "Can't find the cmcluster configuration file!"

exit 0

fi

fi

echo "Switch package [$PKG_NAME] from $HOST_MA to ${HOST_SL}... "

cmhaltpkg $PKG_NAME

cmmodpkg -d -n $HOST_MA $PKG_NAME

cmmodpkg -e -n $HOST_SL $PKG_NAME

cmrunpkg -n $HOST_SL $PKG_NAME

要查看集群的运行情况,可以查看/var/adm/syslog/syslog.log日志文件,集群会在所有节点的这个日志文件中输出运行日志。

程序包运行的详细日志,在程序包所运行的节点的程序包目录,如orapkg程序包的日志位于/etc/cmcluster/orakg/https://www.doczj.com/doc/744396609.html,tl.log

Amanda安装配置

Amanda安装配置 一关于amanda Amanda本身并不是备份程序,它其实只是管理其他备份软件的封装软件。它使用系统上的dump和restore命令作为底层的备份软件,同时也能够使用tar命令,针对于windows计算机,Amanda还能够使用smbtar命令来实现备份。 Amanda 的整体策略是:在每次周期中完成一次数据的完全备份,并且确保在两次完全转储之间备份所有更改的数据。传统的做法是先执行完全备份,然后在此期间执行增量备份。而Amanda 的工作方式不同的是,每次运行Amanda 都对部分数据进行完全备份,确切地说,就是在一个完整的备份周期内备份全部数据所需备份的其中一部分。例如,如果周期为7 天,且一个周期内进行7次备份,则每天必须备份1/7 的数据,以便在7 天之内完成一次完全备份。除了这个“部分”完全备份外,Amanda 还对自最近一次完全备份后更改的数据进行增量备份。Amanda这种特有的备份策略,可以减少每次备份的数据量 amanda组件 Amanda系统包含如下组件: 1、客户端程序,是amandad 其中最重要的。此后台程序在备份运行时和Amanda 服务器进行通信。在/usr/lib/amanda目录下,还有其它的一些客户端程序:amandad 处理客户机和中央服务器之间的所有通信;运行所有其它的客户端程序;selfcheck 验证本地Amanda 配置;sendsize 估计备份大小;sendbackup 执行备份操作;这些程序是Amanda 客户 端系统的一部分。但是并不能通过手工去执行他们,是由客户端包的其他辅助程序来调用这些程序。 2、执行各阶段实际备份操作的服务器程序。amdump 程序启动Amanda ,并且常常使用cron 定期运行。它控制一些其他程序,包括:planner 决定备份哪些内容;driver 设备接口;dumper 与客户端amandad 进程进行通信;taper 把数据写入媒介;amreport 准 备Amanda 运行的报告; 3、执行相关任务的管理工具,包括:amcheck 验证Amanda 配置的有效性以及此工具是否准备运行;amlabel 在磁带上写入Amanda卷标,用于避免覆盖错磁带;amcleanup 在

开源自动化配置管理工具Puppet入门教程

开源自动化配置管理工具P u p p e t入门教程 系统管理员经常陷入一系列的重复任务中:如升级软件包、管理配置文件、系统服务、cron任务以及添加新的配置、修复错误等。这些任务通常是重复低效的,解决这类任务的第一反应是让他们自动化,于是出现了定制脚本。由于环境复杂,定制脚本和应用程序一再被重复开发,并且很难适合多种平台,灵活性和功能也很难保证,于是像Puppet这样的 自动化配置管理工具便出现了。 在开源世界里,有很多配置工具可供选择,这个领域一些关键的产品有: Puppet(): Ruby写成的配置管理工具,使用C/S架构,使用declarative language配置客户端。 Cfengine(): 最先发布的开源配置工具之一,1993年发布,同样是C/S架构,通常应用于教育机构。 LCFG(): C/S架构的配置管理工具,使用XML定义配置。 Bcfg2 Python编写的C/S架构的配置管理工具,使用规格书和客户机响应配置目标主机。 本文档致力于描述使用Puppet管理你的主机、应用程序、后台程序和各种服务。 Puppet简介: 1. Puppet的用途 Puppet是开源的基于Ruby的系统配置管理工具,依赖于C/S的部署架构。主要开发者是Luke Kanies,遵循GPLv2版权协议。从1997年开始Kanies参与UNIX的系统管理工作,Puppet的开发源于这些经验。因为对已有的配置工具不甚满意,从2001年到2005年间,Kanies开始在Reductive实验室从事工具的开发。很快,Reductive实验室发布了他们的 旗舰产品——Puppet。 2. Pupput的特性 许多系统配置管理工具工作的方式非常类似,如cfengine。是什么让Puppet与众不同Puppet的语法允许你创建一个单独脚本,用来在你所有的目标主机上建立一个用户。所有的目标主机会依次使用适用于本地系统的语法解释和执行这个模块。举例:如果这个配置是在Red Hat服务器上执行,建立用户使用useradd命令;如果这个配置是在FreeBSD 主机上执行,使用的是adduser命令。 Puppet另一个卓越的地方是它的灵活性。源于开源软件的天性,你可以自由的获得Puppet的源码,如果你遇到问题并且有能力的话,你可以修改或者加强Puppet的代码去适用于你的环境。另外,社区开发者和捐献者还在不断增强Puppet的功能。一个大的开发者和用户社区也致力于提供Puppet的文档和技术支持。 Puppet也是易于扩展的。定制软件包的支持功能和特殊的系统环境配置能够快速简单 的添加进Puppet的安装程序中。

堡垒主机用户操作手册运维管理

堡垒主机用户操作手册 运维管理 版本2.3.2 2011-06 目录1.前言...................................................... 1.1.系统简介 .............................................. 1.2.文档目的 .............................................. 1.3.读者对象 .............................................. 2.登录系统.................................................. 2.1.静态口令认证登录 (3) 2.2.字证书认证登录 ........................................ 2.3.动态口令认证登录 ...................................... 2.4.LDAP域认证登录........................................ 2.5.单点登录工具 ..........................................

3.单点登录(SS0)........................................... 3.1.安装控件 .............................................. 3.2.单点登录工具支持列表 .................................. 3.3.单点登录授权资源查询 .................................. 3.4.单点登录操作 .......................................... Windows资源类(域内主机\域控制器 \windows2003\2008) Unix\Linux资源类............................... 数据库(独立)资源类 ........................... ORACLE_PLSQL单点登录........................... ORACLE_SQLDeveleper单点登录.................... MSSQLServer2000查询分析器单点登录.............. MSSQLServer2000企业管理器单点登录.............. SQLServer2005ManagementStudio单点登录.......... SQLServer2008ManagementStudio单点登录.......... SybaseDbisqlg单点登录..........................

Puppet利用Nginx多端口实现负载均衡

随着公司应用需求的增加,需要不断的扩展,服务器数量也随之增加,当服务器数量不断增加,我们会发现一台puppetmaster压力大,解析缓慢,而且时不时出现“time out”之类的报错,那这时有什么优化的办法吗?我们在Puppet官网上找寻解决方案,发现puppetmaster可以配置多端口,结合WEB代理(推荐Nginx),这样puppetmaster承受能力至少可以提升数倍以上,相当于在很大程度上优化了puppet的处理能力。 1.遵循前面的环境设定,我们这里的服务器环境及软件版本分别为: 服务器系统:CentOS5.8 x86_64 Ruby版本:ruby-1.8.5 Puppet版本:puppet-2.7.9 Nginx版本:nginx-0.8.46 2.Mongrel安装 要使用puppet多端口配置,需要指定mongrel类型,默认没有安装,需要安装: yum install -y rubygem-mongrel 3.配置puppetmaster 在/etc/sysconfig/puppetmaster文件末尾添加如下两行,分别代表多端口、mongrel类型,内容如下所示: PUPPETMASTER_PORTS=(8141 8142 8143 8144 8145) PUPPETMASTER_EXTRA_OPTS="--servertype=mongrel --ssl_client_header=HTTP _X_SSL_SUBJECT" 4.安装Nginx服务 安装之前请确保系统已经安装pcre-devel正则库,然后再编译安装Nginx,需要添加SSL 模块参数支持,Nginx的安装过程如下所示: yum -y install pcre-devel cd /usr/local/src wget https://www.doczj.com/doc/744396609.html,/download/nginx-0.8.46.tar.gz tar zxvf nginx-0.8.46.tar.gz cd nginx-0.8.46 ./configure --prefix=/usr/local/nginx --with-http_ssl_module make && make install && cd ../ 添加www用户组及用户,命令如下所示: groupadd www useradd -g www www 5.我们依据puppet需求来修改配置文件nginx.conf,内容如下所示: user www;

openstack部署与管理-fuel介绍

OpenStack部署与管理之 Fuel介绍 成胜 汉柏科技有限公司

内容 Fuel简介 Fuel架构 Fuel功能 Fuel扩展 2

OpenStack部署 OpenStack发展很猛,很多朋友都很认同,为了解决OpenStack部署的问题,让安装,配置变得更加简单易用,很多公司都投入人力去做这个。说到部署,肯定和OS有关,对于OpenStack来说,无非就是Ubuntu还是CentOS,当然也会和OpenStack版本有关。 其实部署工具,最麻烦的地方,不是软件的配置和安装,而是网络。用户的网络情况太多,还有OpenStack本身的网络也很复杂。

部署工具: RDO: REDHAT出品,支持Redhat、CentOS等系统。RDO基于puppet部署各个组件,支持单节点或多节点部署,在Redhat系操作系统上使用非常方便。 devstack: 这个应该是最老的Fuel简介了,可以用来快速部署一个OpenStack测试环境,基于git最新代码部署服务,并将所有服务都起在screen中,不适合生产环境直接使用。 Fuel: Mirantis出品,支持在ubuntu和centos上通过web界面配置并部署OpenStack,应该是目前最为直观的Fuel简介。支持自动发现部署节点,并部署 OpenStackHA,对OpenStack作健康检查等。

Mirantis 一家很牛逼的OpenStack服务集成商,他是社区贡献排名前5名中唯一一个靠软件和服务吃饭的公司(其他分别是Red Hat, HP, IBM, Rackspace)。相对于其他几个社区发行版,Fuel的版本节奏很快,平均每两个月就能提供一个相对稳定的社区版。

db2top工具详解(翻译)

Database (d) Figure 2. Database screen 在数据库屏幕,db2top提供了一组对整个数据库的性能监控单元。 用户可以监视活动会话(MaxActSess),排序内存(SortMemory)和日志空间(LogUsed)。这些监测元素可以帮助用户确定这些元素的当前使用百分比。如果这些因素中的一个开始达到很高甚至100%时,用户应该开始调查发生了什么事。 当前时间和数据库开始时间(Start Time)相比能让我们了解数据库运行了多久。这个值结合其他检测元素去调查那些已存在一段时间的问题是非常有用的。 锁的使用(LockUsed)和升级(LockEscals)对缩小锁定问题非常有帮助。如果LockEscals 数量很大时,则增加LOCKLIST和MAXLOCKS数据库参数是一个好主意或者寻找那些引起这个问题的不良查询语句。 L_Reads,P_Reads和A_Reads代表逻辑读,物理读和异步读取。结合的命中率(HitRatio)值,这些变量对于评估大多数的读取发生在存储器中还是磁盘I / O里是非常重要的。因为磁盘的I / O比存储器存取慢得多,用户更喜欢访问在内存中的数据。当用户看到HitRatio 下降低则可以查看缓冲池(bufferpools)是不是不够大了,或是不是有查询进行了太多的全白扫描而导致页面数据从内存洗冲到磁盘。 和读类似,A_Writes代表异步写入,这表明数据页是由异步页清洁剂之前写的缓冲池空间是必需的。通过db2top 刷新频率这段时间内的写数量我们还能知道有多少写请求发生了。还能计算每次写入的平均花费时间这对分析I/O瓶颈引起的一些性能问题有所帮助。当A_Writes/Writes的比值越高则写I/O性能越高。 SortOvf代表排序溢出。如果用户发现这个数字变为非常高,就需要寻找查询了。排序溢出发生在SORTHEAP不足够大,导致排序(Sort)或HashJoin操作可能会溢出数据到临时空间。有时该值随着SORTHEAP增加而降低,但在其他情况下,可能没有多大帮助,如果进行排序的数据集比可分配给SORTHEAP内存大得多。如果请求的数据量超过缓冲池可容纳的临时空间大小那么就可能需要物理I/O来进行SORT或哈希链接在这种情况下排序溢出将是很大的瓶颈。因此优化查询来减少排序溢出的数量能显著提高系统的性能。

puppet安装以及遇到的问题

Puppet安装以及遇到的问题 主机名需要能够解析,相互之间能够解析。 1、puppet master的安装puppet 1)通过源代码安装 2)通过二进制的安装(yum apt-get...) # wget -r ftp://192.168.0.254/notes/softwares/puppet # tar xf puppet-2.7.23.tar.bz2 # cd puppet-2.7.23 # yum -y localinstall puppet-server-2.7.23-1.el6.noarch.rpm puppet-2.7.23-1.el6.noarch.rpm facter-1.6.18-3.el6.x86_64.rpm ruby-augeas-0.4.1-1.el6.x86_64.rpm ruby-shadow-1.4.1-13.el6.x86_64.rpm 2、在两个agnet上安装agent # cd /root/puppet-2.7.23/ # yum -y localinstall puppet-2.7.23-1.el6.noarch.rpm facter-1.6.18-3.el6.x86_64.rpm ruby-augeas-0.4.1-1.el6.x86_64.rpm ruby-shadow-1.4.1-13.el6.x86_64.rpm 3、配置puppet master端 # rpm -ql puppet-server /etc/puppet/fileserver.conf --puppet内置的文件服务器 /etc/puppet/manifests --全局的资源清单所在的目录 /etc/puppet/puppetmasterd.conf --主配置文件

db2top

DB2TOP(1) User Manuals DB2TOP(1) NAME db2top ? DB2 performance monitor SYNOPSIS db2top [?d dbname] [?n nodename] [?u username] [?p pass?- word] [?V schema] [?i interval] [?P ] [?b option] [?a] [?B] [?k] [?R] [?x] [?f file <+offset> ] [?D delimiter] [?C

commvault 操作手册

CommVault备份系统安装配置手册

目录 第一章湛江港备份应用环境描述 (3) 1.1 CommVault服务器环境 (3) 1.2 CommVault软件安装信息 (3) 1.3 Exchange环境 (3) 第二章备份系统安装及配置 (3) 2.1安装前准备(Windows操作系统) (4) 2.2 Commvault软件安装 (4) 2.3 客户端安装 (8) 2.3.1虚拟机客户端安装(Vitual Server Agent) (8) 2.3.2 Exchange客户端安装 (9) 2.4许可证管理 (14) 2.5存储介质管理 (16) 2.6存储策略配置 (18) 第三章VMware备份配置及恢复 (21) 3.1虚拟机备份配置 (21) 3.2虚拟机备份 (23) 3.3虚拟机恢复 (24) 第四章 Exchange备份配置及恢复 (26) 4.1 Exchange邮箱备份配置 (26) 4.2 Exchange邮箱备份 (28) 4.3 Exchange邮箱恢复 (30) 4.4 Exchange数据库备份配置 (31) 4.5 Exchange数据库备份 (32) 4.6 Exchange数据库恢复 (34)

第一章应用环境描述 1.1 CommVault服务器环境 CommVault服务器型号:IBM-3650-M2 CommVault服务器名称:cv Commvault服务器域名:https://www.doczj.com/doc/744396609.html, CommVault服务器IP地址:xxx.xxx.xxx.xxx CommVault服务器操作系统:Windows2008 (64位) Web访问路径:http://xxx.xxx.xxx.xxx/console 1.2 CommVault软件安装信息 CV-SQL密码:xxxx Commvault客户端名:cv Commvault登录用户名:xxxx Commvault登录密码:xxxxx DR备份设置:D:\CVDR 1.3 Exchange环境 一、Exchange备份架构 二、Exchange架构环境描述 Exchange服务器操作系统:Windows2008 R2 (X64)Exchange版本:2010 现有5台虚拟服务器作为Exchange环境, 2台作为Exchange数据库服务器,采用DAG技术(Exdb1, Exdb2), 2台作为客户端服务器做了负载均衡 (Excas1, Excas2), 1台作为边缘服务器(Exedge1) 第二章备份系统安装及配置

NOVA安装手册

NOV A安装手册目录 chapter1 System Requirements chapter2 NOV A手动安装步骤 2.1安装nova 相关软件包 2.2 安装MySQL数据库 2.3 进行网络环境配置 2.4 创建工程并配置环境 2.5 上传镜像并运行一个实例 chapter3 配置Glance镜像服务器chapter4 安装Dashboard远程操作界面chapter5 使用Puppet部署OpenStack环境chapter6 FAQ 常见问题及解决办法

chapter1 System Requirements y硬件: x86系列机器,AMD处理器 y操作系统:: 安装Ubuntu 10.04(LTS)版本 y网络: 官网推荐1000 Mbps,提供nova-network服务的节点需要配置两块网卡。 OpenStack支持以下三种网络架构:flat,DHCP,VLAN&DHCP y数据库: 采用MySQL数据库 y权限: 需要使用root权限进行安装

chapter2 NOV A手动安装步骤 2.1安装nova 相关软件包 y下载python软件包,完成后需要run update: sudo apt-get install python-software-properties sudo add-apt-repository ppa:nova-core/release sudo apt-get update y安装Message Queue Server,Rabbit MQ及python dependencies: sudo apt-get install -y rabbitmq-server sudo apt-get install –y python-greenlet python-mysqldb y根据节点的不同类型,选择安装所需要的nova-packages和dependencies:sudo apt-get install -y nova-common nova-doc python-nova nova-api nova- network nova-objectstore nova-scheduler nova-compute y安装euca2ools 工具包: sudo apt-get install –y euca2ools unzip 2.2 安装MySQL数据库 OpenStack Nova的数据库有多种选择如MySQL 和 PostgreSQL,参照官方手册这里选用 MySQL。另外,数据库需要安装在controller节点上。 y安装mysql-server : bash MYSQL_PASS=nova NOV A_PASS=notnova cat <

Cisco Nexus 9000系列交换机入门级部署

指南Cisco Nexus 9000 系列交换机 在中小型商业数据中心的 入门级部署 Carly Stoughton 2014 年 11 月

目录 简介 (4) 概述 (4) 免责声明 (4) 为什么选择 Cisco Nexus 9000 系列交换机 (4) 关于 Cisco Nexus 9000 系列交换机 (5) 思科 ACI 就绪性 (6) 思科 ACI 是什么? (6) 将 Cisco Nexus 9000 NX-OS 模式转换为 ACI 模式 (7) 数据中心设计演进 (8) 传统数据中心设计 (8) 生成树支持 (9) 商业紧缩设计 (9) 第 2 层与第 3 层影响比较 (10) 思科第 2 层设计演进:虚拟 PortChannel (12) 虚拟重叠 (13) 主干-枝叶数据中心设计 (14) 重叠设计 (15) 其他 Cisco Nexus 9000 功能支持 (17) 服务质量 (17) 组播 (19) SNMP 和支持的 MIB (19) 商业拓扑示例 (20) Cisco Nexus 9500 平台产品系列 (20) Cisco Nexus 9300 平台产品系列 (21) 设计 A:两台交换机 (22) 设计 B:两台汇聚交换机和两台接入交换机 (23) 设计 C:两台汇聚交换机和四台接入交换机 (25) 设计 D:四台汇聚交换机和四台接入交换机(采用主干-枝叶架构) (25) 与现有网络集成 (26) 接入层设备连接 (26) 设计 A 集成 (26) 设计 B 集成 (27) 设计 C 和 D 集成 (28) 交换矩阵扩展器支持 (30) 存储设计 (32) 最终状态拓扑 (35) 示例:Cisco Nexus 9000 系列设计和配置 (36) 硬件和软件规格 (36) 基本网络设置 (37) ECMP 路由设计 (39) 服务器 NIC 组合设计和配置 (40) 重叠设计和配置 (44) 为什么实施 VXLAN? (44) VXLAN 如何工作? (45) 组播考虑事项 (45) 主干(汇聚)组播配置 (46) 枝叶(接入)组播配置 (47) 在商业拓扑中使用 VXLAN (48) 服务设计和配置 (50) 交换矩阵管理和自动化 (52) Cisco UCS Director (52) Cisco Prime 数据中心网络管理器 (53)

puppet自定义facter说明

Puppet之ruby模块说明 1 说明 使用自定义facter分别获取客户端ip地址和网卡名称,不需要在客户端安装脚本 2 配置 管理服务器和被管理服务器都要配置 #vim /etc/puppet/puppet.conf [main] factpath=$vardir/lib/facter pluginsync=true 新建目录 以nrpe模块为例 mkdir -p /etc/puppet/modules/nrpe/lib/facter 3 脚本 #cd /etc/puppet/modules/nrpe/lib/facter 获取外网网卡脚本 vim wannetcard.rb Facter.add(:wanname) do setcode do %x{ /sbin/ifconfig|egrep -v "127\.0\.0\.1\|192\.168\.7\."|grep -B 1 "inet addr:"|grep "eth"|/usr/bin/awk '{print $1}'|grep -v ":" }.chomp end end 获取内网网卡脚本 vim lannetcard.rb Facter.add(:lanname) do setcode do %x{/sbin/ifconfig|grep -B 1 "192\.168\.7\."|grep "eth"|awk '{print $1}'|grep -v ":"}.chomp end end 获取客户端外网IP Facter.add(:getip) do confine :kernel => :linux setcode do ip = nil output = %x{/sbin/ifconfig|egrep -v 'eth0[::]|eth1[:space:]'|grep -A1 "eth"|grep "inet addr:"} # a=output.split(/^\S/) # a.each { |str| print str} output.split(/^\S/).each { |str| if str =~ /inet addr:([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/

sqc基础库使用手册

SqcLib库接口定义 新的sqc基础库采用c++封装,开发人员只需要从基础类Db2Tools派生自己的业务类。然后重载基础类的busiLogic方法,就可以完成自己业务逻辑处理。具体的处理流程为: 1、在基础类Db2Tools的run方法中完成对具体应用参数的解析。 2、run方法调用busiLogic方法,完成具体的业务逻辑 3、busiLogic方法中调用基础类的常用数据库访问方法,完成对数据库的操作。 4、在基础类的数据库访问方法中,除完成指定的数据库操作外,同时完成日志输出和相关事务控制。[日志的输出目录为profile文件中定义的AGENTTRACEDIR目录,如果没有定义,取默认路径] 1函数列表 1.1数据库类(Db2Tools) 该类有两个主要功能: 1、实现数据库访问 2、完成对具体业务逻辑调用和事务控制 ●connDb 函数原形:int connDb(const char *m_para_conn) 用途:连接数据库 参数:m_para_conn:数据库名dbname 返回:1.输入的数据库参数不对 2.密码参数环境变量设置错误 3.数据库连接失败 0.数据库连接成功 ●busiLogic 函数原形:int busiLogic(void) 用途:业务逻辑入口 参数: 返回: ●run 函数原形:int run(int argc,char *argv[]) 用途:实例开始入口 参数:argc:参数个数

Argv:参数数组 (通常取main函数入口参数) 返回:0:成功,其它:失败 ●db2RunstatTab 函数原形:int db2RunstatTab(char *tabname,char *file,int line) 用途:对表做runstats 参数:tabname:输入需要runstats的表名,schema.tabname或者tabname(schema默认为用户名) 返回:-1:失败 0:成功 ●db2Insert 函数原形:int db2Insert(char *sqlstr,char *tabname,char *file,int line) 用途:提交insert语句 参数: sqlstr:insert sql语句 file: line: 返回:-1:失败 0:成功 ●db2Update 函数原形:int db2Update(char *sqlstr,char *tabname,char *file,int line) 用途:提交update语句 参数: sqlstr:update sql语句 file: line: 返回:-1:失败 0:成功 ●db2Delete 函数原形:int db2Delete(char *sqlstr,char *tabname,char *file,int line) 用途:提交delete语句 参数: sqlstr:delete sql语句 file: line: 返回:-1.失败 0.成功 ●db2DropTab 函数原形:int db2DropTab(char *tabname,char *file,int line) 用途:删除表 参数: tabname:需要删除的表名,schema.tabname file:

Cobbler安装配置手册

目录 1.Cobbler的安装 (2) 2.Cobbler的配置 (2) 3.配置Cobbler_web (4) 4.导入光盘及建立Profile (5) 5.配置Kickstart的启动文件 (5) 6.安装系统 (7)

1.Cobbler的安装 1.下载rpmforge的repository RPM # wget https://www.doczj.com/doc/744396609.html,/rpmforge-release/rpmforge-release-0.5.2-\ 2.el6.rf.i686.rpm 2.安装rpmforge-release-0.5.2-2.el6.rf.i686.rpm # rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm 3.安装semanage命令的包policycoreutils-python # yum -y install policycoreutils-python 4.安装pykickstart #yum -y install pykickstart 5.执行cobbler check # cobbler check 6.如果报下面错误,则先择selinux关闭 # cobbler check httpd does not appear to be running and proxying cobbler # setenforce 0 7.再执行cobbler check,并按照提示下的项进行配置 # cobbler check 2.Cobbler的配置 执行cobbler check,并按照提示下的项进行配置,通常的配置项如下: # cobbler check 1.启动cobbler,httpd,xinetd,dhcpd服务 # service httpd start # service xinetd start # service cobblerd start 2.执行cobbler check并按照提示下的项进行配置,通常的配置项如下从第3项开始: # cobbler check 1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it. 2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network. 3 : Must enable a selinux boolean to enable vital web services components, run: setsebool -P httpd_can_network_connect true 4 : you need to set some SELinux content rules to ensure cobbler serves content correctly in your SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*" && /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler"/images/.* 5 : you need to set some SELinux rules if you want to use cobbler-web (an optional

相关主题
文本预览
相关文档 最新文档