RHEL7下PXE+NFS+Kickstart无人值守安装操作系统,rhel7kickstart


RHEL7下PXE+NFS+Kickstart无人值守安装操作系统 1.配置yum源 vim /etc/yum.repos.d/development.repo [development] name=yum server baseurl=file:///mnt enabled=1 gpgcheck=0 2.挂载光盘 mount /dev/sr0 /mnt 3.安装相关软件包 yum install dhcp syslinux xinetd tftp-server 4.配置dhcp vim /etc/dhcp/dhcpd.conf 5.添加内容 subnet 192.168.1.0 netmask 255.255.255.0 {   range 192.168.1.50 192.168.1.90;   option domain-name-servers 192.168.1.1;   option domain-name "internal.example.org";   option routers 192.168.1.1;   option broadcast-address 192.168.1.255;   next-server 192.168.1.30;   filename "pxelinux.0";   default-lease-time 600;   max-lease-time 7200; } 6.启动服务和开机自启动 systemctl start dhcpd.service systemctl enable dhcpd.service 7.复制启动文件 cd /var/lib/tftpboot/                                                                                               #进入/var/lib/tftpboot/ cp /mnt/isolinux/initrd.img /var/lib/tftpboot                                                           #复制initrd.img到/var/lib/tftpboot目录下 cp /mnt/isolinux/vmlinuz /var/lib/tftpboot/                                                            #复制vmlinuz到/var/lib/tftpboot目录下 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/                                              #复制pxelinux.0到/var/lib/tftpboot目录下 cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/                                                 #复制vesamenu.c32到/var/lib/tftpboot目录下 cp /mnt/isolinux/boot.msg /var/lib/tftpboot/                                                        #复制boot.msg到/var/lib/tftpboot目录下 cd /var/lib/tftpboot/                                                                                             #进入/var/lib/tftpboot目录下 mkdir pxelinux.cfg                                                                                             #在/var/lib/tftpboot目录下创建pxelinux.cfg目录 cd pxelinux.cfg/                                                                                                 #进入pxelinux.cfg目录下 cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default                     #复制isolinux.cfg到pxelinux.cfg目录下并命名为default vim default                                                                                                       #在/var/lib/tftpboot/pxelinux.cfg目录下修改default文件 label PXE-linux   menu label ^Install System from PXE-RHEL7.0   kernel vmlinuz   append initrd=initrd.img ks=nfs://192.168.1.30/rhel7/ks.cfg ksdevice=eno16777736 ip=dhcp quiet 8.配置tftp-server syslinux vim /etc/xinetd.d/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 } 9.启动服务和开机自启动 systemctl start xinetd.service systemctl enable xinetd.service 10.安装配置NFS yum -y install nfs*                           #安装nfs服务 mkdir /rhel7                                    #根下创建安装文件目录 cd /rhel7                                        #进入RHEL7.0目录 cp -rf /mnt/* /rhel7/                       #复制光盘内容到rhel7目录下 vim /etc/exports                           #nfs共享系统文件   /rhel7 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash) 11.启动服务 systemctl start nfs-server systemctl enable nfs-server 12.无图形界面配置kickstart一键安装应答文件 vim /rhel7/ks.cfg #platform=x86, AMD64, 或 Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us'# Reboot after installation reboot # Root password rootpw --iscrypted $1$FyasdJen$q2zUDfVq.ln1FmIlP8O/m0                       //root密码为7788521 # System timezone timezone Asia/Shanghai # System language lang en_US # Firewall configuration firewall --disabled # Network information network  --bootproto=dhcp --device=eno16777736 # System authorization information auth  --useshadow  --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --disabled   # Use NFS installation media nfs --server=192.168.1.30 --dir=/rhel7 # System bootloader configuration bootloader --location=mbr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --asprimary --fstype="xfs" --size=500 part swap --asprimary --fstype="swap" --size=2048 part / --asprimary --fstype="xfs" --size=10240 part /home --fstype="xfs" --grow --size=1   %packages                       @base @core @desktop-debugging @dial-up @fonts @gnome-desktop @guest-agents @guest-desktop-agents @input-methods @internet-browser @kde-desktop @multimedia @print-client @x11 %end 图形化系统可以安装Kickstart yum -y install system-config-kickstart.noarch system-config-kickstart 13.修改SELinux状态 vim /etc/sysconfig/selinux SELINUX=disabled 14.开放防火墙服务和端口 firewall-cmd --permanent --add-service=dhcp firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-port=69/udp firewall-cmd --permanent --add-port=111/tcp firewall-cmd --permanent --add-port=111/udp firewall-cmd --permanent --add-port=20048/tcp firewall-cmd --permanent --add-port=20048/udp firewall-cmd --reload
配置文件详细内容 1.dhcpd.conf文件内容 [root@localhost tftpboot]# cat /etc/dhcp/dhcpd.conf subnet 192.168.1.0 netmask 255.255.255.0 {   range 192.168.1.50 192.168.1.90;   option domain-name-servers 192.168.1.1;   option domain-name "internal.example.org";   option routers 192.168.1.1;   option broadcast-address 192.168.1.255;   next-server 192.168.1.30;   filename "pxelinux.0";   default-lease-time 600;   max-lease-time 7200; } 2.tftp文件内容 [root@localhost tftpboot]# cat /etc/xinetd.d/tftp # default: off # description: The tftp server serves files using the trivial file transfer \ #       protocol.  The tftp protocol is often used to boot diskless \ #       workstations, download configuration files to network-aware printers, \ #       and to start the installation process for some operating systems. 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 } 3.default文件内容 [root@localhost tftpboot]# cat /var/lib/tftpboot/pxelinux.cfg/default default vesamenu.c32 timeout 600   display boot.msg   # Clear the screen when exiting the menu, instead of leaving the menu displayed. # For vesamenu, this means the graphical background is still displayed without # the menu itself for as long as the screen remains in graphics mode. menu clear menu background splash.png menu title Red Hat Enterprise Linux 7.0 menu vshift 8 menu rows 18 menu margin 8 #menu hidden menu helpmsgrow 15 menu tabmsgrow 13   # Border Area menu color border * #00000000 #00000000 none   # Selected item menu color sel 0 #ffffffff #00000000 none   # Title bar menu color title 0 #ff7ba3d0 #00000000 none   # Press [Tab] message menu color tabmsg 0 #ff3a6496 #00000000 none   # Unselected menu item menu color unsel 0 #84b8ffff #00000000 none   # Selected hotkey menu color hotsel 0 #84b8ffff #00000000 none   # Unselected hotkey menu color hotkey 0 #ffffffff #00000000 none   # Help text menu color help 0 #ffffffff #00000000 none   # A scrollbar of some type? Not sure. menu color scrollbar 0 #ffffffff #ff355594 none   # Timeout msg menu color timeout 0 #ffffffff #00000000 none menu color timeout_msg 0 #ffffffff #00000000 none   # Command prompt text menu color cmdmark 0 #84b8ffff #00000000 none menu color cmdline 0 #ffffffff #00000000 none   # Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.   menu tabmsg Press Tab for full configuration options on menu items.   menu separator # insert an empty line menu separator # insert an empty line   label PXE-linux   menu label ^Install System from PXE-RHEL7.0   kernel vmlinuz   append initrd=initrd.img ks=nfs://192.168.1.30/rhel7/ks.cfg ksdevice=eno16777736 ip=dhcp quiet   label linux   menu label ^Install Red Hat Enterprise Linux 7.0   kernel vmlinuz   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 quiet   label check   menu label Test this ^media & install Red Hat Enterprise Linux 7.0   menu default   kernel vmlinuz   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 rd.live.check quiet   menu separator # insert an empty line   # utilities submenu menu begin ^Troubleshooting   menu title Troubleshooting   label vesa   menu indent count 5   menu label Install Red Hat Enterprise Linux 7.0 in ^basic graphics mode   text help         Try this option out if you're having trouble installing         Red Hat Enterprise Linux 7.0.   endtext   kernel vmlinuz   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 xdriver=vesa nomodeset quiet   label rescue   menu indent count 5   menu label ^Rescue a Red Hat Enterprise Linux system   text help         If the system will not boot, this lets you access files         and edit config files to try to get it booting again.   endtext   kernel vmlinuz   append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.0\x20Server.x86_64 rescue quiet   label memtest   menu label Run a ^memory test   text help         If your system is having issues, a problem with your         system's memory may be the cause. Use this utility to         see if the memory is working correctly.   endtext   kernel memtest   menu separator # insert an empty line   label local   menu label Boot from ^local drive   localboot 0xffff   menu separator # insert an empty line menu separator # insert an empty line   label returntomain   menu label Return to ^main menu   menu exit   menu end 4.ks.cfg文件内容 [root@localhost tftpboot]# cat /rhel7/ks.cfg #platform=x86, AMD64, 或 Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us'# Reboot after installation reboot # Root password rootpw --iscrypted $1$FyasdJen$q2zUDfVq.ln1FmIlP8O/m0 # System timezone timezone Asia/Shanghai # System language lang en_US # Firewall configuration firewall --disabled # Network information network  --bootproto=dhcp --device=eno16777736 # System authorization information auth  --useshadow  --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --disabled   # Use NFS installation media nfs --server=192.168.1.30 --dir=/rhel7 # System bootloader configuration bootloader --location=mbr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --asprimary --fstype="xfs" --size=500 part swap --asprimary --fstype="swap" --size=2048 part / --asprimary --fstype="xfs" --size=10240 part /home --fstype="xfs" --grow --size=1   %packages                       @base @core @desktop-debugging @dial-up @fonts @gnome-desktop @guest-agents @guest-desktop-agents @input-methods @internet-browser @kde-desktop @multimedia @print-client @x11 %end 5.tftpboot目录下的文件 [root@localhost tftpboot]# pwd /var/lib/tftpboot [root@localhost tftpboot]# ll 总用量 39688 -rw-r--r--. 1 root root       74 6月   4 17:10 boot.msg -r--r--r--  1 root root 35544564 6月   4 17:28 initrd.img -rw-r--r--  1 root root    26460 6月   4 17:29 pxelinux.0 drwxr-xr-x. 2 root root       20 6月   4 17:10 pxelinux.cfg -r--r--r--  1 root root   155792 6月   4 17:33 vesamenu.c32 -r-xr-xr-x  1 root root  4902000 6月   4 17:28 vmlinuz 6.pxelinux.cfg目录下的文件 [root@localhost pxelinux.cfg]# pwd /var/lib/tftpboot/pxelinux.cfg [root@localhost pxelinux.cfg]# ll 总用量 4 -r--r--r--. 1 root root 3343 6月   4 17:10 default

 

相关内容