加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

酸爽!我用这套无人值守安装系统瞬间搞定上百台服务器

发布时间:2018-12-19 21:17:06 所属栏目:外闻 来源:DBAplus社群
导读:副标题#e# 一、前言 为啥要用无人值守安装系统?很简单的答案,就是方便日常工作。 常规装系统的办法有哪些? 光盘安装系统:一个服务器DVD内置光驱百千块,百台服务器都配光驱就浪费了,因为一台服务器也就开始装系统能用的上,以后用的机会屈指可数。 U盘安

它的安装很简单,一旦安装syslinux好之后,sysLinux启动盘就可以引导各种基于DOS的工具,以及MS-DOS/Windows或者任何其它操作系统。不仅支持采用BIOS结构的主板,而且从6.0版也开始支持采用EFI结构的新型主板。

注意:SYSLINUX不支持NTFS文件系统,所以磁盘必须是FAT(FAT16/FAT32)文件系统。

配置PXE引导

酸爽!我用这套无人值守安装系统瞬间搞定上百台服务器

default文件解析

酸爽!我用这套无人值守安装系统瞬间搞定上百台服务器

启动httpd、tftp、dhcp

酸爽!我用这套无人值守安装系统瞬间搞定上百台服务器

ks.cfg文件

通常,我们在安装操作系统的过程中,需要大量的和服务器交互操作,为了减少这个交互过程,kickstart就诞生了。

使用这种kickstart,只需事先定义好一个Kickstart自动应答配置文件ks.cfg(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了在安装过程中多次的人机交互,从而实现无人值守的自动化安装。

生成kickstart配置文件的三种方法:

  • 方法1:每安装好一台Centos机器,Centos安装程序都会创建一个kickstart配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。(生成的文件名字叫anaconda-ks.cfg位于 /root/anaconda-ks.cfg)
  • 方法2:Centos提供了一个图形化的kickstart配置工具。在任何一个安装好的Linux系统上运行该工具,就可以很容易地创建你自己 的kickstart配置文件。kickstart配置工具命令为system-config-kickstart
  • 方法3:阅读kickstart配置文件的手册。用任何一个文本编辑器都可以创建你自己的kickstart配置文件。

ks.cfg文件组成大致分为3段

命令段:

键盘类型,语言,安装方式等系统的配置,有必选项和可选项,如果缺少某项必选项,安装时会中断并提示用户选择此项的选项

软件包段:

  • %packages
  • @groupname:指定安装的包组
  • package_name:指定安装的包
  • -package_name:指定不安装的包
  • 在安装过程中默认安装的软件包,安装软件时会自动分析依赖关系。

脚本段(可选):

  • %pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)
  • %post:后安装脚本(基本支持所有命令)
  • 而具体的ks.cfg文件的配置,我们只需要在已经安装好的linux的root家目录找到anaconda_ks.cfg(这个ks文件就是在安装linux后,根据用户的安装选项自动生成的)
  1.  每个项目都由关键字来识别;关键字可跟一个或多个参数;如果某选项后面跟随了一个等号(=),它后面就必须指定一个值。 
  2.     关键字    含义 
  3.      
  4.     install(可选)    明确指定系统此次进行的是全新安装系统,而不是升级upgrade;是默认项;    
  5.      
  6.     cdrom(可选)    以本地CD-ROM为源安装系统; 
  7.      
  8.     harddrive  (可选)    以硬盘分区中包含的镜像为源(安装树)安装新系统;当以该种方式安装系统时,即使指定clearpart --all项,源所在分区也不会被重新抹去; 
  9.         --partition=    指定分区 
  10.         --dir=        指定包含镜像的目录 
  11. 例: 
  12.             harddrive  --partition=/dev/sdb2  --dir=/data/iso 
  13.      
  14.     nfs   (可选)    指定从NFS服务器上获取安装树;     
  15.             --server=    指定NFS服务器,主机名称或IP     
  16.             --dir=        包含安装树的目录 
  17.         --opts=        可以指定挂载NFS的目录时的挂载选项 
  18. 例: 
  19.             nfs  --server=192.168.31.72  --dir=/data/iso 
  20.      
  21.     url   (可选)    指定通过FTP或HTTP从网络获取安装树; 
  22.             --url    指定资源位置 
  23. 例: 
  24.             url  --url  ftp://<username>:<password>@<server>/<dir> 
  25.             url  --url      
  26.     bootloader (必需)设定boot loader安装选项;     
  27.             --append=        可以指定内核参数,要指定多个参数,使用空格分隔它们。 
  28.             --driveorder=    设定设备BIOS中的开机设备启动顺序     
  29.             --location=        设定引导记录的位置,有效的值如下: 
  30.                                 mbr(默认值); 
  31.                                 partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序)。 
  32. 例: 
  33.             bootloader  --location=mbr  --append=“rhgb quiet” --driveorder=sda,sdb 
  34.             bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb rhgb quiet quiet" 
  35.      
  36.     clearpart (可选)在建立新分区前清空系统上原有的分区表,默认不删除分区;     
  37.             --all      擦除系统上原有所有分区;     
  38.             --drives    删除指定驱动器上的分区     
  39.             --initlabel    初始化磁盘卷标为系统架构的默认卷标     
  40.             --linux        擦除所有的linux分区     
  41.             --none(default)不移除任何分区 
  42. 例: 
  43.             clearpart  --drives=hda,hdb --all  --initlabel 
  44.              
  45.     zerombr  (可选)清除mbr引导信息,会同时清空系统用原有分区表 
  46.      
  47.     drivedisk (可选)如果使用特殊存储方式时,需要指定驱动程序盘位置以便加载存储驱动; 
  48.     1.  将驱动盘拷贝到本地硬盘某分区根目录:      
  49.             drivedisk <partition> [ --type=<fstype> ] 
  50.     2.  也可以指定一个网络位置加载驱动程序盘      
  51.             drivedisk  --source=ftp://path/to/drive.img     
  52.             drivedisk  --source=http://path/to/drive.img      
  53.             drivedisk  --source=nfs:host://path/to/drive.img 
  54.      
  55.     firewall (可选)配置系统防火墙选项; 
  56.     firewall -enable|--disable  [ --trust ] <device> [ --port= ]     
  57.             --enable        拒绝外部发起的任何主动连接;     
  58.             --disable        不配置任何iptables防御规则;     
  59.             --trust        指定完全信任网卡设备;     
  60.             --port        使用port:protocol格式指定可以通过防火墙的服务; 
  61. 例: 
  62.             firewall --enable --trust eth0  --trust eth1  --port=80:tcp 
  63.             firewall --disabled 
  64.          
  65.     selinux (可选)设置系统selinux状态;默认为启用并处于enforcing模式; 
  66.     selinux [ --disabled|–enforcing|--premissive ] 
  67. 例: 
  68.         selinux --disabled 
  69.          
  70.     reboot (可选)    在系统成功安装完成后默认自动重启系统(kickstart方法时); 
  71. 在收到你敢装系统完成后,会提示按任意键进行重启; 
  72.                     在本文件中没有明确指明其他方法时就默认完成方式为reboot;     
  73.                            使用 reboot 选项可能会导致安装的死循环,这依赖于安装介质和方法。需要特别注意; 
  74.              
  75. halt  (可选)    在系统成功安装完成后关机;默认为reboot; 
  76.  
  77.             其他选项还有shutdown、poweroff,需要使用请自行参考官方文档。 
  78.              
  79.     graphical (可选)默认值,在图形模式下进行kickstart方式安装; 
  80.      
  81.     text (可选)以文本方式进行kickstart安装;默认为图形界面 
  82.      
  83.     key  (可选)    设置一个安装码(installration number),用于获取RedHat官方的支持服务; 
  84.             --skip    跳过key设置,不进行设置;如果不设置可能跳转到交互模式让用户选取动作; 
  85.      
  86.     keyboard (必需)设置键盘类型;一般设置为us; 
  87. 例: 
  88.         keyboard us 
  89.          
  90.     lang (必需)设置安装过程使用的语言及系统的缺省语言;文本模式安装时可能不支持某些语言(中、韩...),所以可能仍以默认的英文方式安装;默认en_us,装中文时,需要后期%packages部分装上中文支持组件; 
  91. 例: 
  92.             lang en_US 
  93.      
  94.     timezone (可选)    设置系统的时区;     
  95.     timezone  [ --utc ]  <timezone>     
  96. 例: 
  97.             timezone  --utc  Asia/Shanghai 
  98.             timezone Asia/Shanghai 
  99.              
  100.     auth/authconfig  (必需)    设置系统的认证方式;默认为加密但不隐藏(shadow);     
  101.             --enablemd5    使用MD5加密方式     
  102.             --useshadow或—enableshadow    使用隐藏密码;     
  103.             --enablenis=     使用NIS认证方式     
  104.             --nisdomain=    NIS域     
  105.             --nisserver=       NIS服务器    还可以设置LDAP、SMB及Kerberos5认证方式,详细请参考官方文档;     
  106. 例: 
  107.             authconfig  --useshadow  --enablemd5 
  108.             authconfig --enableshadow --passalgo=sha512    设置密码加密方式为sha512 启用shadow文件。     
  109.      
  110.     rootpw (必需)    设置系统root账号的密码;     
  111.     rootpw [ --iscrypted ]  <passwd>     
  112.             --iscrypted    表示设置的密码为加密过的串;     
  113. 例: 
  114.             rootpw  pa4word    rootpw --iscrypted  $1$RPYyxobb$/LtxMNLJC7euEARg2Vu2s1 
  115.             rootpw  --iscrypted $6$fvyDQYgM0a7kwvth$jAhWo.26MxcNMFwnJNl6011diLKv8Ai/3QapVZhfaXExPz9wAQfrxHfx.4RWK2SPb83OB33MyYX61Xd3h1hvB/ 
  116.      
  117.     network (可选)    配置网络信息;在网络安装(NFS/HTTP/FTP)时必须指定;     
  118.             --bootproto=dhcp|bootp|static    指定ip获取方式,默认为dhcp/bootp;static方法要求在kickstart文件里输入所有的网络信息。    
  119.             --device=    设置安装时激活来进行系统安装的网卡设备;该参数只在kickstart文件为本地文件时有效;若kickstart配置文件在网络上,安装程序会先初始化网卡然后去寻找kickstart文件;     
  120.             --ip=    ip设置     
  121.             --gateway=   网关     
  122.             --nameserver=  DNS设置     
  123.             --nodns        不设置DNS     
  124.             --netmask=   子网掩码     
  125.             --hostname= 设置安装后主机名称     
  126.             --onboot=    设置是否在系统启动时激活网卡     
  127.             --class=        设置DHCP的class值     
  128.             --noipv4        禁用该设备的ipv4功能     
  129.             --noipv6        禁用该设备的ipv6功能    如将网络模式设置为静态模式,则必须在一行内写上ip,netmask、dns、gateway等信息;     
  130. 例: 
  131.             network –bootproto=static –ip=1.1.1.1 --metmask=255.0.0.0 --gateway=1.1.1.254 --nameserver=1.1.1.2     
  132.             netmask --bootproto=dhcp  --device=eth0 
  133.             network --onboot yes --device eth0 --mtu=1500 --bootproto static --ip 10.0.0.32 --netmask 255.255.255.0 --noipv6 --hostname openstack02     
  134.             network --onboot yes --device eth1 --bootproto static --ip 192.168.31.32 --netmask 255.255.255.0 --gateway 192.168.31.1 --noipv6 --nameserver 223.5.5.5 --hostname openstack02 
  135.      
  136.     skipx (可选) 
  137.         如果该项存在,就不对系统的X进行设置; 
  138.      
  139.     xconfig (可选)配置X window ;如果不给出选项,在安装过程中需要手动调整设置;当然不安装X时不应该添加该项;    
  140.             --driver            为显卡设置X驱动    
  141.             --videoram=    设置显卡的RAM大小    
  142.             --defaultdesktop=    设置GNOME/KDE作为默认桌面;假定这两个桌面环境在%packages例已经安装    
  143.             --startxonboot   使用图形界面登录系统    
  144.             --resolution=     设置图形界面的分辨率;可用值有640*480、800*600、1024*768等;确保设置指适合于显示卡及显示器;    
  145.             --depth=           设置显示色深;可用值有8/16/24/32;确保设置值适合于显示设备; 
  146.     例:     
  147.             xconfig    --startxonboot  --resolution=800*600 --depth=16 
  148.      
  149.     services (可选)设置禁用或允许列出的服务;     
  150.             --disabled 设置服务为禁用     
  151.             --enabled  启动服务 
  152. 例: 
  153.             services --disabled autid,cups,smartd,nfslock  服务之间用逗号隔开,不能有空格     
  154.      
  155.     iscsi(可选)指定额外的ISCSI设备;     
  156.     issci --ipaddr= ipaddr  [options].       
  157.             --target        
  158.             --port=        
  159.             --user=        
  160.             --password= 
  161.              
  162.     part/partition  (install模式必须)建立新分区;     
  163.     part  <mntpoint>|swap|pv.id|rdid.id   
  164.      
  165.     options     
  166.             mntpoint:挂载点,是在创建普通分区时指定新分区挂载位置的项;挂载点需要格式正确     
  167.             swap: 创建swap分区;     
  168.             raid.id:  表示创建的分区类型为raid型;必须用id号进行唯一区别;     
  169.             pv.id:  表示所创建的分区类型为LVM型;必须用唯一id号进行区别;     
  170.             --size=  设置分区的最小值,默认单位为M,但是不能写单位;     
  171.             --grow  让分区自动增长利用可用的剩余磁盘空间,或是增长到设置的maxsize值;     
  172.             --maxsize 设置分区自动增长(grow)时的最大容量值,以M为单位,但不能写单位;     
  173.             --onpart=/--usepart=     设置使用原有的分区;     
  174.             --noformat    设置不格式化指定的分区,在跟—onpart一同使用时,可以避免删除原有分区上的数据,在新安装的系统中保留使用数据;     
  175.             --asprimary    强制制定该分区为主分区;若指定失败,分区会失败,导致安装停止;     
  176.             --fstype=    新增普通分区时指定分区的类型,可以为ext2、ext3、ext4、swap、vfat及hfs;     
  177.             --ondisk=/--ondrive=     设定该分区创建在一个具体的磁盘上;     
  178.             --start   指定分区以磁盘上那个磁道开始;需要跟--ondisk参数一块使用;     
  179.             --end    指定分区以磁盘上那个磁道结束;需要跟上述两个参数一起使用;     
  180.             --recommended:让系统自行决定分区的大小;在创建swap分区时,若RAM<2G,则分区大小为2*RAM;若RAM>=2G时,分区大小为RAM+2G;     
  181.             --bytes-pre-inode=    指定分区格式化时inode的大小;默认值为4096     
  182.             --fsoptions=    指定创建fstab文件时该分区挂载参数项; 
  183. 例: 
  184.             part  /boot  --fstype=“ext3” --size=100     
  185.             part  swap  --fstype=“swap” –size=512       
  186.             part  /  --bytes-pre-inode=4096  --fstype=“ext4”--size=10000     
  187.             part  /data    --onpart=/dev/sdb1  --noformat     
  188.             part  raid.100  --size=2000     
  189.             part  pv.100     --size=1000 
  190.             part /boot --fstype=ext4 --asprimary --size=200     
  191.             part swap --asprimary --size=512     
  192.             part / --fstype=ext4 --grow --asprimary --size=200 
  193.      
  194.     raid  (可选)    设置RAID。     
  195.     raid 挂载点  --level=<level>  --device=<mddevices_name>  <raid组成分区>     
  196.     挂载点:    选取根/时,注意尽量避免/boot在RAID内,除非为RAID1;     
  197.             --level=     设置RAID级别     
  198.             --device=  RAID设备名称,如md0,md1...     
  199.             --byte-pre-inode=    设置该RAID分区上inode大小;若分区文件系统类型不支持该参数,会静默忽略参数;     
  200.             --spares=  设置RAID的热备盘     
  201.             --fstype=  设置文件系统类型     
  202.             --fsoptions=  设置挂载该文件系统时自定义的一些参数,参数写入fstab文件;     
  203.             --useexisting  使用现有的RAID设备并且重新格式化原设备     
  204.             --noformat     在使用现有的RAID设备时不格式化原有RAID设备     
  205.     例:完整创建一个RAID1设备示例;     
  206.             part  raid.10  --size=1000  --ondisk=/dev/sdb     
  207.             part  raid.11  --size=1000  --ondisk=/dev/sdc    raid  /data  --level=1  --device=md0  raid.10  raid.11 
  208.      
  209.     volgroup  (可选)    创建一个LVM卷组VG;     
  210.     volgroup  vg_name  partition  [options]     
  211.             --useexiting   使用现有的VG并且重新格式化     
  212.             --noformat    使用现有的VG时不做格式化     
  213.             --pesize          设置PE(physical extents)块大小    
  214. 例: 
  215.             part pv.11  --size=2000    volgroup  myvg  pv.11 
  216.              
  217.     logvol  (可选)    创建一个LVM逻辑卷LV;    logvel  mnt_point   
  218.             --vgname=vg_name   
  219.             --size=lv_size   
  220.             --name=lv_name   
  221.     [options]     
  222.             --useexiting  使用现有的LV并且重新格式化     
  223.             --noformat   使用现有的LV时不做格式化     
  224.             --fstype=      指定RAID分区类型     
  225.             --fsoptions=  设置挂载该文件系统时自定义的一些参数,参数写入fstab文件;     
  226.             --byte-pre-inode=    设置该RAID分区上inode大小;     
  227.             --precent=    设定LV大小为VG可用空间的比例;     
  228. 例: 
  229.             part pv.20  --size=5000    volgroup  mvvg  pv.20    logvol    /data  --vgname=myvg  --size=3000  --name=mydata 
  230.      
  231.     firstboot(可选)    负责协助配置redhat一些重要的信息。 
  232.         firstboot --disable     
  233.      
  234.     logging(可选)    设置日志级别。 
  235.         logging --level=info 

以下是ks配置文件的内容

可以根据自己所需进行调整,ks文件需要用.cfg结尾,必须与default文件中指定的位置相同。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读