ITIL与运维管理结合之道,没有服务台

BKJIA.com 综合报道】告别混乱从服务台开始

利用rsync与crond服务器进行WEB服务备份,rsynccrond

利用rsync与crond服务器进行WEB服务备份
场景:
某公司里有一台Web服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失。
现在领导要求你把数据在其他机器上做一个备份。要求如下:
每天晚上00点在Web服务器A上打包备份系统配置文件、网站程序目录及访问日志并通过
rsync命令推送到服务器B上备份保留。
备份思路:可以事先在本地按日期打包,然后在推送到备份服务器上。
具体要求如下:
1)Web服务器A和备份服务器B的备份目录必须为/backup。
2)系统配置文件包括但不限于:
a.定时任务服务的配置文件
b.开启自启动文件的配置/etc/rc.d/rc.local
c.日常脚本的目录/server/scripts
d.防火墙iptabls的配置文件/etc/sysconfig/iptables
e.其他需要备份的目录
3)Web服务器站点目录假定为/var/html/www
4)Web服务器A访问的日志路径假定为(/app/logs)
5) Web服务器保留打包后的7天的备份数据。备份服务器B上保留6个月的数据副本。
6)备份服务器B上按照备份数据的服务器的IP为目录保存,打包的文件按照时间名字保存。
逻辑架构图:。。。。。
特别说明:
1)工作中领导很可能不会告诉你如何去做,只会提需求,例如:小崔,WEB服务器很重要,请你把
数据在别的服务器备份一份。
2)逻辑架构图更不可能是领导给你画,而是你理解了领导的意思,然后自己想出备份的方案,最后,在
实施前你做的一个图纸而已。

环境说明:
192.168.0.252 web
192.168.0.251 backup

抽象出技术点:
A、在备份服务器B上实施rsync服务,A是客户端。
B、在A上对重要数据进行备份,实践上就是写一个备份脚本。
C、做一个定时任务,执行B步骤中的备份脚本。

开始部署
A、在备份服务器B上实施rsync服务,A是客户端。
一、什么是rsync

  rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,
可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和
远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外
它还是免费的软件。
  rsync 包括如下的一些特性:

  能更新整个目录和树和文件系统;
  有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
  对于安装来说,无任何特殊权限要求;
  对于多个文件来说,内部流水线减少文件等待的延时;
  能用rsh、ssh 或直接端口做为传输入端口;
  支持匿名rsync 同步文件,是理想的镜像工具;
开始部署rsync服务
1、确定安装rsync软件包
[[email protected] ~]# rpm -qa|grep rsync
rsync-3.0.6-12.el6.x86_64
2、配置rsync配置文件
rsync配置文件如下:/etc/rsyncd.conf
###rsyncd.conf start###
uid=rsync
gid=rsync
use chroot=no
max connections=200
timout=300
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/var/log/rsyncd.log
[backup]
path=/backup/
ignore errors
read only=false
list=false
hosts allow=10.0.0.0/24
hosts deny=0.0.0.0/32
auth users=rsync_backup
secrets file=/etc/rsync.password
#rsync_config________________________end###

3、添加用户备份目录
[[email protected] ~]# mkdir /backup
[[email protected] ~]# useradd rsync -s /sbin/nologin
[[email protected] ~]# id rsync
uid=502(rsync) gid=502(rsync) groups=502(rsync)
[[email protected] ~]# chown -R rsync /backup/
[[email protected] ~]# ll /backup -ld
drwxr-xr-x 2 rsync root 4096 Jan 14 20:25 /backup
4、启动rsync守护进程
[[email protected] ~]# rsync --daemon
[[email protected] ~]# netstat -lntup|grep 873
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      1477/rsync          
tcp        0      0 :::873                      :::*                        LISTEN      1477/rsync    
5、rsync开机自启动
[[email protected] ~]# echo "#rsync bak by baizuo 20180120">>/etc/rc.local ;echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >>/etc/rc.local 
[[email protected] ~]# tail /etc/rc.d/rc.local -n2
#rsync bak by baizuo 20180120
/usr/bin/rsync --daemon

6、配置用于rsync同步的账号、密码及账号文件权限
(只是用作rsync账号验证的虚拟用户,并非系统本身用户)
[[email protected] ~]# echo "rsync_backup:baizuo" >/etc/rsyncd.password
[[email protected] ~]# tail /etc/rsync.password 
rsync_backup:baizuo
[[email protected] ~]# chmod 600 /etc/rsync.password 
[[email protected] ~]# ll /etc/rsync.password 
-rw------- 1 root root 20 Jan 20 17:06 /etc/rsync.password

7、在客户端进行配置
[[email protected] ~]# echo "baizuo" >/etc/rsync.password
[[email protected] ~]# chmod 600 /etc/rsync.password 
[[email protected] ~]# ll /etc/rsync.password 
-rw------- 1 root root 7 Jan 20 17:04 /etc/rsync.password

8、在客户端进行推送测试
[[email protected] ~]# /backup
[[email protected] ~]#  touch /backup/test.txt
[[email protected] ~]# rsync -avzP /backup/ [email protected]::backup/ --password-file=/etc/rsync.password 
sending incremental file list
./
test.txt
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/2)

sent 78 bytes  received 30 bytes  216.00 bytes/sec
total size is 0  speedup is 0.00

A技术点--------------OK----------------------------
B、在A上对重要数据进行备份,实践上就是写一个备份脚本。
对上面所说的配置文件做备份。

#先在shell上做一次打包压缩测试。(可以不做测试)
[[email protected] ~]# mkdir /var/html/www/baizuo -p
[[email protected] ~]# mkdir /app/logs/baizuo_log -p
[[email protected] ~]# cd /var/html/www/
[[email protected] www]# tar zcvf baizuo_web_$(date %F).tar.gz ./baizuo
./baizuo/
[[email protected] www]# ll
drwxr-xr-x 2 root root 4096 Jan 20 17:32 baizuo
-rw-r--r-- 1 root root  114 Jan 20 17:34 baizuo_web_2018-01-20.tar.gz

2、编写脚本,在测试一下。
(这个脚本并不规范,你可以完善它。)
[[email protected] www]# mkdir /server/scripts/ -p
[[email protected] www]# mv rsync_copyall.sh /server/scripts/

[[email protected] www]# cat /server/scripts/rsync_copyall.sh 
#backup web_site
cd /var/html&&tar zcf /backup/www_$(date %F).tar.gz ./www
cd /app/ && tar zcf /backup/logs_$(date %F).tar.gz ./logs

#backup system config
cd / && tar zcf /backup/etc_$(date %F).tar.gz ./etc

#backup crond root
cd /var/spool/cron/ && tar zcf /backup/crond_root_$(date %F).tar.gz ./root

#rsync data to bakserver
rsync -avzP /backup/ [email protected]::backup/ --password-file=/etc/rsync.password >/dev/null 2>&1

#del data 7 days ago
find /backup/ -type f -name "*.tar.gz" -mtime 7|xargs rm -f

3、测试脚本,查看结果
客户端执行脚本
[[email protected] scripts]# sh rsync_copyall.sh 
服务的查看结果
[[email protected] ~]# ll /backup/
total 10276
-rw-r--r-- 1 rsync rsync      161 Jan 20 17:54 crond_root_2018-01-20.tar.gz
-rw-r--r-- 1 rsync rsync 10509606 Jan 20 17:54 etc_2018-01-20.tar.gz
-rw-r--r-- 1 rsync rsync      136 Jan 20 17:54 logs_2018-01-20.tar.gz
-rw-r--r-- 1 rsync rsync        0 Jan 20 17:07 test.txt
-rw-r--r-- 1 rsync rsync      341 Jan 20 17:54 www_2018-01-20.tar.gz
PS:可以看到推送成功了,但是呢,这里有一个问题,服务端的文件是不是应该用IP保存呢。
解决办法:
完善脚本功能:
[[email protected] scripts]# cat rsync_copyall.sh 
IP=`grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0 |cut -d '=' -f2`
mkdir /backup/$IP

#backup web_site
cd /var/html&&tar zcf /backup/$IP/www_$(date %F).tar.gz ./www
cd /app/ && tar zcf /backup/$IP/logs_$(date %F).tar.gz ./logs

#backup system config
cd / && tar zcf /backup/$IP/etc_$(date %F).tar.gz ./etc

#backup crond root
cd /var/spool/cron/ && tar zcf /backup/$IP/crond_root_$(date %F).tar.gz ./root

#rsync data to bakserver
rsync -avzP /backup/$IP [email protected]::backup/ --password-file=/etc/rsync.password >/dev/null 2>&1

#del data 7 days ago
find /backup/ -type f -name "*.tar.gz" -mtime 7|xargs rm -f

备份服务器端查看结果:
[[email protected] backup]# ls /backup/192.168.0.252/
crond_root_2018-01-20.tar.gz  logs_2018-01-20.tar.gz
etc_2018-01-20.tar.gz         www_2018-01-20.tar.gz

B技术点______________________________完成!
C、做一个定时任务,执行B步骤中的备份脚本。
(客户端做一个定时任务)每天0点备份数据,数据保存7天。
[[email protected] scripts]# crontab -l
30 * * * * /usr/sbin/ntpdate cn.ntp.org.cn >/dev/null 2>&1
#bak local data by baizuo at 2018.1.20
00 00 * * * /bin/sh /server/scripts/rsync_copyall.sh >/dev/null 2>&1 
(服务端做个定时任务)备份数据保存6个月。
[[email protected] scripts]# crontab -l
30 * * * * /usr/sbin/ntpdate cn.ntp.org.cn >/dev/null 2>&1
#keep data 180 days
00 00 * * * /bin/sh /server/scripts/keepdata180days.sh >/dev/null 2>&1 

BKJIA.com独家特稿】编者按:如今,ITIL已经不再是一个新生事物,但很多运维人员并不是很了解究竟什么是ITIL,ITIL又怎么和自己管理的运维系统相结合?下面,咱们就来共同探讨一下ITIL与运维管理相结合的一些问题。

ITSM的理念在业界已经流传了很多年了,但是能真正将ITSM实施成功并坚持使用的却是不多,常常有用户抱怨说用了很多个ITSM管理软件,但是却发现比以前更加繁琐了,没有ITSM的时候,当财务部的打印机出现问题了,只需要给运维部的小张打个电话,小张就一溜小跑到财务室,花费几十分钟就把问题搞定了,但是现在给服务台打个电话,如财务软件不好用了,描述问题就要说好半天,而到最后等待有人来处理问题直到解决问题,中间要经过好几个环节,解决一个问题难道要通过如此多的环节,难道ITSM真的是浪费时间,而非节约时间吗?我想这类问题是在实施ITSM的时候,具有很强的代表型的。

什么是ITIL

捡了芝麻却丢了西瓜

ITIL,全称 Information Technology Infrastructure Library,译为“信息技术基础架构库”或“IT基础架构库”。它是英国国家计算机和电信局 CCTA现在已并入英国商务部)于80年代中期开始开发的一套针对 IT行业的服务管理标准库。

正如前面用户抱怨中所说到的,以前只要打一个电话,小张就会小跑到财务室,很快就将问题解决,那我就需要再问一句,当小张在解决问题的时候,如果有其他更重要的故障发生时,运维部门还有谁在接听电话?还有没有人去响应更重要的故障呢?如果回答是否定的,那我想在实施ITSM之前,我们的运维体系是存在严重隐患的;而如果答案是肯定的,我还想再追问一句,如果在问题特别多的时候,我们的运维人员都派遣出去了,还会继续有人去响应严重的故障吗?如果没有,那我想我们的运维体系依然是存在严重隐患的,因为当我们在处理小的问题或故障的时候,我们可能会忽略那种重要的业务故障。

ITIL 产生的背景是,当时英国政府为了提高政府部门 IT服务的质量,启动一个项目来 邀请国内外知名 IT厂商和专家共同开发一套规范化的、可进行财务计量的 IT资源使用方 法。这种方法应该是独立于厂商的并且可适用于不同规模、不同技术和业务需求的组织。 这个项目的最终成果就是现在被广泛认可的 ITIL。

综上所述,其实我们在讨论的是一个运维人员成本和问题快速响应之间的一个矛盾,一方面我们要控制运维成本,另外一方面我们还要提供高质量的IT服务,我们不能因为控制成本,而降低关键业务的服务质量;同时我们不能为了提高服务质量,而一昧的增加运维人手。如何才能在这之间找到一个平衡,既要保证运维成本,也要保障IT对业务部门的服务质量呢?

企业根据 ITIL进行 IT管理,至少有两方面的好处。一是业务部门可以根据一套用业务语言描述的可量化的质量指标,“理直气壮”地处理与 IT 部门之间的关系;二是 IT部门也可以提高服务质量、降低服务成本、学习以前的经验并处理好和业务部门之间的关系。

如何才能抱了西瓜也捡了芝麻?

ITIL与运维系统的结合

我想服务台将会在这里扮演一个重要的角色,通过服务台可以快速将问题按照紧急程度和优先级进行分析,并根据不同的问题类型,分派不同的维护人员,这样就可以解决成本和质量之间的矛盾,首先我们通过将请求按照紧急程度和优先级进行划分后,有限的维护人员在运维管理过程中,可以优先处理严重的故障,等严重的问题解决后,再依次解决一般的故障,这样即可达到抱了西瓜也捡了芝麻的效果。

目前IT部门依赖的运维系统不仅要对网络设备包括路由器、交换机、安全产品、服务器与PC等)进行管理,通过一些技术指标和阀值来监控网络的运行状况;而且要采用Portal技术,整合企业现存的多套监控软件,实现一站式登录。通过Portal对于企业内不同角色提供所需内容通过服务仪表盘),让领导和业务部门能够参与进来,更加了解其难度,增加双方的互相了解。运维系统提倡ITIL,完全以实际情况和可操作的方式出发,使企业能达到IT运维流程化、自动化和规范化。CMDB即配置管理数据库,通过识别、控制、维护,检查企业的IT资源,从而高效控制与管理不断变化的IT基础架构与IT服务,并为其它流程,例如事故管理、问题管理、变更管理、发布管理等流程提供准确的配置信息。

我们通过下图可以看到摩卡网管软件的服务台&事故管理界面,我们可以清楚的看到,所有的故障请求都首先统一进入请求池,然后可以通过紧急程度和优先级对请求任务进行自动分配,或者运维人员也可以根据自己的忙闲程度,选择不同优先级的故障来进行处理。 

服务台

本文由ca88手机版登录发布于亚洲城官网,转载请注明出处:ITIL与运维管理结合之道,没有服务台

TAG标签: ca88手机版登录
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。