pxe

---
- name: yum install basic services
  yum:
    name: "{{ item }}"
    state: latest
  with_items:
    - xinetd
    - tftp-server
    - dhcp
    - httpd
    - syslinux

- name: rewrite tftp config
  template:
    src: tftp
    dest: /etc/xinetd.d/tftp

- name: restart xinetd
  service:
    name: xinetd
    state: restarted
    enabled: yes

- name: rewrite dhcpd config
  template:
    src: dhcpd.conf
    dest: /etc/dhcp/dhcpd.conf

- name: restart dhcpd
  service:
    name: dhcpd
    state: restarted
    enabled: yes

- name: service start
  service:
    name: "{{ item }}"
    state: restarted
    enabled: yes
  with_items:
    - tftp
    - httpd


- name: make sure directory exists
  file:
    path: "{{ item }}"
    state: directory
  with_items:
    - /var/www/html/file/
    - /var/www/html/centos7/
    - /var/lib/tftpboot/pxelinux.cfg/

- name: ks config
  template:
    src: ks.cfg
    dest: /var/www/html/file/ks.cfg

- name: pxe default
  template:
    src: default
    dest: /var/lib/tftpboot/pxelinux.cfg/default

- name: copy core file
  copy:
    src: "{{ item.src }}"
    dest: "{{ item.dest }}"
  with_items:
    - src: tftpboot/vmlinuz
      dest: /var/lib/tftpboot/vmlinuz
    - src: tftpboot/pxelinux.0
      dest: /var/lib/tftpboot/pxelinux.0
    - src: tftpboot/vesamenu.c32
      dest: /var/lib/tftpboot/vesamenu.c32
    - src: tftpboot/initrd.img
      dest: /var/lib/tftpboot/initrd.img
    - src: CentOS7.iso
      dest: /var/www/html/file/CentOS7.iso

- name: auto mount
  mount:
    path: /var/www/html/centos7
    src: /var/www/html/file/CentOS7.iso
    fstype: iso9660
    opts: defaults
    state: present

- name: mount
  shell: /usr/bin/mount -a
default

label linux
  menu label ^Install CentOS 7
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://{{ ansible_default_ipv4.address }}/centos7 quiet ks=http://{{ ansible_default_ipv4.address }}/file/ks.cfg
dhcp

subnet {{ ansible_default_ipv4.network }} netmask {{ ansible_default_ipv4.netmask }} {
  range dynamic-bootp {{ dhcp_start_ip }} {{ dhcp_end_ip }};
  filename "pxelinux.0";
  next-server {{ ansible_default_ipv4.address }};
  option routers {{ ansible_default_ipv4.gateway }};
}
ks

keyboard 'us'
rootpw --iscrypted $1$zcKX70RY$eDa8u/fGojQGwIhCZtamn1
url --url="https://mirrors.aliyun.com/centos/7.4.1708/os/x86_64/"
lang en_US.UTF-8
firewall --disabled
auth  --useshadow  --passalgo=sha512
text
firstboot --disable
selinux --disabled
skipx
network  --bootproto=dhcp --device=eth0
reboot
timezone Asia/Shanghai --isUtc --nontp
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part / --fstype="ext4" --size=10240
part /boot --fstype="ext4" --size=512
part swap --fstype="swap" --size=4096

%packages
@^minimal
@core
%end

%post
/usr/bin/curl "http://ip:port/path/?action=add_vm&ip=`ip a | grep inet.*en | awk '{print $2}' | awk -F '/' '{print $1}'`"
%end
tftp

service tftp
{
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftpd
    server_args     = -s /var/lib/tftpboot
    disable         = no
    per_source      = 11
    cps         = 100 2
    flags           = IPv4
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PXE LiveOS是一种基于网络引导的技术,允许用户通过本地网络从服务器上启动和运行操作系统。PXE是Preboot Execution Environment的缩写,是一种网络引导协议,使计算机能够从网络中的服务器下载和安装操作系统。 PXE LiveOS的一个重要应用是创建可移动的操作系统环境。它允许用户使用PXE启动OS(操作系统)映像,而无需安装在本地计算机上。这对于需要在不同计算机上运行相同OS或定制化的操作系统环境的用户来说非常方便。 PXE LiveOS技术的实现步骤如下:首先,需要服务器上的PXE引导服务和操作系统映像。然后,在客户端计算机中启用PXE以引导网络,通过DHCP(动态主机配置协议)从服务器获取IP地址、网关和其他网络信息。然后,PXE客户端会连接到PXE服务器并下载操作系统映像。最后,操作系统在计算机上运行,用户就可以在PXE LiveOS环境中使用各种应用程序和功能。 PXE LiveOS的优点是简化了操作系统的部署和管理。它减少了操作系统安装的需要,节省了时间和资源。用户只需一台服务器存储OS映像,就可以在需要时随时运行各种操作系统。此外,由于操作系统是从网络上运行的,因此任何计算机在连接到网络后都可以使用这种方式来启动。 总之,PXE LiveOS是一种便捷的网络引导技术,可以帮助用户快速启动和运行操作系统。利用PXE LiveOS,用户能够创建可移动的操作系统环境,并在不同计算机上使用相同的操作系统。它简化了操作系统的部署和管理过程,节省了时间和资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值