八組平常運維小技能

面對運維,掌握的技能越多,工做起來就會越駕輕就熟。如下技能和經驗來自社區會員的分享奉獻,供你們學習參考。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

相關文章
相關標籤/搜索