Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1615844
  • 博文数量: 101
  • 博客积分: 2465
  • 博客等级: 中尉
  • 技术积分: 2126
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-09 15:39
个人简介

https://minminmsn.com/

文章分类

全部博文(101)

文章存档

2018年(2)

2017年(2)

2016年(11)

2015年(14)

2014年(9)

2013年(16)

2012年(47)

分类: 系统运维

2015-07-27 09:51:30

从软件部署看运维的四种境界

       首先,博文的名字很难取啊,叫什么都感觉不太对,这里就暂定这样吧。不可否认这里有点哗众取宠的动机,不谈境界总感觉格局不够大哈。

      中国哲学家冯友兰先生说过,人生有四种境界:自然境界、功利境界、道德境界、天地境界。经过长期的部署安装软件服务,感觉最近手熟多了,通过实践可以得出一些方法,方法总结起来就可以组成一套方法论了,但作为国人,还是用格局,境界之类的词更有亲切感。

不多说废话了,下面上干货。(我所理解的干货,也可能不是,牛人请忽略)


下面通过具体的安装redis这个小软件来说明问题,我分别附上四种安装方法从而感悟出四种不同的境界。


一,传统手动安装(著名的三板斧)

config

make

make install


wget

tar -zxvf redis-2.8.17.tar.gz

cd  redis-2.8.17.tar.gz

先安装tcl,否则下面会报错

yum install tcl -y

make MALLOC=libc 

make test

make install 

/root/redis-2.8.17/utils/install_server.sh 

Welcome to the redis service installer

This script will help you easily set up a running redis server


Please select the redis port for this instance: [6379] 

Selecting default: 6379

Please select the redis config file name [/etc/redis/6379.conf] 

Selected default - /etc/redis/6379.conf

Please select the redis log file name [/var/log/redis_6379.log] /data/redis/redis_6379.log

Please select the data directory for this instance [/var/lib/redis/6379] /data/redis/6379

Please select the redis executable path [/usr/local/bin/redis-server] 

Selected config:

Port           : 6379

Config file    : /etc/redis/6379.conf

Log file       : /data/redis/redis_6379.log

Data dir       : /data/redis/6379

Executable     : /usr/local/bin/redis-server

Cli Executable : /usr/local/bin/redis-cli

Is this ok? Then press ENTER to go on or Ctrl-C to abort.

Copied /tmp/6379.conf => /etc/init.d/redis_6379

Installing service...

Successfully added to chkconfig!

Successfully added to runlevels 345!

Starting Redis server...

Installation successful!


这种传统安装方法主要是费时,例如想redis这个1M多的小软件安装多花费了半个多小时,这种方法类似冯友兰的自然境界。这种方法有一个好处就是能让你快速熟悉一个陌生的软件,第一次安装不得不走一遍这样的流程。


二,脚本安装

       随着时间的推移,服务器越来越多,自己每天都重复这样的工作是不是觉得很烦,很没有技术含量不能提高呢?大部分运维人员都不会满足于现状,特别是当老板说找一个快速部署的方法奖励2K时,是不是动力来了,此时天时地利人和都来了,于是就开始想办法了,大部分人最先想到的就是脚本。

       关于脚本呢,我本人bash都不是很熟,但是拷贝修改别人的还可以,更别说3P(别想错了,好多人说要学会(python,perl,php),如果你是天生的技术高手这些都会或者会一两种当然是最好了。


      如果对3P不感兴趣或者力不从心也没关系,只要学会shell就行了,至少这个阶段够用。

只安装redis这一个服务弄一个脚本其实还显现不出脚本此时的好处,要是一个LNMP环境,脚本的优势就突显出来了,键盘Enter键一敲,你就可以去喝咖啡了,但是这时候一般你还有其他事情,两个小时后基本环境就完成了。


要是redis真写一个简单的脚本,就是上述命令行之前加一个#!/bin/bash就行了。

#!/bin/bash

wget

tar -zxf redis-2.8.17.tar.gz

cd  redis-2.8.17.tar.gz

yum install tcl -y |tail -n 6

make MALLOC=libc   |tail -n 6

make test          |tail -n 6

make install    |tail -n 6

/root/redis-2.8.17/utils/install_server.sh 


友情提示:这脚本我没有试用过,不一定能用。因为这时我对这种安装方式还不是很满意。


三,绿色安装

        绿色安装,这个词我以前听到最多是windows环境下,linux下倒是很少听说,难道linux喜欢难度高的操作方法对简单易行的方法不感冒吗?哪这样是不是有点不道德啊?所谓的道德境界我觉得应该是这样的:把复杂的事情简单化,越简单越好。我不认为简单是没有技术含量,简单是我一生追求的最高境界。

       说到这里,那有什么根基支持绿色安装了,其实我想我有一段时间忘记了一句含义很深的话:一切皆文件!我记得刚开始学习linux时候就听说过这句话,但是一直没有时常想起这句话。以至于曾经走过不少弯路。话说回来,不走这么多的弯路,对这句话的领悟也不会这么深。

       回到正题,绿色安装就是把第一次在一个环境安装的软件包,打个包,拷贝过来就行了。比如这里的redis只需要拷贝二进制程序和配置文件即可,二进制程序唯一要依赖的就是一些开发库之


类的软件。这个得提前安装。

yum install tcl -y

mkdir /etc/redis

ls /etc/redis

6379.conf

ls /etc/init.d

redis_6379 

tar zxvf redis_data.tar.gz  -C /

tar zxvf redis.2.7.17.tar.gz -C /

这里redis第一次安装分布了几个目录,如果第一次安装时指定了安装目录,只需要拷贝那一个整目录过来就行了。是不是很简单啊?


四,克隆模板

        第四种境界叫天地境界,用在这里有点亵渎的感觉,但是管不了那么多了,为了博文的完整性我已经很拼了。天地境界我理解的是天人合一,难道让我们人机合一不成?那么深奥的问题我也考虑不了,都说了我很简单的。幸亏现在虚拟化技术很发达,千万不要说云计算啊我对哪个比较过敏,我还没有看到哪个搞云计算的活人在我面前呢。

        其实这种方法和第三种差不多,只是这种连系统一块都部署了,操作系统不是最大的软件吗?对了,哪个谁不是说过mac和windows是最大的恶意程序嘛!

       这种方法步骤也比较简单,但是格局大多了。比如各种所谓的云的各种SAAS,由于要那redis举例,我记得青云的redis云缓存服务器,应该比我这种说的高一个层次。这时我突然想把这个境界一分为二,因为我突然想加一种情况进去。


第一种我猜大家已经想到了:

1,在虚拟机或者物理机上部署redis服务,可用第三种方法。

2,PtoV或者VtoV的方法转换成模板。

3,下次要用到时候直接从模板部署虚拟机即可,目前哪一种虚拟化技术都支持这个。


第二种我这里讲的是分布式集群环境,这个不是每个软件都通用,正好这里举例的redis通用

1,部署redis集群(redis3.0支持,不过我没有试过redis集群,我试过codis集群)

2,下次有需求时,直接在集群上(这里以codis集群举例)扩展codis-group再添加codis-server实例即可

3,这个分布式集群环境支持横向扩展,在线伸缩,可以满足各种苛刻的话需求


话说到这里改结束了,本来还想说点什么可以是说不出来,那个天地境界确实不好理解啊。


阅读(5805) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~