PXE网络装机,综合性比较强
涉及到服务:dhcpd、httpd、yum、tftp
涉及到文件:tftp
1. 通过网络方式来实现安装操作系统
HTTP服务端 (为客户机提供软件资源)
需要的结果: http://192.168.4.254/rh7dvd
可能遇到的问题:
1)httpd服务器没启动
2)防火墙及SELinux忘记关闭
3)软件资源(RHEL7镜像文件)没有挂载成功
4)访问地址/目录名称写错
DHCP服务端 (为客户机分配IP地址、告诉客户机需要去访问的下一个启动服务器在哪里及去找启动服务器索取一个启动文件)
1)装包 dhcp
2)配置
vim /etc/dhcp/dhcpd.conf
subnet 网络段地址 netmask 子网掩码 {
range 起始IP地址 结束IP地址;
next-server TFTP启动服务器的IP地址;
filename ”启动文件的文件名(pxelinux.0)”;
}
3)起服务 dhcpd
TFTP启动服务端 (为客户机提供启动文件、装系统用的素材)
1)装包 tftp-server
2)配置,提供各种素材文件(用来启动客户机、为客户机装系统)
### 网卡启动文件,以及配套的模块文件、背景图片
/var/lib/tftpboot/pxelinux.0
/var/lib/tftpboot/vesamenu.c32
/var/lib/tftpboot/splash.png
/var/lib/tftpboot/pxelinux.cfg/default
@@@ 这些文件从哪来:
sysliniux 软件包安装的结果文件
# yum provides ”*/pxelinux.0” 【查哪个软件包能提供XX文件】
# rpm -ql syslinux 【查软件包装了哪些文件】
XX版本光盘目录 isolinux/isolinux.cfg
### XX系统安装引导文件(内核、初始化文件)
/var/lib/tftpboot/rhel7/vmlinuz
/var/lib/tftpboot/rhel7/initrd.img
/var/lib/tftpboot/rhel6/vmlinuz
/var/lib/tftpboot/rhel6/initrd.img
.. ..
@@@ 这些文件从哪来:
找XX版本系统的光盘目录 isolinux/
3)起服务 tftp
[root@svr7 html]# systemctl restart tftp
关于客户机的PXE启动菜单的显示
1.手动安装
# vim /var/lib/tftpboot/pxelinux.cfg/default
63 kernel rhel7/vmlinuz
64 append initrd=rhel7/initrd.img inst.stage2=http://192.168.4.254/rh7dvd
2. 无人值守安装 (让网络装机的过程能够自动完成)
# vim /var/lib/tftpboot/pxelinux.cfg/default
63 kernel rhel7/vmlinuz
64 append initrd=rhel7/initrd.img ks=http://192.168.4.254/ks-rhel7.cfg
准备工作:
1)提前准备一份可用的应答文件 ks-rhel7.cfg (把这个文件放到HTTP服务端的/var/www/html/目录下)
先装system-config-kickstart包
修改 yum源的id,设为 [development]
2)确保从客户机 http://192.168.4.254/ks-rhel7.cfg 能够访问第1步准备的这一份应答文件
TFTP+DHCP启动服务器备份与恢复
备份:
# tar -zcPf /opt/pxeconf.tar.gz /var/lib/tftpboot/ /etc/dhcp/dhcpd.conf
恢复:
# tar -xPf /opt/pxeconf.tar.gz
# systemctl restart dhcpd tftp
关于客户机的PXE启动菜单的显示(补充):
# vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32 //支持图形显示
timeout 600 //等待超时60秒
menu background splash.png //背景图片
menu title 菜单标题文字
label 启动项1的ID
menu label 启动项1显示的文字
kernel 内核文件vmlinuz的相对路径
append initrd=初始化文件initrd.img的相对路径 .. ..
label centos7
menu label Install ^CentOS 7.4 //^定义快捷键
kernel centos7/vmlinuz
append initrd=centos7/initrd.img .. ..
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
配置default文件时,可以使用 ^ 来定义快捷键,加载menu label 后面的显示文件内的某一个字母前面
vim末行模式,删除连续的多行文本 ——
:73,114d
rsync同步
应用场景:
DNS轮询、分离解析,==》
同一个域名www.tedu.cn,有多个IP地址/服务器
rsync 同步操作 (同步主机上的内容,让从机的内容跟主机保持一致)
保持 主机1的目录1 主机2的目录2 的内容要一致
同步与复制(cp、scp)命令不一样
假设目录1的大小是500M,
执行 cp、scp 复制时,也需要传输500M数据到 目录2
执行 rscyn 同步时,只传输目录2中没有/不一样的数据
假设 目录1 增加/修改了 5M,
rsync同步工具的常用选项:
- -n:测试同步过程,不做实际修改
- –delete:删除目标文件夹内多余的文档
- -a:归档模式,相当于-rlptgoD
- -v:显示详细操作信息
- -z:传输过程中启用压缩/解压
本地同步
rsync [选项…] 本机目录1 本机目录2
rsync+sshd远程同步
浏览远程目录资源:
# rsync 远程用户@远程主机地址:远程目录/
上传(上行同步):
下载(下行同步):
# rsync [选项…] 远程用户@远程主机地址:远程目录1 本机目录2
请思考:从远程主机获取一个文件有哪些方式?
U盘、电子邮件、httpd、ftp、nfs、samba、scp、rsync、……
同步的含义 —— 两边数据要完全一样(时间、属性、去除多余文档)
# rsync -az –delete 目录1/ 目录2
统计目录占用的空间大小
# du -sh /etc
inotify+rsync 实时同步
前面的操作是由管理员手动执行rsync同步操作
下面通过计划任务定期执行rsync同步操作(间隔时间)
当目录1的内容变化时,马上执行同步到目录2
需要安装: inotify-tools
inotifywait常用命令选项:
- -m,持续监控(捕获一个事件后不退出)
- -r,递归监控、包括子目录及文件
- -q,减少屏幕输出信息
- -