系统安装前言:
单机装系统时曾经使用过的anaconda程序。提供一些图形化的选择界面并且进行选择配置。之后形成anaconda-ks.cfg配置文件存放在管理员家目录下。这种是比较原始的交互式安装。缺点是必须保持有人值守。下面就是达到多主机无人值守同步安装的逐步渐进解说。大家知道,linux中对程序的控制靠的就是对该程序的控制脚本中的一些参数的修改。可以直接手工编辑*.cfg (后缀名无意义,仅用于标识文件用途。名字是随意起的.后缀名尽量保留。便于记忆。)文件或使用工具软件system-config-kickstart(需要使用yum另行安装)生成一.cfg 结尾标识的配置文件。我默认存放在/root/目录下。
安装过程可以简化为以下几步:
1.引导
2. anaconda 寻找并读取配置文件
3.读取系统光盘文件并进行安装。
经过以上三步就可以完成新系统的安装。
解说如下:
1.此次安装我使用的ftp,dhcp,tftp,yum等服务器始终在一台机器上。所以后面需要已经安装过的服务器时,就一笔带过。只提出一些需要修改或不同的地方。
2.我使用的是redhat 5.4软件。服务器主机处于hostonly状态。相应的新装的虚拟机就必须处于vmnet1(hostonly 区域)。
3.配置过程中使用的挂载目录只用新建一次即可。换光盘镜像前需要先进行光盘卸载。然后再换光盘进行挂载。否者可能会出现挂载不上的现象。这时我的处理方式是重新启动。重启后注意检查服务ftp,dhcp,等服务的状态!
4.如果安装进行不下去。请检查ftp服务器是否开启。dhcp 服务器是否开启。
5.安装进行一段时间后。在使用新的安装方式重新安装系统前务必检查安装目录。确保将安装目录下的历史文件清除干净。否则会导致安装出错。
一.告诉系统anaconda 配置文件的位置有三种方式(以下均为系统启动时手动所要选择的。也可以将类似形式的信息放置在相关文件中,如后文用到的isolinux.cfg配置文件)
1. boot: linux ks=ftp://192.168.10.10/pub/ks.cfg(使用ftp服务器上的配置文件)
2. boot : linux ks=hd:device:目录(比如 ks=hd:sda1:/ks.cfg)
ks=cdrom:目录 (cdrom:/ks.cfg 将配置文件加载到引导的iso文件中)
3. boot : linux ks= (dhcp,next-server[kickstart文件] 存放的服务器,filename 文件名称和路径)
以上三种方式为不同的装机方式。主要是引导方式不同。第三种是最适用于多个主机同时装机。例如机房装机等。
二.启动引导 (安装的实际过程从引导开始)
1. 系统光盘 该光盘可以用于引导也可以直接进行安装(只需在安装界面boot:直接回车即可)
2. 引导光盘 在镜像文件(位于/dev/cdrom/p_w_picpath/下的boot.iso
将该文件烧录到光盘中就可以制作成引导光盘。
3. U盘引导 与boot.iso同一目录下的名为diskboot.img
4.pxe 网络自动引导 网络中的dhcp服务向待安装主机提供ip地址。并告知该主机的所要查找的服务器的名称,此处指向tftp服务器的根目录/tftpboot/自动运行pxe相关程序。
*注1 使用系统光盘引导。如下图
*注2 使用引导光盘 在系统光盘中。在windows环境中使用rar压缩工具可以将系统光盘中的p_w_picpath目录下的boot.iso解压出来。这个就可以直接用来挂载。用于引导安装。如图:
三.配置文件的产生
1.配置yum本地服务器 在 /etc/yum.repos.d/目录下的server.repo 修改后的内容如下:
[rhel-server]
name=Red Hat Enterprise Linux server
baseurl=file:///mnt/cdrom/Server
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[rhel-vt]
name=Red Hat Enterprise vt
baseurl=file:///mnt/cdrom/VT
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[rhel-cluster]
name=Red Hat Enterprise Linux Cluster
baseurl=file:///mnt/cdrom/Cluster
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
[rhel-clusterstorage]
name=Red Hat Enterprise Linux clusterstorage
baseurl=file:///mnt/cdrom/ClusterStorage
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
这样就可以安装软件了
2.安装system-config-kickstart.noarch 软件包。并产生配置文件。安装前要进行系统光盘的挂载。如下:
新建挂载点 mkdir /mnt/cdrom
挂载iso文件 mount /dev/cdrom /mnt/cdrom/
查看挂载情况 mount
补充:使用umount /mnt/cdrom/ 进行卸载 之后就可以进行挂载了。
yum install system-config-kickstart.noarch 回车
之后进行一些常规的选择。配置出来的ks.cfg文件内容如下:
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5 //MD5加密密码,并将放在shadow文件内
# System bootloader configuration
bootloader --append="quiet" --location=mbr //添加的参数为“quiet”,安装到mbr上
# Clear the Master Boot Record
Zerombr //清除原有的mbr
# Partition clearing information
clearpart --all --initlabel //清除原有的所有分区并且初始化卷标
# Use text mode install
Text //文本安装
# Firewall configuration
firewall –disabled //防火墙处于关闭状态
# Run the Setup Agent on first boot
firstboot –disable //第一次启动不需要设置代理
# System keyboard
keyboard us //键盘类型
# System language
lang en_US //系统语言
# Installation logging level
logging --level=info //日志级别为info级别(很低的级别)
# Use network installation
url --url=ftp://192.168.10.10/pub //url 表示基于网络的安装 网络服务器的地址
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on //网络参数的获取形式是dhcp动态获得
# Reboot after installation
Reboot //安装完成后重新
#Root password
rootpw --iscrypted $1$bFsVdjNG$4iEJI2cWWxyrtwLQaZIJi //管理员密码 MD5加密
# SELinux configuration
selinux –permissive //警告级别
# System timezone
timezone Asia/Shanghai //时区为亚洲上海
# Install OS instead of upgrade
Install //表明这是一个全新的安装
# X Window System configuration information
xconfig --defaultdesktop=GNOME --depth=16 --resolution=800x600 //图形 默认桌面是GNOME 色深 16位 屏幕分辨率 800 乘 600
# Disk partitioning information
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=100 //分区的每个字节对应的节点数是4096 文件类型为ext3 大小为100M
part / --bytes-per-inode=4096 --fstype="ext3" --size=10000 //分区的每个字节对应的节点数是4096 文件类型为ext3 大小为10000M
part swap --bytes-per-inode=4096 --fstype="swap" --size=1024 //分区的每个字节对应的节点数是4096 文件类型为swap 大小为1024M
%packages //组的安装
@gnome-desktop
@development-tools
@system-tools
@admin-tools
@web-server
@graphical-internet
@dns-server
@text-internet
@editors
将生成的配置文件以ks.cfg保存在系统的默认目录(/root/)下。
四.ftp服务器的安装与配置
1.使用yum安装 yum install vsftpd
安装完成后软件会在/etc/ftp/目录下产生 pub目录
2.挂载光盘并将光盘的内容拷贝到ftp服务器中的pub目录下
mkdir /mnt/cdrom/ //新建挂载点
mount /dev/cdrom /mnt/cdrom //此处挂载的是系统盘
cp -a /mnt/cdrom/. /var/ftp/pub //将系统光盘中的所有文件拷贝到ftp服务器下的pub目录。在ks.cfg配置文件中有这个路径的记录。
这样一个可为整个网络提供安装源文件的ftp服务器就搭建完毕。
启动 ftp服务 service vsftpd start
将ftp服务添加到开机自动启动 chkconfig vsftpd on
五.dhcp服务器的搭建与配置
1.使用rpm 安装dhcp服务器
rpm -ivh /mnt/cdrom/Server/dhcp-3.0.0-21.e15.i386.rpm
2.编辑脚本
vim /etc/dhcpd.conf
修改后的关键内容摘录如下:
5 subnet 192.168.10.0 netmask 255.255.255.0 {
8 option routers 192.168.10.1;
9 option subnet-mask 255.255.255.0;
11 option nis-domain "lywh.com";
12 option domain-name "lywh.com";
13 option domain-name-servers 222.88.88.88;
24 range dynamic-bootp 192.168.10.11 192.168.10.20;
32 }
3. 重新启动dhcp服务器。
service dhcpd start //启动dhcp服务器
chkconfig dhcpd on //设置开机自动启动
六.简单的安装(简单交互安装)
1.第一种(ks.cfg在ftp服务器上的安装)
(1. 配置为VMnet1 (hostonly)并且为源文件引导(因为是做实验,用这个引导较方便)如图:
(2. 拷贝文件 cp /root/ks.cfg /var/ftp/pub //将配置文件复制到ftp服务器。
因为我的dhcp服务器与ftp服务器处于同一主机上。所以要保证待安装的虚拟机与主机保持在同一区域即可。区域的划分其实是为了解决无线互联及虚拟广播域的划分。安装流程部分截图如下:
获取ip地址等参数信息
找到配置文件并且开始安装
正在进行包文件的安装
2.第二种安装 (将ks.cfg 文件放到引导光盘中)挂载引导光盘(boot.iso)
(1.制作新引导光盘的镜像文件
mkdir /tmp/iso //新建文件目录
cd /mnt/cdrom //此处挂载的是引导光盘(boot.iso)
cp -a –r * /tmp/iso/
cp /root/ks.cfg /tmp/iso/
然后切换到iso目录的父目录。即/tmp/目录下利用如下命令将目录文件打包成新的iso镜像文件。括号及括号中的内容在正式命令行中不存在,仅为说明。
mkisofs -o myboot.iso (生成的iso目标文件名称) –b(boot引导) isolinux/isolinux.bin (引导文件的路径) -c isolinux/boot.cat(显示boot.msg内容的程序) -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T iso/
(2.使用第三方工具将新产生的光盘镜像传送到物理机中,用于挂载。
在安装的过程中和第一种安装不同的地方是
3.第三种安装(这种安装是相对于第二种安装的改进型。省去了安装之初需要指定配置文件路径的麻烦。此过程挂载的是修改过isolinux.cfg文件后重新生成的引导光盘 myboot.iso)
(1. 修改/tmp/iso/isolinux/目录下的isolinux.cfg的内容为:
default linux 修改为 default linux ks=cdrom:/ks.cfg
timeout 600 修改为 timeout 10 //这里的单位是“s”
(2. 先删除第一次的镜像文件。与第二种相同的打包代码进行打包。切换到/tmp/目录下。
mkisofs -o myboot.iso (生成的iso目标文件名称) –b(boot引导) isolinux/isolinux.bin (引导文件的路径) -c isolinux/boot.cat(显示boot.msg内容的程序) -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T iso/
再将打包后的软件包转移至物理机中进行挂载。安装过程不需要再手动指定配置文件的位置及文件名称。10秒钟之后自动进行跳转。
以上三种虽然只进行几步操作。但是仍需要在每个机器上装引导光盘或U盘,进行引导。依旧不是非常方便。
所以就有了一下这种安装方式解决全过程无人值守安装。安装速度取决于网络带宽。
七.pxe 网络无人值守全自动安装
1.需要安装ftp,dhcp服务器。
(1. ftp服务器已经安装配置过了。步骤参考第四条。
dhcp服务器已经安装配置过了。步骤参考第五条。
(2. dhcp的配置文件dhcp.conf修改一下(在/etc/目录下)在13行后添加如下内容。用于指定tftp的服务器ip。开始pxe安装。
14 next-server 192.168.10.10;
15 filename "pxelinux.0";
2. 安装tftp服务器。tftp是基于udp传输协议的服务,且他是依赖于超级守护的进程(xinetd.d)
(1. 安装tftp服务器
Yum install tftp* -y
(2. 修改文件信息
vim /etc/xinetd.d/tftp
将 disable = yes 修改为 disable = no //允许当超级守护进程接到发送给tftp的请求时。开启tftp进程。
(3. 启动tftp 服务
Service xinetd restart //重启超级守护进程
(4. 配置tftp的根文件目录
Cd /tftpboot/ //tftp服务的根目录
拷贝pxe所需要的文件。pxe 驱动,内核文件,其他驱动等。
cp /mnt/cdrom/p_w_picpaths/pxeboot/vmlinuz ./ //内核文件
cp /usr/lib/syslinux/pxelinux.0 ./ //pxe启动的驱动模块
cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img ./ 服务所需的额外驱动
mkdir -p pxelinux.cfg/ //新建目录
cp /mnt/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
vim /pxelinux.cfg/default //修改第十二行 “append
ks=ftp://192.168.10.10/pub/ks.cfg ksdevice=eth0 initrd=initrd.img //指明配置文件的位置
3.修改system-config-start配置文件在/var/ftp/pub/ks.cfg
cd /var/ftp/pub/
vim ks.cfg
在第一行的位置添加如下代码
Key --skip
在是分区完成后面添加如下代码。这段代码是为了给每一台主机分配不同的主机名。防止相互之间冲突。如下
%post --interpreter=/bin/bash
ADDRESS=‘ifconfig eth0|grep "inet addr"|awk '{print $2}'‘ //提取赋值
NUM=${ADDRESS##*.} //截取赋值
echo $NUM //输出显示
sed -i "s/^HOSTNAME.*$/HOSTNAME=mail$NUM.lywh.com/"
/etc/sysconfig/network //查找替换
至此就大功告成了!部分流程如下图:
寻找网络中的dhcp服务器
获得ip并读取default系统配置文件
加载...
包安装前的准备工作
包安装正常进行
就这样安装就可以一步一步完成。
注意:1.服务处于开启状态(ftp , dhcp ,tftp )
2.光盘是否已经挂载
3.是否与服务器在同一区域等