centos自动装机

来源:互联网 发布:小电影下载软件 编辑:程序博客网 时间:2024/04/30 09:01

本次实验环境   CentOS7 -x86-64-desktop

操作步骤:

1.下载安装:  syslinux   dhcp   httpd  tftp-server

1)yum -y install syslinux(从中得到pxelinux.0文件)

2)yum -y install dhcp

3)yum -y install httpd

4)yum -y install tftp-server

5)yum -y install xinetd(tftp有关)

也可以一次安装:yum -y install syslinux dhcp  httpd   tftp-server  xinetd

 

2.下载安装:system-config-kickstart  主要用来生成  自动装机的配置文件  ks.cfg  文件

3.进入/var/www/html创建一个sys-centos的 目录用来存放从 CentOS官网下载来的 镜像

---->  cd  /var/www/html

---->  sudo mkdir sys-centos

4.CentOS官网下载centos  镜像文件存放在/opt

 

CentOS-7-x86_64-Minimal-1611.iso(现在应该是到CentOS-7-x86_64-Minimal-1708.iso的了)

5.在我们的系统里面 创建一个目录用于挂载 centos镜像文件

---> mkdir  /mnt/image

----> sudo mount -o loop /opt/CentOS-7-x86_64-Minimal-1611.iso   /mnt/image

----> cd  /mnt/image  


6.将如上的全部内容拷贝到 /var/www/html/sys-centos  里面

---> sudo cp -av /mnt/image/* /var/www/html/sys-centos

/var/www/html/sys-centos  里面的内容应该和上图的内容一样

 

7.编辑tftp配置文件:

---> sudo vi /etc/xinetd.d/tftp

 

将里面的内容更改成如下的内容:

service   tftp {

secket_type       = dgram

protocol          = udp

wait             = yes

user             = root

server           = /usr/sbin/in.tftpd

server_args      = -s  /var/lib/tftpboot  -c  (/var/lib/tftpboot就是你tftpboot目录的所在地)

disable         = no  (这里默认的是yes,一定要改成 no,这样tftp服务才是使能的)

per_source      = 11

cps            = 100 2

flags           = IPv4

}

 

8.更改配置dhcp文件

--> sudo su

---> vi /etc/dhcp/dhcpd.conf

更改内容如下:

allow booting;

allow bootp;

ddns-update-style interim;

ignore client-updates;

subnet 192.168.10.0(网段号)  netmask 255.255.255.0(必要的名词解释参看下面的内容){

option routers       192.168.10.255;

option subnet-mask   255.255.255.0;

option domain-name-servers 114.114.114.114,8.8.8.8;

range dynamic-bootp  192.168.10.180  192.168.10.220;(动态分配ip的范围)

default-lease-time  21600;

max-lease-time     43200;

next-server        192.168.10.20;(服务器ip)

filename          pxelinux.0;

 

}

 

 

默认的/etc/dhcpd.conf含义如下:

 

 ddns-update-style interim; //设置dhcp互动更新模式

 ignore client-updates; //忽略客户端更新

 subnet 192.168.12.0 netmask 255.255.255.0 {

 //设置子网申明

 # --- default gateway

 option routers 192.168.12.1; //设置客户端默认网关

 option subnet-mask 255.255.255.0; //设置客户端子网掩码

 option nis-domain "ixdba.net "; //设置NIS

 option domain-name " ixdba.net "; //设置DNS

 option domain-name-servers 192.168.12.1; //设置DNS服务器地址

 option time-offset -18000; # Eastern Standard Time //设置时间偏差

 # option ntp-servers 192.168.12.1;

 # option netbios-name-servers 192.168.12.1;

 # --- Selects point-to-point node (default is hybrid). Don't change this unless

 # -- you understand Netbios very well

 # option netbios-node-type 2;

 range dynamic-bootp 192.168.12.128 192.168.12.254; //设置地址池

 default-lease-time 21600; //设置默认租期,单位为秒

 max-lease-time 43200; //设置客户端最长租期,单位为秒

 # we want the nameserver to appear at a fixed address

 host ns { //以下设定分配静态IP地址,不多做解释。

 next-server marvin.RedHat.com;

 hardware ethernet 12:34:56:78:AB:CD;

fixed-address 207.175.42.254;

 }

 }

 就用默认的都可以正常工作了,但是我们还可以根据我们的需要来进行更改。

 其他说明:

 range 192.168.12.2 192.168.12.125; 可以限定分配的IP地址范围。

 如果想给某IP分配固定的IP地址,修改host那一项,把网卡的Mac地址和IP进行绑定,就是最后那一段,改为相应的就可以了。

 subnet里定义的网段要与你的网卡IP所处网段一致,也就是说比如你的网卡是192.168.0.x,而dhcp服务却为10.1.1.0subnet提供服务是不行的,是启动不了的

 

9.复制必要的文件到 /var/lib/tftpboot   目录下

1)首先使用命令rpm -ql syslinux  查看安装的软件syslinux  的情况找到pxelinux.0文件的所在路径

---> cd /var/lib/tftpboot

---> sudo cp -av /usr/share/syslinux/pxelinux.0  ./   将开机识别文件pxelinux.0  拷贝到/var/lib/tftfboot当前目录下

---> sudo  cp -av /var/www/html/sys-centos/isolinux/* /var/lib/tftpboot

--->  sudo mkdir pxelinux.cfg

拷贝文件并重命名

----> sudo cp isolinuc.cfg  /pxelinux.cfg/default (这就是开机客户端识别出服务器并在自动分配IP后要读取的 配置文件,告诉客户端去哪里下载内核文件)

2)对defaut文件进行更改

找到这一行:

label linux

  menu label ^Install CentOS Linux 7

  kernel vmlinuz

  append initrd=initrd.img repo=http://192.168.0.110/sys-centos ks=http://192.168.0.110/sys-centos/ks.cfg

 

 

 

10.   采用kickstart  生成我们重要的装机 自动执行文件

建议 kickstart安装到  CentOS desktop上, 因为kickstart是基于X  windserver

如果安装在CentOS   minimal 上,测还要安装 X  server

--->  system-config-kickstart

1)选择安装 语言 键盘类型 所在区域时间 设置root密码 装机的目标平台

 

2)配置安装模式 :选择从什么地方安装


我们的内核文件存放的目标机器的ip及其路径

内核文件存放的目标机iphttp://192.168.10.20

内核文件存放的路径(/var/www/html/c68):c68

 

3)bootloader options

 

 

4)给要安装的机器分配磁盘空间

 

注意:   1  是表示把最后剩余的磁盘空间 分配给最后一块

 

 

5)网络配置

 


6)关闭防火墙

 

7)保存退出,并选择好保存路径

 

10.找到刚才生成的ks.cfg文件

在末尾添加如下内容:

%packages

@^minimal

@core

kexec-tools

 

%end

 

%post

sed -i s/set timeout=5/set timeout=0/g /boot/grub2/gurb.cfg

 

%end

 

保存退出

 

11.检测我们刚才生成的ks.cfg文件是否正确

----> ksavlidator   ks.cfg

将该文件移植到 /var/www/html/sys-centos    目录下

----> cp ks.cfg  /var/www/html/sys-centos

 

12.我们写个脚本 来统一启动所有的服务

---> cd  /etc

---> sudo mkdir mybash

---> cd mybash

---> touch server.sh

---> vi server.sh

添加如下的内容:

#!/bin/bash

service sshd restart

开启端口监听:

/sbin/iptables  -I INPUT -p tcp --dport  69  -j ACCEPT

/sbin/iptables  -I INPUT -p udp --dport  69  -j ACCEPT

/sbin/iptables  -I INPUT -p tcp --dport  80  -j ACCEPT

/sbin/iptables  -I INPUT -p tcp --dport  21  -j ACCEPT

/sbin/iptables  -I INPUT -p tcp --dport  22  -j ACCEPT

 

systemctl  satrt     httpd.service   (重启http服务)

systemctl  restart   xinetd    (重启tftp服务)

systemctl  restart   dhcpd    (重启dhcp服务)

systemctl  stop     firewalld  (关闭防火墙)

 

完毕保存退出

执行

---->   sudo chmod 777 server.sh 

---->   sudo /etc/mybash/server.sh

 

12.最后查看服务开启的情况

--->   netstat -tulanp

 

13.通过我别的电脑的浏览器进行访问我我们的 服务器目录,应该可以看到如下内容:说明我们的配置是正确的,现在就进行愉快的自动装机了

14. 我们将我们的要安装的目标机起动,按住F7  进入BOIS   设置系统从网卡启动

接下来我们就可以静等喝茶了,系统自带安装,安装完毕自行启动

 

 

原创粉丝点击