远程安装 Linux

Original 2016-11-08 09:07:38 400
abstract:一、前言安装过linux的人都知道,在只对一台机器进行linux的安装,很容易,我们只需要把光驱放进去就可以了,一步步的安装就ok!但是当我们在一个机房,多台机器同时安装是就不可能这样做了,那有没有简单的方法呢?我们可以通过PXE实现远程安装二、PXE简介PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Serve

一、前言

安装过linux的人都知道,在只对一台机器进行linux的安装,很容易,我们只需要把光驱放进去就可以了,一步步的安装就ok!但是当我们在一个机房,多台机器同时安装是就不可能这样做了,那有没有简单的方法呢?我们可以通过PXE实现远程安装

二、PXE简介

PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,Server提供镜像,Client通过Server提供的镜像安装Linux系统

三、PXE远程安装Linux

Server端配置:

1. 配置静态IP:vim /etc/sysconfig/network-scripts/ifcfg-eth0

  BOOTPROTO=static 
  IPADDR=192.168.74.128 NETMASK=255.255.255.0 
  GATEWAY=192.168.74.1 
  DNS1=192.168.74.1 
  DNS2=8.8.8.8

2. 修改主机名为PXE:

 ① 临时修改:hostname PXE ; bash

 ② 永久修改:编辑/etc/sysconfig/network,修改NETWORKING=yes ; HOSTNAME=PXE

3. 搭建本地yum源

 ① 挂载光盘:mount /dev/cdrom /media/

 ② 编辑:vim /etc/yum.repos.d/CentOS-Base.repo

  [base]
  name=CentOS-$releasever - Base
  #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os    //注释该行 
  baseurl=file:///media    //修改光盘挂载点;
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

 ③ 清除yum缓存:yum -y clean all

4. 重启网络服务:service network restart

5. 安装PXE所需服务:yum -y install dhcp tftp-server xinetd syslinux httpd

说明:
  dhcp:给客户端提供IP地址
  tftp-server:提供系统安装所需文件,如镜像
  xinetd:tftp服务的超级守护进程, 用于唤醒tftp服务;
  httpd:基于http服务提供安装源;
  syslinux:此文件用于引导系统, 相当于bootloader

6. 配置dhcp服务

  cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
  vim /etc/dhcp/dhcpd.conf

  subnet 192.168.74.0 netmask 255.255.255.0 {      #提供dhcp服务的网段;
  range 192.168.74.130 192.168.74.140;             #地址池;
  option domain-name "internal.example.org";       #分配dns域;
  option routers 192.168.74.1;                     #网关;
  next-server 192.168.74.1;                        #tftp服务器地址;
  filename "pxelinux.0";                           #PXE引导文件;
  default-lease-time 600;                          #默认租约时长;
  max-lease-time 7200;                             #最大租约时长;
  option domain-name-servers 192.168.74.1;         #分配dns地址;
  }

7. 测试dhcp语法是否有误:service dhcpd configtest

8. 启动dhcp服务:service dhcpd start

9. 设置开机启动:chkconfig dhcpd on

10. 配置tftp服务:vim /etc/xinetd.d/tftp 确保disable = no

11. 启动xinetd服务:service xinetd start

12. 设置开机启动:chkconfig tftp on

13. 提供相关文件

 ① 提供引导内核、镜像等文件:

  cp /media/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ 
  cd /media/isolinux/
  cp boot.msg /var/lib/tftpboot/
  cp splash.jpg /var/lib/tftpboot/
  cp vesamenu.c32 /var/lib/tftpboot/
  mkdir /var/lib/tftpboot/pxelinux.cfg
  cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

 ② 提供PXE工作环境:cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

 ③ 提供安装源:

  mkdir /var/www/html/yum
  mount --bind /media/ /var/www/html/yum/
  service httpd start
  chkconfig httpd on

 ④ 提供kickstart文件:

  cp anaconda-ks.cfg /var/www/html/ks.cfg
  chmod +r /var/www/html/ks.cfg 
  vim /var/www/html/ks.cfg

 ⑤ 添加以下两项, 目标指向安装源:

  url --url=http://192.168.74.128/yum
  repo --name="Centos" --baseurl=http://192.168.74.128/yum --cost=100

 ⑥ 修改:vim /var/lib/tftpboot/pxelinux.cfg/default

  label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.74.128/ks.cfg  //指定ks文件

14. 关闭iptables、selinux防火墙:

  iptables -F
  service iptables save
  setenforce 0

  编辑vim /etc/sysconfig/selinux,修改SELINUX=disabled

 

Client端配置:

  1. 将客户机设置为网卡启动:

21.png

2.  开机启动引导:

22.png

3.  引导成功开始安装各种包:

23.png

Release Notes

Popular Entries