八组平常运维小技能

面对运维,掌握的技能越多,工做起来就会越驾轻就熟。如下技能和经验来自社区会员的分享奉献,供你们学习参考。java

1、 操做系统部署管理工具node

操做系统的安装部署是运维工做当中必不可少的一项内容,在自动化运维的今天咱们有不少好的工具能够借鉴和使用。主要有如下几种产品:python

Windows:WDS,SCCM,PXE+kickstartlinux

Linux:cobbler,PXE+kickstart,UNetbootin,AutoYaSTios

AIX:nim,powervcweb

除了光盘安装系统,U盘安装主流操做系统都是能够支持的。shell

操做系统的安装部署是运维工做当中必不可少的一项内容,在自动化运维的今天咱们有不少好的工具能够借鉴和使用。主要有如下几种产品:数据库

Windows:WDS,SCCM,PXE+kickstartapache

Linux:cobbler,PXE+kickstart,UNetbootin,AutoYaSTubuntu

AIX:nim,powervc

除了光盘安装系统,U盘安装主流操做系统都是能够支持的。

如下经验能够参考:

经验一

AIX和Linux 操做系统安装部署

因为没有实施云环境,下面场景大多仍是基于传统基础平台进行的。

AIX 操做系统的安装大可能是经过NIM来进行,NIM做为AIX上自带的一个软件,功能强大。在企业有5台以上小机的状况看下就应该考虑搭建一个NIM环境进行统一的网络安装部署设施。

NIM 自己资源不大,配合操做系统镜像和安装初始化须要的设施,如NFS 环境用于存放经常使用的镜像和初始化软件,有个30G 基本收就能够,固然×××,本地盘足矣。作一个mirror或者使用存储的lun都可。

搭建nim server 建议使用大于等于企业当中主流版本的稳定版本,不要常常升级,兼容性也会比较好,能够支持个几年没有问题。 通常企业主流操做系统版本的升级大多都须要3年以上。经常使用的软件能够添加到Nim 安装的初始化资源当中,也能够先简单安装操做系统,使用同一的初始化脚本进行设置。脚本可到社区搜索。

经验二

Linux的安装部署:

因为咱们企业大多选择的红帽系列的操做系统,那么我选择了cobbler自动安装操做系统工具,兼容红帽系列比较好,也支持ubuntu等操做系统。

主要关注点:

cobbler 工具简单易用,使用比较方便。

由于个操做系统的环境不同,能够多作几个模板,磁盘大小和参数设置都可单独设置。

你们能够配合运维管理平台CMDB进行支持管理和操做系统的部署。可使用python进行再次开发等等。考虑平常运维来讲,平时采购硬件和主流版本的操做系统时不要太多版本,给管理带来更多复杂性。不少互联网公司大都都是清一色设备和清一色OS版本,管理至关方便。后续作一个同一管理平台均方便不少。

经验三

针对System系列服务器,咱们使用了Lenovo XClarity管理工具。可以实现设备发现、系统安装、硬件监控等功能。同时也支持Vmware、Hyper-V等虚拟化设备的虚拟机安装和管理。

2、SSH 登陆缓慢

登陆很慢,登陆上去后速度正常,这种状况主要有三种可能的缘由:

  1. DNS反向解析的问题

OpenSSH在用户登陆的时候会验证IP,它根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登陆的IP是否合法。若是客户机的IP没有域名,或者DNS服务器很慢或不通,那么登陆就会很花时间。

解决办法:

只需修改

/etc/ssh/sshd_config,

设置UseDNS为no便可:

sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config

  1. gssapi的问题

用ssh -v user@server 能够看到登陆时有以下信息:

debug1: Next authentication method: gssapi-with-mic

debug1: Unspecified GSS failure. Minor code may provide more information

解决办法:

可使用ssh

-o GSSAPIAuthentication=no user@server

登陆

也能够修改

/etc/ssh/ssh_config,

设置GSSAPIAuthentication no

  1. DNS访问设置

查询IBM 官方文档,关于DNS解析的详细说明。 /etc/netsvc.conf 作以下更改:

hosts=local,bind -> hosts=local4,bind4

最后

/init.d/sshd restart

3、OS设备识别扫描

AIX

扫描方式:cfgmgr

查看结果:lsdev

Windows

扫描方式:设备管理器的扫描功能

查看结果:设备管理器

Linux

扫描方式:

从新扫描LUN设备(脚本)

rescan-scsi-bus.sh 网上有现成脚本

经过HBA卡扫描底层物理设备

echo 1 > /sys/class/fc_host/host1/issue_lip

echo 1 > /sys/class/fc_host/host2/issue_lip

经过SCSI扫描SCSI设备

echo "- - -" > /sys/class/scsi_host/host1/scan

echo "- - -" > /sys/class/scsi_host/host2/scan

查看结果:

lsscsi 或fdisk

HP-UNIX

扫描方式:#ioscan

查看结果:

ioscan -fNnkC disk

ioscan -m lun

Solaris

扫描方式:#devfsadm

查看结果:# format

若是这些方法都很差使用,那么终极大法:重启

4、操做系统经常使用监控小工具

经常使用UNIX和Linux 性能监控命令:

netstat,vmstat,iostat,ps,sar,nfsstat,lsof

每一个操做系统平台独有的性能监控命令或小工具:

AIX

topas,nmon,svmon,entstat,procmon,lsps,filemon,truss,lvmstat,netpmon

Linux

nmon,top,dstat,ss,iftop,iperf,slabtop,atop,sysdiag,Smem,ethtool

hp-ux

Glance,Measureware,PerfView,NNM和ITO

solaris

sysperfstat,prtdevs,mpstat,swapinfo,iotop,iosnoop,nicstat,checkcable,prtdiag,snoop,sarmons

5、Linux 安装Oracle RAC Udev 设备绑定

环境:

redhat5.6+multipath

cat /etc/redhat-release

Red Hat Enterprise Linux Server release 5.6 (Tikanga)

cat /etc/udev/rules.d/99-asm.rules

KERNEL=="/dev/mapper/asm_vnx5200_data0[1-5]", OWNER="grid", GROUP="oinstall", MODE="660"

redhat6.5+multipath

cat /etc/redhat-release

CentOS release 6.5 (Final)

cat /etc/udev/rules.d/99-asm.rules

KERNEL=="dm-[2-8]", OWNER="grid", GROUP="oinstall", MODE="660"

因为操做系统版本不一样,那么在操做系统上设备识别出来的文件类型也不同。因此绑定的规则也不同。

以上设置在生产系统运行一直很稳定。

下面的内容是网上收集而来,能够参考使用:

安装RAC须要绑定磁盘映射,须要获取磁盘WWID来使用UDEV绑定。

scsi_id命令发出一个SCSI INQUIRY指令给设备,访问vital product data (VPD)页0x83的数据,那里包含设备的WWID和其余的信息,或者页0x80的数据,那里包含单元序列号(unit serial number)。 scsi_id命令的执行结果(一长串字符)是设备的WWID,当前映射到/dev/sdc(/sys/block/sdc)。每一条到设备的路径和设备上的每个分区的WWID都是相同的。设备的WWID不会改变,即便将其余的设备添加到系统或者从系统中删除。可是,映射到/dev/sdc的设备可能会改变。这就是为何须要建立一个静态的设备名。能够根据WWID建立设备名。

1、 如何获取设备WWID

(1) Redhat 5 Enterprise Linux 以下:

/sbin/scsi_id -g -u -s /dev/sdb

Or

/sbin/scsi_id -g -u -s /block/sdb

Shell脚本

#for i in cat /proc/partitions | awk {'print $4'} |grep sd; do echo "### $i: scsi_id -g -u -s /block/$i"; done

(2) Redhat 6 Enterprise Linux 以下:

/sbin/scsi_id -g -u /dev/sdb

Or

/sbin/scsi_id -g -u /block/sdb

Or

/sbin/scsi_id --whitelist [--replace-whitespace] [ --device=] /dev/sdb

Shell脚本

for i in cat /proc/partitions | awk {'print $4'} |grep sd; do echo "### $i: scsi_id --whitelist --replace-whitespace /dev/$i"; done

2、 写入udev .rules

(1) 对于整个盘的绑定写入 99-oracle-asmdevices.rules (文件名,测试能够随便命令)

RHEL5

for i in b c d e f ;

do

echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="/sbin/scsi_id -g -u -s /dev/sd$i", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done

RHEL6

for i in b c d e f ;

do

echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done

(2) 对于磁盘子分区的绑定

Redhat Enterprise Linux 5 用以下参数

KERNEL=="sd?[1-2]", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1ATA_VBOX_HARDDISK_VBaef9fa71-c32978c8", NAME="asm-ocr%n", OWNER="grid", GROUP="asmdba", MODE="0660"

Redhat Enterprise Linux 6 用以下参数

KERNEL=="sd?[1-2]", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBaef9fa71-c32978c8", NAME="asm-ocr%n", OWNER="grid", GROUP="asmdba", MODE="0660"

Or

KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent" RESULT=="1ATA_VBOX_HARDDISK_VB8383313d-441fd502", NAME="asm-crs1", OWNER="grid", GROUP="asmadmin", MODE="0660"

(3) 只改权限

[root@rac01 oracle]# cat /etc/udev/rules.d/99-asm-multipath.rules

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/back_mpath1p1"

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/back_mpath2p1"

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/data_mpath1p1"

PROGRAM="/bin/chown oracle:oinstall /dev/mapper/data_mpath2p1"

6、Linux多路径软件Multipath的使用

为了方便后续的设备管理咱们和Linux 自带多路径软件的成熟化,咱们在平常的设备多路径软件选择方面常常会首先考虑使用DM 软件。下面内容主要结合multipath在平常使用过程所用到的方方面面。

linux一个lsscsi的软件,对于平常设备的查看比较方便,推荐你们使用。

multipath 安装配置:

[root@power yum.repos.d]# rpm -qa|grep device-mapper

device-mapper-persistent-data-0.2.8-2.el6.x86_64

device-mapper-libs-1.02.79-8.el6.x86_64

device-mapper-event-libs-1.02.79-8.el6.x86_64

device-mapper-event-1.02.79-8.el6.x86_64

device-mapper-1.02.79-8.el6.x86_64

[root@power yum.repos.d]# yum install device-mapper-multipath.x86_64

[root@power yum.repos.d]# modprobe dm-multipath

[root@power yum.repos.d]# modprobe dm-round-robin

[root@power yum.repos.d]# service multipathd start

Starting multipathd daemon: [ OK ]

[root@power etc]# multipath -ll

Jan 13 15:22:46 | /etc/multipath.conf does not exist, blacklisting all devices.

Jan 13 15:22:46 | A sample multipath.conf file is located at

Jan 13 15:22:46 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf

Jan 13 15:22:46 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf

[root@power etc]# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf

[root@power etc]# cat /etc/multipath.conf

blacklist {

devnode "^sda"

    }

defaults {

user_friendly_names yes

    path_grouping_policy multibus

    failback immediate

    no_path_retry fail

    }

multipaths {

multipath {

 wwid 36005076307ffc0da0000000000001704

 alias ibm_ds8100_1704

 }

 multipath {

 wwid 3600601600e003e001b30c4d2f8a9e511

 alias ibm_ds8100_1705

 }

}

经常使用multipath 命令:

multipath

 modprobe dm-multipath

 service multipathd reload (start,stop,restart)

 multipath -v2

 multipath -v3      格式化路径 -v3 更详细

 multipath -F      

 multipath -ll

 multipathd -k  (help)

注意事项:因为配置multipath 后,在新添加的本地磁盘或存储阵列的lun时,须要考虑blacklist的和LVM配置文件对磁盘的过滤问题,不正确的参数可能致使主机无非正常识别和使用新添加的磁盘,须要视状况修改。

两个选项:

file:/etc/lvm/lvm.conf

filter = [ "a/.*/" ]

file:/etc/multipath.conf

blacklist {

devnode "^sda"

    }

一、经过apache ANT工具,实现一台服务器(相似堡垒机)控制多台服务器应用的启停操做;

二、集群服务器之间相互配置互信;

三、使用rsync命令同步集群内的程序包;

四、统一管理应用的启停操做。

固然也能够搭建jenkins实现自动化部署

7、Power HA 平常管理

PowerHA 5和6 平常管理监控

1.编辑/etc/profile 添加以下环境变量

export PATH=/usr/es/sbin/cluster/utilities:/usr/es/sbin/cluster

2.查看集群进程状态

clshowsrv -v

3.查看资源组clshowres

clshowres

4.查看集群节点信息

cllsnode

5.使用clstat 查看机器状态(须要编辑/etc/snmpdv3.conf)

VACM_GROUP group1 SNMPv1 public -

VACM_VIEW defaultView internet - included -

VACM_VIEW defaultView 1.3.6.1.4.1.2.2.1.1.1.0 - included -

VACM_VIEW defaultView 1.3.6.1.4.1.2.6.191.1.6 - included -

exclude snmpv3 related MIBs from the default view

VACM_VIEW defaultView snmpModules - excluded -

VACM_VIEW defaultView 1.3.6.1.6.3.1.1.4 - included -

VACM_VIEW defaultView 1.3.6.1.6.3.1.1.5 - included -

VACM_VIEW defaultView 1.3.6.1.4.1.2.3.1.2.1.5 - included - 添加此行

exclude aixmibd managed MIBs from the default view

VACM_VIEW defaultView 1.3.6.1.4.1.2.6.191 - excluded -

VACM_ACCESS group1 - - noAuthNoPriv SNMPv1 defaultView - defaultView -

NOTIFY notify1 traptag trap -

TARGET_ADDRESS Target1 UDP 127.0.0.1 traptag trapparms1 - - -

TARGET_PARAMETERS trapparms1 SNMPv1 SNMPv1 public noAuthNoPriv -

COMMUNITY public public noAuthNoPriv 0.0.0.0 0.0.0.0 -

DEFAULT_SECURITY no-access - -

logging file=/usr/tmp/snmpdv3.log enabled

logging size=100000 level=0

smux 1.3.6.1.4.1.2.3.1.2.1.2 gated_password # gated

smux 1.3.6.1.4.1.2.3.1.2.1.5 clsmuxpd_password 在此删除注释部分# HACMP/ES for AIX clsmuxpd

VACM_GROUP director_group SNMPv2c public -

VACM_ACCESS director_group - - noAuthNoPriv SNMPv2c defaultView - defaultView -

编辑完成后

stopsrc -s snmpd;startsrc -s snmpd

从新启动snmpd服务

6.心跳盘配置测试

/usr/sbin/rsct/bin/dhb_read

node1:# /usr/sbin/rsct/bin/dhb_read -p hdisk8 -r

DHB CLASSIC MODE

First node byte offset: 61440

Second node byte offset: 62976

Handshaking byte offset: 65024

Test byte offset: 64512

Receive Mode:

Waiting for response . . .

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Magic number = 0x87654321

Link operating normally

node2:# /usr/sbin/rsct/bin/dhb_read -p hdisk8 -t

DHB CLASSIC MODE

First node byte offset: 61440

Second node byte offset: 62976

Handshaking byte offset: 65024

Test byte offset: 64512

Transmit Mode:

Magic number = 0x87654321

Detected remote utility in receive mode. Waiting for response . . .

Magic number = 0x87654321

Magic number = 0x87654321

Link operating normally

PowerHA7 平常管理监控:

查看进程命令:

clshowsrv -a

clcheck_server cthags;echo $? 返回值为1 表明集群是up

l***c -g cluster

l***c -ls clstrmgrES|grep state

l***c -a|egrep "Sub|psv|gsc|cth"

l***c -g rsct

l***c -ls gsclvmd

l***c -g rsct_rm

clshowsrv -v

经常使用命令:

clRGinfo

cltopinfo

lscluster

clstat (clinfoES 服务要启动和snmpdv3.conf)

cldump

cldisp

经过命令直接查的系统内的repository disk

/usr/lib/cluster/clras lsrepos

而且查看repository disk所对应的存储UUID

/usr/lib/cluster/clras sfwinfo -d hdisk2

咱们看看,repository disk中所谓的包含存储着全部集群拓扑相关的信息,究竟是什么信息

/usr/lib/cluster/clras dumprepos

HACMP的脚本启停以及切换

停ha,不迁移资源组

/usr/es/sbin/cluster/cspoc/fix_args nop cl_clstop '-N' -cspoc-n 'ylqzjk1' '-g'

起ha

/usr/es/sbin/cluster/cspoc/fix_args nop cl_rc.cluster '-N' -cspoc-n 'ylqzjk1' '-A' '-b' '-i' '-C interactive'

迁移资源组

/usr/es/sbin/cluster/utilities/clRGmove -s 'false' -m -i -g 'ylqzjk_rg' -n 'ylqzjk1'

停而且迁移资源组

/usr/es/sbin/cluster/cspoc/fix_args nop cl_clstop '-N' -cspoc-n 'ylqzjk1' ‘-gr'

8、运维工具箱

经验一、Python fabric的使用

!/usr/bin/python

from fabric.api import *

from fabric.colors import *

env.shell="/bin/sh -c"

env.roledefs={

'was100':['10.1.9.169','10.1.9.170'],

}

env.user='username'

env.password='password'

errinfo='err.info'

get_info=open( errinfo, 'w')

get_info.truncate()

get_info.close()

get_info=open( errinfo, 'a')

def exec_file(shell_file):

shell=""

try:

    fd=open(shell_file,"r")

    shell=fd.read()

except:

    print "can't open file"

    exit()

fs=run(shell)

if fs.strip()!='':

    get_info.write(env.host+' the system error report : \n ' + fs + '\n' )

    get_info.flush()

else:

    pass

cmd_fd='script/exe_cmd.sh'

@roles('was100')

def deploy():

exec_file(cmd_fd)

[root@monitor script]# cat exe_cmd.sh

errpt -dH

经验二、日志管理工具

日志管理工具备 Splunk、Sumo Logic、LogStash、GrayLog、Loggly 和 PaperTrails ,

传统的使用scp 或 rsync命名推送到日志服务器,

能够考虑使用ELK架构模式进行代码采集

经验三、Oracle 监控工具

Oracle 监控 首推 em,gridcontrol,zabbix

经验四、自主研究监控工具参考

能够参考:TriAquae,ZABBIX

有几个比较好的思路:

中小规模的监控,基本上靠一台服务器硬件和规模都可搞定

大中等规模的监控,就要考虑一下监控拓扑,硬件配备,是否须要使用代理,推荐使用节点定时发送信息push模式进行数据收集,监控数据库应该多多考虑数据存放和数据增加。

具体的场景,尤为是好比说ping或者telnet如何定时的去触发,使用什么方式,等等都须要去好好考虑一下。

经验五、PowerVM和VMWARE 平常运维工具

vmware 平常管理工具,除了vcenter外,还能够ESXTOP 命令行工具,对平常的性能监控和定位有很大帮助。

还能够结合powercli 进行虚拟机的批量建立等工做。

vmware的备份能够考虑vdp,nbu,tsm等

PowerVM 平常管理工具:

PowerVC是个不错的东东。之前使用director 进行结合vmcontrol 等模块,director 这个产品就是个鸡肋,作了这么多年,也没作好。

经验六、业务系统监控工具

OneApm,监控宝,原先CA 产品系列Wily 这些产品大多均可以作到应用或者java 类方面的监控。

经验七、FTP上传和下载脚本

下载脚本

ftp -v -n ...<<EOF

user oracle 123456

binary

cd /home/data

lcd /home/databackup

prompt

mget *

close

bye

EOF

上传脚本

tar -cvf /soft/xt/date +%Y%m%dftp.tar /OAWEB/webapp/ >/soft/xt/tar.log

ftp -v -n << EOF

user pys 12345678

binary

hash

cd /10.10.8.71

lcd /soft/xt/

prompt

mput *ftp.tar

bye

EOF >/soft/xt/ftp.l

相关文章
相关标签/搜索