系统部署准备
[root@Mikey ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@Mikey ~]# uname -r
3.10.0-693.el7.x86_64
[root@Mikey ~]# getenforce ##Selinux
Disabled
[root@Mikey ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@Mikey ~]# hostname -I
10.0.0.200 172.16.1.200
[root@mikey ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.200 mirrors.aliyun.com
本次系统要用到的服务
syslinux dhcp httpd tftp-server
一、DHCP服务
1、安装DHCP服务
yum install -y dhcp
[root@mikey CentOS]# vim /etc/dhcp/dhcpd.conf
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.100 172.16.1.199;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 172.16.1.200;
filename "/pxelinux.0";
}
第一列:所指定的网段
第二列:指网络主机的范围
第三列:网段里的子网掩码
第四列:获取地址的默认时间
第五列:对大的租约时间
第六列:下一个要找的服务地址
第七列:要找的文件(配置文件)
2、开启DHCP服务
二、TFTP服务
1、安装TFTP服务
yum install -y tftp-server
2、启动服务
[root@Mikey ~]# systemctl start tftp.socket
[root@Mikey ~]# systemctl status tftp.socket
● tftp.socket - Tftp Server Activation Socket
Loaded: loaded (/usr/lib/systemd/system/tftp.socket; disabled; vendor preset: disabled)
Active: active (listening) since 一 2018-01-08 09:50:51 CST; 6s ago
Listen: [::]:69 (Datagram)
1月 08 09:50:51 Mikey systemd[1]: Listening on Tftp Server Activat....
1月 08 09:50:51 Mikey systemd[1]: Starting Tftp Server Activation ....
Hint: Some lines were ellipsized, use -l to show in full.
三、syslinux安装
yum install -y syslinux
拷贝必要的
[root@Mikey tftpboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@Mikey tftpboot]# ll
总用量 28
-rw-r--r-- 1 root root 26764 1月 8 10:14 pxelinux.0
四、HTTP服务
1、安装HTTP
yum install -y httpd
2、启动服务:(所有操作完毕后重启服务)
[root@mikey CentOS]#systemctl start httpd.service
[root@mikey CentOS]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Active: active (running) since 一 2018-01-08 16:25:30 CST; 1h 1min ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 16530 (httpd)
Status: "Total requests: 34; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─16530 /usr/sbin/httpd -DFOREGROUND
├─16531 /usr/sbin/httpd -DFOREGROUND
├─16532 /usr/sbin/httpd -DFOREGROUND
├─16533 /usr/sbin/httpd -DFOREGROUND
├─16535 /usr/sbin/httpd -DFOREGROUND
├─16538 /usr/sbin/httpd -DFOREGROUND
├─16539 /usr/sbin/httpd -DFOREGROUND
├─16540 /usr/sbin/httpd -DFOREGROUND
├─16541 /usr/sbin/httpd -DFOREGROUND
├─16542 /usr/sbin/httpd -DFOREGROUND
└─16543 /usr/sbin/httpd -DFOREGROUND
1月 08 16:25:24 mikey systemd[1]: Starting The Apache HTTP Server...
1月 08 16:25:30 mikey httpd[16530]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::...s message
1月 08 16:25:30 mikey systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
3、创建目录并挂载
[root@mikey CentOS]# mkdir -p /var/www/html/CentOS
[root@mikey tftpboot]# mount /dev/sr0 /var/www/html/CentOS
mount: /dev/sr0 写保护,将以只读方式挂载
[root@mikey CentOS]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 98G 1.8G 97G 2% /
devtmpfs 479M 0 479M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 120M 895M 12% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /var/www/html/CentOS
测试:登录本机的IP地址或是部署的服务地址(证明HTTP服务一切正常)
五、其他配置操作:
1、在FTP服务器上创建目录
[root@mikey CentOS]# mkdir /var/lib/tftpboot/pxelinux.cfg
2、将镜像内的isolinux下的所有东西都考到tftpboot下
[root@mikey CentOS]# cp /var/www/html/CentOS/isolinux/* /var/lib/tftpboot/
3、再将isolinux.cfg拷给pxelinux.cfg下命名为default
[root@mikey CentOS]# cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
修改配置 vim /var/lib/tftpboot/pxelinux.cfg/default
[root@mikey CentOS]# vim /var/lib/tftpboot/pxelinux.cfg/default
61 label linux
62 menu label ^Install CentOS 7
63 kernel vmlinuz
64 #append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
65 append initrd=initrd.img inst.repo=http://172.16.1.200/CentOS/
说明:要修改默认64行输入下面的任意2行中的一个即可
append initrd=initrd.img method=http://172.16.1.200/CentOS/
append initrd=initrd.img inst.repo=http://172.16.1.200/CentOS/
重要:修改配置 vim /var/lib/tftpboot/pxelinux.cfg/default (直接追加)
default ks
prompt 0
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://172.16.1.201/ks_config/CentOS7-ks.cfg net.ifnames=0 biosdevname=0 ksdevice=eth1
重要:自动应答配置文件 vim /var/www/html/ks_config/CentOS7-ks.cfg
Kickstart Configurator for CentOS
install
url --url="http://172.16.1.200/CentOS7/"
text
lang en_US.UTF-8
keyboard us
zerombr
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
network --bootproto=static --device=eth0 --gateway=10.0.0.254 --ip=10.0.0.202 --nameserver=223.5.5.5 --netmask=255.255.255.0 --activate
network --bootproto=static --device=eth1 --ip=172.16.1.202 --netmask=255.255.255.0 --activate
network --hostname=Cobbler
#network --bootproto=dhcp --device=eth1 --onboot=yes --noipv6 --hostname=CentOS7
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512
rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/
clearpart --all --initlabel
part /boot --fstype xfs --size 1024
part swap --size 1024
part / --fstype xfs --size 1 --grow
firstboot --disable
selinux --disabled
firewall --disabled
logging --level=info
reboot
%packagesbr/>@^minimal
@compat-librariesbr/>@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
wget
vim
bash-completion
%end
%post
systemctl disable postfix.service
%end
说明:上面的设置网络的是前两个是指定的IP地址,后面的是自动获取。
本文转自 游骑兵vtx 51CTO博客,原文链接:http://blog.51cto.com/qibingtuan/2058760