直接进入正题,此次安装服务器数目过多,时间要求紧,同时DVD光盘有限,所以考虑使用网络方式的安装。
由于已经安装过,所以现在是回忆思路,同时看看配置文件,同时也知道有前辈已经做过教程,我也是将自己的经验分享一下。
首先说说此次安装需求:
所有服务器配置相同,硬盘配置相同,都是2*300G,使用RAID卡配置RAID 1
所以最后的结果就是每个服务器都是使用了300G的空间,所以我在虚拟机中划分的硬盘大小为300G。
然后根据如下情况进行分区:
/ 20G
swap 32G
/u01 所有剩余
由于害怕以后的扩展,所以将/u01划分了LVM。
同时所有的包全部安装,这种情况对于redhat 5以上的版本,是个压力,大约需要点击10分钟。
配置结束,按照此种情况开始安装虚拟机。
安装这个虚拟机之后,首先需要来到安装之后的/root目录下面。查找一个文件anaconda-ks.cfg
一定会有的,这个文件就是记录了所有的安装信息,可以使用写字板或者一些文字软件打开看一下里面具体内容,或者直接在系统中使用cat anaconda-ks.cfg 查看
当查看之后,建议将此文件备份一下,因为之后需要更改此文件
步骤一:配置DHCP服务器,由于开始安装的服务器是全包进行安装,所以这里直接配置dhcp服务器的配置文件即可。如下:
[root@localhost vsftpd]# cat /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1; //网关配置
option subnet-mask 255.255.255.0; //子网掩码设置
filename "pxelinux.0"; //启动文件名称,这里这样就可以,不建议写绝对路径
next-server 192.168.0.128; //指定tftp服务器位置
# option nis-domain "domain.org";
# option domain-name "domain.org";
option domain-name-servers 192.168.0.128;
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.131 192.168.0.254; //设定DHCP分配IP段
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
}
如上代码所示:黄色标注部分需要根据实际情况进行修改。
如上面所示,根据这里的情况,接下来就需要配置tftp服务器。
首先建立目录/tftpboot
[root@localhost vsftpd]# mkdir /tftpboot
接下里建立/tftpboot/pxelinux.cfg目录
[root@localhost tftpboot]# mkdir pxelinux.cfg
建立好之后是如下情况
[root@localhost /]# ls /tftpboot/ -al
total 9844
drwxr-xr-x 4 root root 4096 Dec 20 13:45 .
drwxr-xr-x 28 root root 4096 Dec 21 12:48 ..
drwxr-xr-x 2 root root 4096 Dec 21 12:20 pxelinux.cfg
接下来,先将/ur/lib/syslinux/pxelinux.0文件拷贝至/tftpboot目录下
[root@localhost /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
这里解决了在dhcpd配置文件中配置的pxelinux.0,可是又是如何找到pxelinux.0文件的呢?这里使用的是tftp协议,既然使用了tftp,那么就需要配置tftp
步骤二:配置tftp
使用vi编辑/etc/inietd.d/tftp文件
[root@localhost /]# vi /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 = -u nobody -s /tftpboot //这里-s指定了tftp的根目录为/tftpboot目录
disable = no //特别要注意的是这里,属性一定要改为no
per_source = 11
cps = 100 2
flags = IPv4
}
编辑之后保存退出
虽然找到了pxelinux.0,但是它是按照什么来进行启动的呢?
这里可以看一下从网络启动的过程pxelinux.0启动的时候,会有一定的寻找步骤
是按照如下进行寻找:
C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default
注:可能有些人与这个不一样,因为前面的 C0A80016 是根据客户端的IP地址的16进制转化过来。
当寻找的时候,会在/pxelinux.cfg目录下逐步寻找上面所列文件
那么就需要配置/tftpboot/pxelinux.cfg/default
可能很多人安装之后不存在这个文件,别着急,可以直接手动创建该文件
[root@localhost /]# touch /tftpboot/pxelinux.cfg/default
然后vi编辑该文件
[root@localhost /]# vi /tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 1 //此处设置的是1秒,也就是说在boot提示符出现之后1秒,自动使用默认方式启动
#display boot.msg //默认应该就是注释
label linux
kernel vmlinuz //这里是设置内核,既然已经涉及到,那么记下来就需要拷贝内核文件了
append ks= ftp://192.168.0.128/ks.cfg initrd=initrd.img //设置ks文件的位置。
label text
kernel vmlinuz
append initrd=initrd.img text
编辑结束之后,保存。这里已经涉及到了内核,那么我们就需要将内核等文件拷贝出来,需要拷贝如下文件:
vmlinuz
boot.msg
initrd.img
上面三个文件在Linux系统安装光盘中即可找到:
该文件存在于Linux安装光盘的isolinux目录下。将上诉三个文件拷贝至/tftpboot目录下
目前tftpboot目录下文件情况为:
[root@localhost /]# ls /tftpboot/
boot.msg initrd.img pxelinux.0 pxelinux.cfg vmlinuz
现在已经寻找到ks.cfg文件,也就是应答文件,所以我们接下来就要配置该文件
步骤三:配置ks.cfg
很多人都说没有这个文件,那么还记得在开始安装了系统之后拷贝出来的那个文件了吗?
也就是在/root目录下面的anaconda-ks.cfg,我们只需要将这个文件重命名,然后更改一些配置即可
下面查看在 /tftpboot/pxelinux.cfg/default文件中配置
[root@localhost /]# cat /tftpboot/pxelinux.cfg/default
default linux
prompt 1
timeout 1
#display boot.msg
label linux
kernel vmlinuz
append ks= ftp://192.168.0.128/ks.cfg initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
可以看到,我们配置的ks.cfg,是放在了ftp的根目录下面
所以我们需要拷贝anaconda-ks.cfg至ftp根目录,即/var/ftp目录下,并命名为ks.cfg
[root@localhost /]# cp /root/anaconda-ks.cfg /var/ftp/ks.cfg
下面开始编辑ks.cfg
[root@localhost /]# vi /var/ftp/ks.cfg
# Kickstart file automatically generated by anaconda.
install
#cdrom //cdrom启动,而我们需要使用网络启动,在前面加#注释
nfs --server 192.168.13.130 --dir=/linuxos/install //nfs方式安装,配置安装目录
#url --url= ftp://192.168.0.128/pub //ftp方式,根据情况选择
key --skip
lang en_US.UTF-8
keyboard us
xconfig --startxonboot
network --device eth0 --bootproto dhcp
reboot //reboot参数的作用是能够让安装程序结束之后自动重启
rootpw --iscrypted $1$mmTMN.q5$TRdTvYcf/8FXfkgBsM72r1
firewall --disable //配置防火墙
authconfig --enableshadow --enablemd5
selinux --disabled // 配置selinux
timezone Asia/Chongqing
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux --initlabel --drives=sda //配置分区
part / --fstype ext3 --size=20480
part swap --size=32768
part pv.9 --size=100 --grow
volgroup VolGroup00 --pesize=32768 pv.9
logvol /u01 --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=253920
%packages
@admin-tools
@authoring-and-publishing
@base
@chinese-support
@core
@dns-server
@development-libs
@development-tools
@dialup
@editors
@engineering-and-scientific
@ftp-server
@gnome-desktop
@gnome-software-development
@games
@graphical-internet
@graphics
@java
@java-development
@kde-desktop
@kde-software-development
@legacy-network-server
@legacy-software-development
@legacy-software-support
@mail-server
@mysql
@network-server
@news-server
@office
@openfabrics-enterprise-distribution
@sql-server
@printing
@ruby
@server-cfg
@sound-and-video
@system-tools
@text-internet
@web-server
@smb-server
@x-software-development
@base-x
system-config-kickstart
tunctl
tetex-xdvi
keyutils
openCryptoki
libhbaapi
brltty
dmraid-events-logwatch
libhbalinux
aide
.......
.......
....... //在@packages下面列出的包名过多,正常省略号这里显示的都是包名
编辑了ks.cfg之后,保存退出。
上面提到了是使用nfs方式安装,那么这里放置的是什么?当然是redhat的镜像文件了。
步骤四:配置nfs服务器
根据上面配置
nfs --server 192.168.13.130 --dir=/linuxos/install
那么我们需要手动创建目录/linuxos/install
[root@localhost /]# mkdir /linuxos/install
接下来,将安装光盘挂载在install上
[root@localhost install]# mount /dev/cdrom /linuxos/install
mount: block device /dev/cdrom is write-protected, mounting read-only
根据上面的提示,可以看到挂载已经成功。下面我们就需要配置nfs配置文件,来设置权限
[root@localhost install]# vi /etc/exports
/linuxos/install * (ro) 设置/linuxos/install 所有人具有可读可执行
编辑之后保存退出。
现在我们回忆上面的所有步骤,是不是已经成功?
接下来,就验证奇迹吧!
不过还是需要做一项工作,那么就是重新启动各项服务:
[root@localhost install]# service dhcpd restart
[root@localhost install]# service vsftpd restart
[root@localhost install]# service nfs restart
[root@localhost install]# service xientd restart
OK,已经配置结束,接下来我们就开始见证奇迹吧!
将客户机开机启动,配置为从网络启动