Linux自动化部署系统
- 实现思路、方法:FTP+TFTP+DHCP+Kickstart+PXE:
1、搭建 yum 源
1.1用 yum 来安装所需要的软件包,先来搭建 yum 光盘源:
- 在根目录下创建mnt文件夹,挂载
[root@localhost ~]# mkdir /mnt/
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
- 自建一个yum源,在/etc/yum.repos.d 目录下创建一个以.repo 结尾的文件:
[root@localhost ~]# vi /etc/yum.repos.d/server.repo
- yum源编辑内容:
[base]
Name=base
Baseurl=file:///mnt/ #(部分系统可能需要使用file:///mnt/server 的路径)
Enabled=1
Gpgcheck=0
- 如果/etc/yum.repos.d/ 中有冲突,删除里面的repo文件,最好是备份里面的内容。
[root@localhost ~]# mkdir /home/repo_backup;cp CentOS-* /home/repo_backup //备份并且复制
- 删除/etc/yum.repos.d/里面的CentOS-的所有文件。
[root@localhost yum.repos.d]# rm -rf CentOS-*
2.安装服务并设置开机自启
2.1安装 ftp 服务以及开启服务,设置为开机自动启动
- 安装ftp服务
[root@localhost yum.repos.d]# yum install -y vsftpd
- 如果出现“vsftpd-2.2.2-11.el6_4.1.x86_64: failure: Packages/vsftpd-2.2.2-11.el6 _4.1.x86_64.rpm from base: [Errno 256] No more mirrors to try.”的情况,先检 查是光盘是否挂在至/mnt下。如果已挂在还依然提示该错误,执行命令“yum clean all”命令。
- 启动服务
[root@localhost yum.repos.d]# service vsftpd start
- 设置开机自启
[root@localhost yum.repos.d]# chkconfig vsftpd on
2.2安装TFTP 服务以及开启服务,设置为开机自动启动
- 安装tftp以及服务
[root@localhost yum.repos.d]# yum install tftp -y
[root@localhost yum.repos.d]# yum install tftp-server -y
- 更改 /etc/xinetd.d/tftp 配置文件里面的 13,14 行
[root@localhost yum.repos.d]# vim /etc/xinetd.d/tftp
- 重新启动 xinetd 服务
[root@localhost yum.repos.d]# service xinetd restart
- TFTP 服务正常启动。Xinetd 服务本来就是开机启动的,所以这里我们不再需要 设置。
- 注:xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管 理多种轻量级Internet服务
2.3.安装 dhcp,修改配置文件及开启服务
- 安装dhcp服务
[root@localhost yum.repos.d]# yum install dhcp -y
- 配置/etc/dhcp/dhcpd.conf 文件
ddns-update-style interim;
ignore client-updates;
# 注意网段需要相同。否则无法使用
subnet 192.168.153.0 netmask 255.255.255.0 {
# 与服务器IP地址相同
option routers 192.168.153.111;
# IP默认租约时间
default-lease-time 21600;
#IP最大租约时间
max-lease-time 43200;
#IP租约地址池,这里要注意网段一定相同,否则起不来DHCP服务
range 192.168.153.3 192.168.153.120;
option subnet-mask 255.255.255.0;
#与服务器IP地址相同
next-server 192.168.153.111;
filename "pxelinux.0";
}
- 启动服务
[root@localhost yum.repos.d]# service dhcpd start
- 设置开机自启
[root@localhost yum.repos.d]# chkconfig dhcpd on
2.4准备工作完成,配置 Kickstart
- 需要安装包 yum install system-config-kickstart.noarch -y
[root@localhost yum.repos.d]# yum install system-config-kickstart.noarch -y
- 创建/tftpboot 和 /tftpboot/pxelinux.cfg 目录
[root@localhost yum.repos.d]# mkdir /tftpboot
[root@localhost yum.repos.d]# mkdir /tftpboot/pxelinux.cfg
- 拷贝几个文件
[root@localhost yum.repos.d]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
[root@localhost yum.repos.d]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@localhost yum.repos.d]# cp /mnt/images/pxeboot/initrd.img /tftpboot/
[root@localhost yum.repos.d]# cp /mnt/images/pxeboot/vmlinuz /tftpboot/
- 更改权限
[root@localhost yum.repos.d]# chmod 644 /tftpboot/pxelinux.cfg/default
- 然后修改 /tftpboot/pxelinux.cfg/default 的配置文件。
- 文件里面需要修改两行,修改第 1 行,后面的 linux 意思是寻找下面 18 行的 label linux,然后修改下 22 行(即在后面添加 ks=ftp://”pxe-server-ip”/ks.cfg)。第 22 行的意思是使安装程序通过 FTP 服务器访问 kickstart 文件。
2.5制作 kickstart 的无人值守安装文件。
- 打开终端输入 system-config-kickstart 弹出来界面。此时需要在图形化界面的服务器上执行。
- kickstart 弹出来界面。此时需要在图形化界面的服务器上执行。
- 配置 ftp 服务器的安装方法
- 选择分区
分区名称 | 文件系统类型 | 硬盘空间大小 |
---|---|---|
/boot | ext4 | 200MB |
/swap | 2048MB | |
/ 根分区 | ext4 | 剩下所有硬盘空间 |
-
网络设置
-
防火墙设置
-
软件包设置。后面剩余两项:预安装脚本、安装后脚本不需要配置。
-
保存
-
复制 ks.cfg 文件到/var/ftp/ 目录下:
[root@localhost yum.repos.d]# cp /root/ks.cfg /var/ftp/
- 取消挂载并且重新挂载到新的目录下:
[root@localhost yum.repos.d]# umount /mnt/
[root@localhost yum.repos.d]# mount /dev/cdrom /var/ftp/pub/
- 关闭防火墙
- chkconfig iptables off (重启生效)
- service iptables stop (即刻生效)
[root@localhost yum.repos.d]# chkconfig iptables off
[root@localhost yum.repos.d]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
- SElinux:
- 临时关闭:setenforce 0
- 永久关闭 :/etc/sysconfig/selinux 文件,将SELINUX=enforcing 改为 disabled
- 永久关闭SELinux需要重启系统。
- 接下来创建一个虚拟机:
- 在不放入镜像文件的前提下直接开机。
- 安装好之后就会自动重启。
- 安装好之后的服务器: