首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从软件部署看运维的四种境界

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

作者头像
三杯水Plus
发布2018-11-14 16:26:53
7100
发布2018-11-14 16:26:53
举报
文章被收录于专栏:运维运维

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

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

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

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

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

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

config

make

make install

wget http://download.redis.io/releases/redis-2.8.17.tar.gz

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 http://download.redis.io/releases/redis-2.8.17.tar.gz

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,这个分布式集群环境支持横向扩展,在线伸缩,可以满足各种苛刻的话需求

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-07-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档