全自动安装linux操作系统(CentOS)

简介:
 客户端网卡在主机启动初始化时通过网卡内置的PXE芯片启动DHCP进程向server获取ip地址,网卡获取到ip地址后,server会提供给 client一个下载bootloader的指令,就是dhcp服务器中dhcpd.conf配置文件中filename这个选项。
   一:过程思路:(建议先跳过文字按照安装步骤边安装边看思路)
  1:客户端网卡在主机启动初始化时通过网卡内置的PXE芯片启动DHCP 进程向server获取ip地址,网卡获取到ip地址后, server会提供给 client一个下载bootloader的指令,就是dhcp服务器中dhcpd.conf配置文件中filename这个选项。
  2:网卡PXE芯片中已经包含了tftp client程序,获取到ip地址后,网卡会启动tftp服务去向tftp server请求传输这个bootloader文件PXElinux.0。当Bootloader加载后我们可以看到主机屏幕上有信息显示,而这个画面就 是我们在用光驱装linux的时候看到的第一个画面。画面提示选择图形界面安装还是linux  text字符界面安装等信息。如果在server端的tftpboot目录下只有这个文件,那么客户机会一直停留在boot这个地方,因为没有default这个bootloader配置文件告诉机器下一步加载哪个系统内核,default配置文件的作用是告诉主机从哪里去加载 操作系统内核,这个时候如果我们按照正常光碟装机时会看到提示:输入回车或者linux text等信息。Bootloader会去调用default配置文件中的操作系统内核文件。
  3:default 文件配置好之后,接着就是指定内核文件,这个在default文件最后。就是vmlinuz,initrd.img *.msg 这几个文件。
  4:到这一步加载成功后,系统就按照我们平常光碟装系统看到的过程一模一样了,选择语言,鼠标,键盘等,但因为有了KS这个自动安装脚步,这些都不要我们手工去指定,全部会自动完成。
  5:到这里为止,也许有人会问,那我们从哪里去加载安装的镜像。且慢,不是有个ks安装脚本吗,就是这个脚本里面我们可以指定安装镜像在哪里。
  6:现在就考虑系统镜像的传输,这里我们选用linux特有的NFS网络 文件系统进行镜像的传输。当然也可以用HTTP,ftp等方式。但为什么我们直接使用tftp呢,因为这个协议在传输大文件的时候效率非常低。 二:具体安装过程:
  说明:server IP:192.168.9.20 linux版本:centos 5.2
   1:安装tftp 服务器 和dhcp服务器:
  root@centos CentOS]# rpm -qa | grep tftp
  tftp-server-0.42-3.1.el5.centos
  [root@centos CentOS]# rpm -qa |grep dhcp
  dhcpv6-client-1.0.10-4.el5
  dhcp-3.0.5-13.el5
  目的是确保客户端能够正常获取到ip地址和pxelinux.0文件。
   2:修改tftp参数:
  [root@centos CentOS]# vi /etc/xinetd.d/tftp
  ……………………………………………………………………………………
  service tftp
  {
  socket_type = dgram
   protocol = udp
  wait = yes
  user = root
  server = /usr/sbin/in.tftpd
  server_args = -s /tftpboot
  disable = yes / 改成no /
  per_source = 11
  cps = 100 2
  flags = IPv4
  }
  …………………………………………………………………………………………
  /tftpboot 这个参数主要是指定tftp client 客户端从服务器的哪个目录去加载bootloader的pxelinux.0文件。
3:启动tftp:
  [root@centos CentOS]# service xinetd restart
  Stopping xinetd: [FAILED]
  Starting xinetd: [ OK ]
  4:安装dhcpd服务并配置启动:
  [root@centos ~]# vi /etc/dhcpd.conf
  ddns-updat e-style interim;
  ignore  client-updates;
  boot bootp;
   subnet 192.168.9.0  netmask 255.255.255.0
  { /分配给client端的ip地址/
  option routers 192.168.9.1;
  option subnet-mask 255.255.255.0;
  option domain-name "domain. org";
  option domain-name-servers 202.96.128.66;
  option  time-offset -18000;
  range dynamic-bootp 192.168.99.2 192.168.9.100;
  filename "/pxelinux.0"; /用来指定tftp根目录的启动文件实际是在/tftpboot目录下。/
  default-lease-time 21600;
  max-lease-time 43200;
  next- server 192.168.9.20; /这一句是告诉client从哪里加载bootloade/r
  }
   5: 创建文件夹并拷贝pxelinux.0至/tftpboot目录:
  mkdir /tftpboot
  cp /usr/lib/syslinux/pxelinux.0 /tftpboot /pxelinux.0server已经有/
  midir /tftpboot/pxelinux.cfg
  touch /tftpboot/pxelinux.cfg/default
  default内容可以修改成如下:
  …………………………………………………………………………
  default autoinstall /缺省引导autoinstall 这个label/
  prompt 1
  timeout 30 /缺省自动加载的时间30s/
  ………………………………
  label autoinstall
   kernel vmlinuz /内核文件名字/
  append ks=nfs:192.168.9.20:/tftpboot/ks
  initrd=initrd.img devfs=nomount ramdisk_size=16384 nofb
  ……………………………………………………………………………………
  append 这个选项是指定从哪个地方去读取这个配置文件,用什么方式加载。这里使用nfs方式获取KS这个文件,当然也可以用FTP、HTTP等方式。ks 文件,也就是linux自动加载安装中各项参数,平常我们用光盘安装的时候需要选择相应的语言,字体,键盘,鼠标,分区,安装的软件包等待信息,KS文件 就是让这些选择自动化进行。
6:ks 文件内容如下:可以根据自己实际环境进行更改。
  …………………………………………………………………………
  lang en_US
  langsupport zh_CN en_US --default=en_US
   keyboard us
  mouse
  timezone Asia/Shanghai
  rootpw  password /新装系统的root密码/
   reboot
  #upgrade
  install
  #harddrive -- partition=sdb1 --dir=rhas
  nfs -- server=192.168.9.20 --dir=/media/cdrom /指定镜像的位置/
   text
  bootloader --location=mbr
  zerombr yes
  clearpart --drives hda –initlabe /硬盘名字,根据实际环境更改/
  part / --fstype ext3 --size 3072 --asprimary --ondisk had
  part swap --size 256 --asprimary --ondisk hda
  part /tmp --fstype ext2 --size 256 --ondisk hda
  part /home --fstype ext3 --size 1 --grow --ondisk hda
  auth --useshadow --enablemd5
  # network --bootproto=dhcp --device=eth0
  network --device=eth0 --bootproto=static --
  ip=192.168.9.210 -- netmask=255.255.255.0 --
   gateway=192.168.9.244 --nameserver=202.96.128.68 --
  hostname=test. com /指定新装系统的主机名和ip/
   firewall --disabled
  skipx
  %packages –resolvedeps /指定新装系统所需的包/
  @ development-tools
  @ admin-tools
  @  system-tools
  ………………………………………………………………………………
  Kickstart 具体内容的研究可以参考redhat官方网站,根据实际环境修改KS的内容以适合自己的要求。
 7: NFS服务器的创建:
  a:先确认NFS 文件系统在服务器端已经安装好。
  [root@centos ~]# rpm -qa | grep nfs
  nfs-utils-lib-1.0.8-7.2.z2
  nfs-utils-1.0.9-33.el5
  b:修改nfs参数文件
  [root@centos ~]# vi /etc/exports
  ………………………………………………………………
  /media/cdrom *(ro,sync)
  …………………………………………………………………
  这个的配置很简单:/media/cdrom 将服务器上这个目录共享出去,这个目录中就是安装光盘中的内容。
  *(ro,sync) *指定所有的用户(ro,sync)具有只读权限,并且数据同步写入硬盘。
  c:启动nfs服务:
  root@centos ~]# service portmap start
  [root@centos ~]# service nfs start
  Starting NFS services: [ OK ]
  Starting NFS quotas: [ OK ]
  Starting NFS  daemon: [ OK ]
  Starting NFS mountd: [ OK ]
  [root@centos ~]# exportfs /确认nfs共享正常/
  /media/cdrom
  ……………………………………………………
   8:client机器手动加电后,这是唯一需要手动的地方,呵呵,连接上网线与server在同一个网段,享受自动安装几十几百台linux主机的过程吧。



本文转自liang_simon51CTO博客,原文链接:http://blog.51cto.com/shubao    ,如需转载请自行联系原作者

相关文章
|
7天前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
51 10
|
7天前
|
Linux
Linux 操作系统
在 Linux 中,UID(用户 ID)是标识用户身份的重要概念。UID 唯一标识每个用户,通过 UID 可区分不同用户类别:UID 0 为超级用户,1-999 为系统用户,1000 及以上为普通用户。因此,正确选项为:UID 标识用户、可区分用户类别、普通用户 UID 大于 1000。
|
21小时前
|
NoSQL Unix Linux
Linux 操作系统的诞生与发展历程
步探索与准备: 1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。通过学习,他逐渐不能满足于minix系统的现有性能,并开始酝酿开发一个新的免费操作系统。
15 8
Linux 操作系统的诞生与发展历程
|
6天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
56 20
|
1月前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
82 25
|
29天前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
53 16
|
1月前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
60 15
|
1月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
75 7
|
1月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
70 6
|
1月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。