运维自动化之系统部署(一)

运维自动化发展历程及技术应用

安装程序

CentOS系统安装
系统启动流程:
??bootloader-->kernel(initramfs)-->rootfs-->/sbin/init
anaconda: 系统安装程序
?? gui:图形窗口
?? tui: 基于图形库curses的文本窗口

安装程序启动过程

MBR:isolinux/boot.cat
stage2: isolinux/isolinux.bin
配置文件:isolinux/isolinux.cfg
??每个对应的菜单选项:
????加载内核:isolinuz/vmlinuz
????向内核传递参数:append initrd=initrd.img ...
装载根文件系统,并启动anaconda
??默认启动GUI接口
??若是显式指定使用TUI接口:向内核传递text参数即可
????(1)按tab键,在后面增加text
????(2)按ESC键:boot: linux text

anaconda工作过程

Anaconda安装系统分成三个阶段:
1、安装前配置阶段
??安装过程使用的语言
?? 键盘类型
??安装目标存储设备
????Basic Storage:本地磁盘
????特殊设备:iSCSI
??设定主机名
??配置网络接口
??时区
??管理员密码
??设定分区方式及MBR的安装位置
??创建一个普通用户
??选定要安装的程序包
2、安装阶段:
??在目标磁盘创建分区,执行格式化操作等
??将选定的程序包安装至目标位置
??安装bootloader和initramfs
3、图形模式首次启动
??iptables
??selinux
??core dump

指定安装源

centos6:
????DVD drive repo=cdrom :device
????Hard Drive repo=hd:device/path
????HTTP Server repo=http://host/path
????HTTPS Server repo=https://host/path
????FTP Server repo=ftp://username:[email protected] host/path
????NFS Server repo=nfs:server:/path
????ISO images on an NFS Server repo=nfsiso:server:/path
centos7:
????Any CD/DVD drive inst.repo=cdrom
????Hard Drive inst.repo=hd:device:/path
????HTTP Server inst.repo=http://host/path
????HTTPS Server inst.repo=https://host/path
????FTP Server inst.repo=ftp://username:[email protected] host/path
????NFS Server inst.repo=nfs:[options:]server:/path

系统安装

启动安装过程一般应位于引导设备;后续的anaconda及其安装用到的程序包等可来自下面几种方式:
??本地光盘
??本地硬盘
??NFS
??URL:
????ftp server: yum repository
????http server: yum repostory
如果想手动指定安装源:
??boot: linux askmethod
??boot: linux ks=http://172.20.7.52/ks6.cfg
anaconda的配置方式:
??(1) 交互式配置方式
??(2) 通过读取事先给定的配置文件自动完成配置
??????按特定语法给出的配置选项
????????kickstart文件
安装boot引导选项:boot
text: 文本安装方式
askmethod: 手动指定使用的安装方法
与网络相关的引导选项:
??ip=IPADDR
??netmask=MASK
??gateway=GW
??dns=DNS_SERVER_IP
??ifname=NAME:MAC_ADDR
与远程访问功能相关的引导选项:
??vnc
??vncpassword=‘PASSWORD‘
指明kickstart文件的位置: ks=
????DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE
????Hard drive: ks=hd:device:/directory/KICKSTART_FILE
????HTTP server: ks=http://host:port/path/to/KICKSTART_FILE
????FTP server: ks=ftp://host:port/path/to/KICKSTART_FILE
????HTTPS server: ks=https://host:port/path/to/KICKSTART_FILE
????NFS server:ks=nfs:host:/path/to/KICKSTART_FILE
启动紧急救援模式:
??rescue

kickstart文件的格式

命令段:指明各种安装前配置,如键盘类型等
程序包段:指明要安装的程序包组或程序包,不安装的程序包等 br/>????%packages
[email protected]_name
????package
????-package
????%end
脚本段:
????%pre: 安装前脚本
????????运行环境:运行于安装介质上的微型Linux环境
????%post: 安装后脚本
????????运行环境:安装完成的系统
命令段中的命令:
??必备命令
??????authconfig: 认证方式配置
??????????authconfig --useshadow --passalgo=sha512
??????bootloader:bootloader的安装位置及相关配置
??????????bootloader --location=mbr --driveorder=sda –
??????????????append="crashkernel=auto rhgb quiet"
??????keyboard: 设定键盘类型
??????lang: 语言类型
??????part: 创建分区
??????rootpw: 指明root的密码
??????timezone: 时区
可选命令:
????install OR upgrade
????text: 文本安装界面
????network
????firewall
????selinux
????halt
????poweroff
????reboot
????repo
????user:安装完成后为系统创建新用户
????url: 指明安装源
????key –skip 跳过安装号码,适用于rhel版本

kickstart文件创建

创建kickstart文件的方式
  直接手动编辑
     依据某模板修改
   可使用创建工具:system-config-kickstart
     默认好像是没有需要安装:yum -y install system-config-kickstart
     依据某模板修改并生成新配置
        /root/anaconda-ks.cfg
检查ks文件的语法错误:ksvalidator
   ksvalidator /PATH/TO/KICKSTART_FILE
   [[email protected] ~]#ksvalidator anaconda-ks.cfg

ks模版文件:
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url=$tree
# Root password
rootpw --iscrypted $1$2gpkF.e/$CezTOjwptBtOlJo5cOSKR1
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=500
part / --fstype="ext4" --size=50000
part swap --fstype="swap" --size=4096
part /data --fstype="ext4" --size=50000

%packages
@base
autofs
@compat-libraries
@development
%end

%post
rm -rf   /etc/yum.repos.d/*
cat > /etc/yum.repos.d/base.repo << EOF
[base]
name=base
baseurl=file:///misc/cd
gpgcheck=0
EOF

echo ‘PS1="\[\e[1;42m\][\[\e[31;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m]\\$"‘ > /etc/profile.d/env.sh
sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config
sed -i ‘s/GSSAPIAuthentication yes/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config
ed -i "/# Source/i\alias cdnet=‘cd /etc/sysconfig/network-scripts‘" /root/.bashrc
sed -i "/# Source/i\ alias viet=‘vim /etc/sysconfig/network-scripts/ifcfg-eth0‘" /root/.bashrc
{ . /etc/profile.d/env.sh;service sshd restart; . /root/.bashrc;  }
%end

运维自动化之系统部署(一)

原文地址:http://blog.51cto.com/dklwj/2178842

时间: 2024-10-18 09:38:08

运维自动化之系统部署(一)的相关文章

运维自动化之系统部署

运维自动化发展历程及技术应用 什么是自动化的安装部署操作系统? 在工作中我们可能经常部署很多台主机,手工的一台一台的安装只适合主机非常少的情况,但大的互联网公司在一些特殊的日子要部署大量的主机,以应对要到来的特大流量访问.这时候我们就不能,一台一台的安装主机了,一是效率太慢,二是太累,三是费时间.基于这个情况我们可以自动化的一起部署很多的主机,而不用我们人工一台一台的去安装部署,节约了大量的时间. centos 6的启动流程 1.POST开机加电自检 2.MBR 读取硬盘mbr引导的前446字节

运维自动化之系统部署(kickstart、PXE)

anaconda anaconda负责安装系统向导,默认为GUI界面,如果我们使用ks自动应答安装的话建议使用TUI界面来安装 在安装启动界面我们可以按esc键来自己手动指定安装启动选项 anaconda选项: 1)linux askmethod 在稍后的安装中手动选择安装源 本地光盘.硬盘.NFS.FTP.HTTP 2)linux dd 加载驱动盘 3)linux ks=xxx   指定安装ks文件 DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE Har

运维自动化之批量部署(cobbler)的使用

Cobbler的介绍 1.cobbler的介绍 Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加方便的实行网络安装,.同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展.它不紧可以安装物理机,同时也支持kvm.xen虚拟化.Guest OS的安装.更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理. Cobbler 提供以下服务集成: * PXE 服务支持 * DHCP 服务管

运维自动化之Cobbler部署安装RHEL7.0(详细图解版)

一.简介     Cobbler 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会.          网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业.自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增.不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE.DHCP.TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚

运维自动化之使用Cobbler自动化部署Linux操作系统

1.Cobbler是什么? Cobbler是一个Linux安装服务器,能够快速设置好网络安装环境.它实现了许多与Linux相关的任务的自动化和组合,因此你在部署新的(操作)系统或更改已经存在的操作系统时不需要在繁多的命令和应用程序之间来回切换.Cobbler能帮助(用户.管理者)置备和管理DNS.DHCP.软件包更新.电源管理.配置管理以及更多. "Cobbler is a Linux installation server that allows for rapid setup of netw

自动化运维之Cobbler自动化系统部署

Cobbler简介 运维自动化包括标准化.工具化.Web化.服务化.智能化等几个不同的层级,在一家规模稍大.拥有服务器上千台甚至是几万台的生产环境中,想要真正实现运维自动化,工具化系统安装流程.统一系统安装规范,是其中最不能忽略的重要环节.普通的自动化部署可以采用pxe+dhcp+tftp配合kickstart实现,但是面对多版本.多部署需求的情况下,这种普通的部署方式可能达不到我们的要求:这时候就需要借助cobbler开源自动化部署工具来实现. Cobbler是一款快速的网络系统部署工具,其最

自动化运维工具Ansible详细部署 (转载)

自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 ===========================

自动化运维工具SaltStack详细部署【转】

==========================================================================================一.基础介绍==========================================================================================1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的pupp

自动化运维工具puppet的部署与应用

作为一名运维工程师,维护服务器的正常运行是最基本的职责,随着服务器的增多,任务量也随之增大,就需要寻找一款能够降低工作量的工具.那么今天就给大家介绍一批工具,这批工具是"可编程"的,只需要为这批工具写上几行代码,它便会自动完成所有的工作,这批工具就是运维自动化puppet(为什么说是一批工具,因为软件不止一个).Puppet可以针对多台服务器进行统一的操作,例如:软件分发,统一执行脚本,在服务器上写好脚本分发给客户机,客户机就会自动执行,减少了人力及误操作风险. 1. puppet工作