Solaris9的jumpstart服务器配置中文详解

来源:岁月联盟 编辑:zhu 时间:2008-03-29
Solaris9的jumpstart服务器配置中文详解内容简介:如果你希望安装solaris操作系统的时候,系统不会问你一大堆问题而耽误你的时间,或者你想在系统塌掉以后,在很短的时间内做出一个全新的操作系统,或者只去敲入一条命令,所有的安装过程不再需要人为的干预, 如果你希望安装solaris操作系统的时候,系统不会问你一大堆问题而耽误你的时间,或者你想在系统塌掉以后,在很短的时间内做出一个全新的操作系统,或者只去敲入一条命令,所有的安装过程不再需要人为的干预,或者在你为经常的手动升级系统感到厌烦的话,那么就来跟着我一起配置一台jumpstart server吧,它能让你从繁重的安装或者升级的工作中解脱出来,而且还可以很灵活的安排安装和升级任务,它可以根据不同的情况,不同的机器,选择不同的安装或升级脚本。
  
  1,原理
  jumpstart方式安装需要下面四种服务
  Boot services
  Identification services
  Configuration services
  Installation services
  
  以上四项服务可以分别由不同的机器来完成,要注意的是Boot server一定要和client在一个子网里,其他的倒不一定,一般情况下我习惯将他们做到同一个机器里。
  
  Boot services为客户端提供启动服务,能够提供客户端的ip地址,hostname等启动参数,服务器要想提供boot services,下面的文件和目录必须要正确配置:
  /etc/ethers
  /etc/inet/hosts
  /tftpboot(目录)
  /etc/inet/inetd.conf
  /etc/bootparams
  /etc/dfs/dfstab
  除了hosts和ethers文件外,其他的文件和目录可以由add_install_client工具来生成,该工具存在于solaris安装光盘的第一张光盘里。
  hosts和ethers文件存储有客户端的主机名,MAC地址,ip地址,可以响应RARP查询,提供客户端的主机名和ip地址。
  /tftpboot目录下面存储有对应于特定机型的启动文件,使用tftp协议传送给客户端,因此服务器要起tftp服务,所以inetd.conf里面的tftp服务前面的注释要去掉。
  添加/tftpboot目录及下面的内容,以及修改inetd.conf文件都可以由add_install_client工具来完成。
  bootparams文件指定client所需要的Root文件系统,以及安装所需要的config目录,install目录所在服务器的正确位置,以便正确mount到自己的本地。dfstab文件指定服务器要把那些目录给share出去,以便让client端mount到自己的本地使用,否则client是无法mount上去的,这要求服务器端要开nfs服务。
  修改bootparams和dfstab文件也都可以有add_install_client工具来完成。
  
  Identification Services响应client发出的identification查询请求,这些identification信息包括:网络信息,安全策略,nameserver,timezone,terminal type,时间取得方式,还有root的密码等,也就是当你手动安装时,需要回答的问题。可以以文件的形式提供,也可以使用NIS或NIS+服务提供,我习惯以
  文件sysidcfg的形式。以文件形式提供时,要确保该文件所在目录已经share出去,保证client能够mount上。
  我的sysidcfg文件如下:
  #cat sysidcfg
  network_interface=primary
  {protocol_ipv6=no
  netmask=255.255.255.0
  default_route=192.168.1.1}
  security_policy=none
  name_service=NONE
  timezone=Asia/Shanghai
  system_locale=en_US
  terminal=vt100
  timeserver=localhost
  root_password=W8Dhz34xImLI.
  
  有关sysidcfg文件的关键字,以及取值请参考sun的文档:
  http://docs.sun.com/app/docs/doc/806-5205/6je7vd5ra?a=view#indexterm-75
  
  Configuration Services提供的信息包括:安装类型(初始化安装还是升级安装),系统类型(standalone,server),硬盘分区,文件系统,软件安装类型(Core,End Use,Developer,Entire Distribution,Entire Distribution plus OEM)以及不同的客户端采用的不同的安装配置脚本等。有rules文件和profiles文件决定。rules文件决定客户端的类型,决定客户端适用于那个安装配置文件。profiles文件是真正安装配置文件,决定系统如何安装,安装那些东西。rules文件就一个,而profiles文件由多个,由rules文件决定使用哪一个配置文件。
  
  Installation Services最好理解,提供安装操作系统所需要的程序包,只需将光盘里的内容copy到硬盘里就行了。
  
  2,具体步骤
  步骤大概解释如下:
  我的两台solaris机器,hostname分别为sun1和sun2,用sun2做jumpstart服务器,sun1做client。
  在安装服务器的solaris操作系统(sun2)上新建一目录,我的是/jumpstart目录,下面建目录solaris9,以区别于其他solaris版本的jumpstart安装目录,在solaris9下面建两个目录install和config,也就是说两个目录分别是:
  /jumpstart/solaris9/install
  /jumpstart/solaris9/config
  config目录用来存储sysidcfg文件,rules文件,profiles文件
  install目录用来保存操作系统光盘复制过来的操作系统安装程序。
  配置客户端启动需要的参数文件。最后将install和config两个目录share出去
  
  详细步骤如下:
  
  生成install server:
  将光盘上的文件copy到硬盘上的/jumpstart/solaris9/install目录。
  如果vold daemon没有起来,需要手动mount光驱,如果起来,就不需要,插入光驱就能用,vold是一个能够自动mount光驱和软驱的后台进程。
  
  插入第一张光盘
  #mkdir -m 755 /jumpstart/solaris9/install
  #cd /cdrom/cdrom0/s0/Solaris_9/Tools
  #./setup_install_server /jumpstart/solaris9/install
  #cd /
  #eject cdrom
  插入第二张光盘
  #cd /cdrom/cdrom0/Solaris_9/Tools
  #./add_to_install_server /jumpstart/solaris9/install
  #cd /
  #eject cdrom
  插入Lang光盘
  #cd /cdrom/cdrom0/Tools
  #./add_to_install_server /jumpstart/solaris9/install
  #cd /
  #eject
  
  生成identification server:
  我用的是文件方式,即sysidcfg文件,将sysidcfg保存到/jumpstart/solaris9/config目录下,定义的都是手动安装时需要输入的信息,可以避免再次手动输入,如果这里定义的信息不全,安装的时候还是会提示的。
  
  #mkdir -m 755 /jumpstart/solaris9/config
  #cd /jumpstart/solaris9/config
  #vi sysidcfg
  network_interface=primary
  {protocol_ipv6=no
  netmask=255.255.255.0
  default_route=192.168.1.1}
  security_policy=none
  name_service=NONE
  timezone=Asia/Shanghai
  system_locale=en_US
  terminal=vt100
  timeserver=localhost
  root_password=W8Dhz00xImLI.
  
  root密码是从/etc/shadow中粘贴过来的。根据实际情况填写。
  有关sysidcfg文件的更多内容请参考sun的文档:
  http://docs.sun.com/app/docs/doc/806-5205/6je7vd5ra?a=view#indexterm-75
  
  生成configuration server:
  编辑rules文件和profiles文件,这里的profiles文件名一定要用rules文件里定义的名字
  #cd /jumpstart/solaris9/config
  
  #vi rules
  hostname sun1 - profiles1 -
  
  意思是:如果client的hostname是sun1,那么采用profiles1安装脚本。这里采用的是用hostname来区分不同client,如果有多个机器,每个机器占一行,可以使用不同的安装脚本。当然,如果机器非常多,也可以按机器类型,或者组别来分类。profiles1前后的两个-(dash),分别表示安装前后要执行的脚本。这里为空,用-(dash)表示。前面的执行脚本,一般配置安装前的环境变量,后面的脚本一般配置安装后对某些服务要做的修改。
  rules文件的更详细的信息,请参考sun文档:
  http://docs.sun.com/app/docs/doc/806-5205/6je7vd5tg?a=view
  http://docs.sun.com/app/docs/doc/806-5205/6je7vd5v2?a=view
  
  #vi profiles1
  install_type initial_install
  system_type standalone
  partitioning explicit
  filesys c0t2d0s0 1024 swap
  filesys c0t2d0s1 free /
  cluster SUNWCall
  locale en_US
  locale en_CA
  locale ja_JP
  locale zh_CN
  locale zh_HK
  locale zh_TW
  
  意思是:执行初始化安装,将硬盘的1G空间分给swap,剩下的给/,执行的软件安装类型是:Entire Distribution,安装的语言包:英文,日语,中文。
  profiles的更详细的说明,请参考:
  http://docs.sun.com/app/docs/doc/806-5205/6je7vd5v3?a=view
  
  rules和profiles文件配置完成后要用一个名为check的脚本来检验一下是否正确,如果错误,会提示那个地方出错,是什么错误,然后修改,直至不再有错误提示。
  #cd /jumpstart/solaris9/install/Solaris_9/Misc/JumpStart_sample
  #cp check /jumpstart/solaris9/config
  #cd /jumpstart/solaris9/config
  #./check
  
  如果check完成后正确无误,会生成一个rules.ok文件,client在安装的时候读取的是rules.ok文件,而不是rules文件。
  
  
  生成boot server:
  #vi /etc/hosts
  127.0.0.1 localhost
  192.168.1.239 sun2 loghost
  192.168.1.238 sun1 sun1.vst-china.com
  
  #vi /etc/ethers
  0:3:BA:35:7E:2C sun1
  
  此两个文件的作用是:当客户端起来发起RARP查询和whoami查询的时候,服务器会根据发起RARP查询的MAC地址,查询ethers文件和hosts文件的记录返回给客户端hostname和ip地址,所以ethers文件要有client端的MAC地址对应的hostname,即sun1,hosts文件要有sun1对应的ip地址。
  
  #cd /jumpstart/solaris9/install/Solaris_9/Tools
  #./add_install_client /
  -s sun2:/jumpstart/solaris9/install /
  -c sun2:/jumpstart/solaris9/config /
  -p sun2:/jumpstart/solaris9/config /
  sun1 sun4u
  
  add_install_client工具生成/tftpboot目录以及下面的文件。修改inetd.conf文件,生成bootparams文件,以及dfstab文件。
  -s指定安装目录
  -c指定sysidcfg目录
  -p指定config目录
  sun1是client的名字
  sun4u是client的机器类型,具体是sun4u还是sun4m或者是其他的型号可以用下面命令查询:
  #uname -m
  add_install_client工具的详细说明请参考sun文档:
  http://docs.sun.com/app/docs/doc/806-5205/6je7vd5s5?a=view
  
  确保dfstab的内容正确
  #vi /etc/dfs/dfstab
  share -F nfs -o ro,anon=0 /jumpstart/solaris9/install
  share -F nfs -o ro,anon=0 /jumpstart/solaris9/config
  
  执行命令:
  #shareall
  #share
  
  shareall命令可以将dfstab中指定的目录share出去,share命令可以查看share的状态。
  
  3,执行client端安装
  在sun1机器上,在ok状态执行:
  ok> boot net - install
  然后就可以回家吃饭了,回来后,就可以看到一个全新的操作系统已经做好了。

图片内容