自动化安装keepalived-1.2.4

keepalived-1.2.4_auto_install.sh
#!/bin/bash
Install_dir="/usr/local/keepalived"
Download_dir="/home/tools"
Keepalived_Major_Version="1.2"
Keepalived_Minor_Version="7"
kernels_Vserion=`uname  -r`
keepalived_conf="/etc/keepalived"
check_result(){
    if [ $1 != 0 ];then
        echo -e "\e[1,44m  <==== Error,Exit install keepalived ====> \e[0m"
        exit 1
    fi
}
install_or_not(){
    read -p "Install nginx, Input Y ; Do not install  nginx,Input N:" INSTALL_OR_NOT
    case $INSTALL_OR_NOT in
    Y|y)
        install
    ;;
    N|n)
        echo -e "\e[0;44m <====Stop  install  keepalived====> \e[0m"
        exit 1
    ;;
    *)
        echo -e "\e[1;44m  Only Input  Y or N  \e[0m"
        install_or_not
    ;;
    esac
}
root_or_not(){
if [ `id -u` != 0 ] ; then
    echo -e "\e[1;44m  <====You are not root,Please login in root!====> \e[0m"
    exit 1
fi
}
install_develop_tools(){
    yum  install gcc  gcc-c++   openssl openssl-devel  wget  unzip man -y
    check_result $?
}
install_popt(){
    [ ! -d ${Download_dir} ] && mkdir ${Download_dir}
    wget  http://rpm5.org/files/popt/popt-1.14.tar.gz  -P   ${Download_dir}
    cd   ${Download_dir}  &&  tar xf  popt-1.14.tar.gz 
    check_result  $?
    cd  ${Download_dir}/popt-1.14  &&  ./configure
    check_result  $?
    cd  ${Download_dir}/popt-1.14  &&  make  
    check_result  $?
    cd  ${Download_dir}/popt-1.14  &&  make  install
    check_result  $?
    ln -s /usr/src/kernels/$(uname -r) /usr/src/kernels/linux
}
install_keepalived(){
    [ ! -d ${Download_dir} ] && mkdir ${Download_dir}
    wget http://www.keepalived.org/software/keepalived-${Keepalived_Major_Version}.${Keepalived_Minor_Version}.tar.gz  -P ${Download_dir}
    check_result  $?
    cd ${Download_dir}  && tar xf keepalived-${Keepalived_Major_Version}.${Keepalived_Minor_Version}.tar.gz 
    check_result  $?
    cd ${Download_dir}/keepalived-${Keepalived_Major_Version}.${Keepalived_Minor_Version}  
    ./configure --prefix=${Install_dir}     --with-kernel-dir=/usr/src/kernels/${kernels_Vserion}
    check_result  $?
    make
    check_result  $?
    make  install
    check_result  $?
    cp  ${Install_dir}/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
    check_result  $?
    cp  ${Install_dir}/etc/sysconfig/keepalived /etc/sysconfig/
    check_result  $?
    [ ! -d ${keepalived_conf} ] &&  mkdir ${keepalived_conf}
    cp  ${Install_dir}/etc/keepalived/keepalived.conf ${keepalived_conf}
    check_result  $?
    cp  ${Install_dir}/sbin/keepalived /usr/sbin/
    check_result  $?
    chkconfig  --add  keepalived
    check_result  $?
    chkconfig  --level 345  keepalived  on
}
install(){
    install_develop_tools
    install_popt
    install_keepalived
}
root_or_not
install_or_not
时间: 2024-09-30 00:31:09

自动化安装keepalived-1.2.4的相关文章

ansible-playbook自动化安装Keepalived实现Nginx服务双机热备自动化配置

脚本实现通过ansible-playbook自动化安装Keepalived和配置,主要解决问题如下: Keepalived自动化安装: keepalived_vrid配置,自动根据vip获取最后一段作为vrid,确保同一网段不会出现vrid冲突导致HA切换失败的问题: 自动配置Keepalived: HA检测脚本自定义,根据脚本内容,来做redis或nginx或其他软件的双机热备: 自动配置vip给Keepalived 设置Keepalived开机启动,加入系统服务: Keepalived安装脚

ansible实现lnamp自动化安装

简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. ansible特点: 模块化,调用特定的模块,完成特定的任务: 基于Python语言实现,由Paramiko.PyYAML和Jinja2三个关键模

自动化安装之DHCP基本原理和配置

DHCP:(Dynamic Host Configuration Protocol) C/S架构 原理: 当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务.当然高级的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息.安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功能的客户机称为DHCP客户端,DHCP服务器是以地址租约的方式为DH

Linux系统基于网络的自动化安装

安装一个操作系统对一个普通人来说是一件非常麻烦的事了.而对于一个专业人士来说,应该是一个非常轻松的事.但是这样的情况也仅限于有限的几台需要安装.在实际工作的中,我们经常会遇到这样的情况:有大批量的计算机需要同时安装Linux,或者想要安装Linux但是计算机没有光驱,或者是通过光驱的方式一个个安装.这样安装不仅效率低,也不利于以后的维护.这个时候你就需要利用网络的强大功能了.它可以帮你基于网络来完成全自动化的安装,中间不需要人工去干预.这就是cobbler服务 cobbler服务是一个快速网络安

初涉定制linux系统之——自动化安装Centos系统镜像制作

最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本来想法是打算把需要的依赖包全找出来打包发给实施人员自己安装去,后来考虑到系统安装人员的安装方式不一致,分区及安装包的不统一会对之后的维护造成负担,干脆就决定做个自动化安装的镜像,并把需要的业务依赖包全打包进去 ok,首先我们来看看环境准备: 1.一台刚安装好的.符合业务要求的系统(博主选择的是minimal

自动化安装Cacti 0.8.8h脚本

自动化安装Cacti 0.8.8h脚本 一.目的 1.1 监控目的 目前我们已经有zabbix监控系统,但是有客户需求需要流量报表,因此应此类客户的需求,部署Cacti流量监控系统,来监控客户服务器或交换机端口,为客户提供流量报表截图. 1.2 本文目的 快速部署Cacti流量监控系统,为后期相关工程师部署此系统提供借鉴与参考. 二.理论基础 2.1 相关理论 Cacti是用php语言实现的一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.snmp服务获取数据,

基于pxe+cobbler的全自动化安装centos系统

前言: 基于上篇的内容,我们就已经可以搭建一个全自动化安装centos的服务了.不过如果我们想让它同时支持各种系统的安装,实现起来就比较复杂了.不同的系统,要用不同的引导启动 文件来安装,且还有不同的安装源以及kickstart文件等等.既然是复杂得事情,肯定能通过某种工具简化,而此次我们用到的就是传说中的cobbler来管理各个不同的源,pxe加载的内核文件等等.Let's do it! 正文: 老规矩,先描述一下加入cobbler以后整体的工作流程,已经cobbler能实现的功能.当一个需要

pxe结合kickstart文件实现全自动化安装

PXE是什么? PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用tftp(trivial file transfer protocol)或mtftpmulticast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由

pxe+ks文件实现自动化安装

操作环境:windows 实验环境:vmware workstation 实验要求:配置一台workstation机器(ip地址192.168.96.100 gateway 192.168.96.2 dns1 8.8.8.8 netmask 255.255.255.0) 实现自动化安装server1/server2/database三台机器. 搭建整个自动化安装的流程: pxe网络启动是核心. 配置DHCP自动获取ip地址-----使用tftp协议引导加载文件pxelinux0文件(相当于一个小

MySQL5.6生产库自动化安装部署

自动化运维是一个DBA应该掌握的技术,其中,自动化安装数据库是一项基本的技能,本文中的安装脚本已通过测试,作为生产库来说没有问题,鉴于每个公司存储规划要求不同,可以按需自行修改脚本. 脚本中已经注释说明一些基本的安装信息 本脚本默认启用5.6部分新特性 innodb_buffer_pool_dump_at_shutdown=1  它dump的不是数据,是Id号 innodb_buffer_pool_load_at_startup=1 开启这个两个参数当数据库重启后把这些热数据重新加载回去 只有正