建站服务器

服务端给工作站批量安装系统

通过PXE(预启动执行环境,通过网卡启动,网卡必须支持PXE技术)技术,支持工作站从远程服务器下载镜像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行。

要使用kickstart安装平台,完整的架构为kickstart+DHCP+NFS+TFTP+PXE

yum install -y dhcp* tftp*

tftp是一个非独立启动的进程,要依赖其他软件,依赖/etc/init.d/xinted,这个xinet是专门管理非独立启动服务的

配置TFTP

修改/etc/xinetd.d/tftp把disable改成no

文件里的server_args  = -s /var/lib/tftpboot是文件存放目录

/etc/init.d/xinetd start

把/var/lib/tftpboot链接到根目录下

ln -s /var/lib/tftpboot /

cd /tftpboot/

服务端配PXE

要找到pxelinux.0这个文件

yum install -y syslinux syslinux-devel

cp /usr/share/syslinux/pxelinux.0 /tftpboot/

挂载光盘,光盘拷贝到/data下

mkdir -p /data/centosinstall/

mount /dev/cdrom /data/centosinstall/ 

cp -a /mnt/* /data/centosinstall/ 

下面这两个文件开机会查找

cp /data/centosinstall/p_w_picpaths/pxeboot/vmlinuz /tftpboot/

cp /data/centosinstall/p_w_picpaths/pxeboot/initrd.img /tftpboot/

配置一个引导菜单

mkdir /tftpboot/pxelinux.cfg

拷贝菜单引导文件

cp /data/centosinstall/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

vim /tftpboot/pxelinux.cfg/default 写入

######

default linux

prompt 1

timeout 10

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

######

label linux

kernel vmlinuz

append ks=nfs:192.168.1.106:/data/centosinstall/ks.cfg  ksdevice=eth0 initrd=initrd.img

######

label text

kernel vmlinuz

append initrd=initrd.img text

label ks

kernel vmlinuz

append ks initrd=initrd.img

label local

localboot 1

label memtest86

kernel memtest

append –

第二部分加载内核的意思

ks=nfs这句话的意思是加载完内核后要去找远程共享的这个文件;ksdevice指定哪个网卡启动来安装系统;

第一部分F1到F5可以不要,因为上面和下面都是Linux,开机直接就自动加载内核了。

用NFS共享这个镜像

echo /data/centosinstall/    *(ro,sync,insecure,no_root_squash) >>/etc/exports 

/etc/init.d/nfs restart

TFTP配置完毕,由于是TFTP是非独立服务,需要依赖xinetd服务来启动,启动命令为:

chkconfig    tftp  –level 35 on  && service  xinetd  restart 

然后在/data/centosinstall/下创建ks.cfg,这个文件配的装什么系统,怎么分区,装哪些软件,或者把/root/anaconda-ks.cfg cp成ks.cfg,这个是本机安装系统时的步骤,这个文件要用老师的

touch /data/centosinstall/ks.cfg

cat > /data/centosinstall/ks.cfg <<EOF

# Kickstart file automatically generated by anaconda.

install #开始安装

text #以文本方式安装

nfs –server=192.168.1.106 –dir=/data/centosinstall #改成本机

key –skip #跳过密钥

lang zh_CN.UTF-8

keyboard us

network –device eth0 –bootproto=dhcp –noipv6

rootpw 123456

firewall –disabled

authconfig –enableshadow –enablemd5

selinux –disabled

timezone Asia/Shanghai

bootloader –location=mbr –driveorder=sda –append=rhgb quiet #这条语句很重要,告诉系统以mbr方式引导,安装到sda硬盘上,

clearpart –all –initlabel #初始化所有,磁盘分区

#########分区,非常重要

part /boot –fstype ext3 –size=200

part swap –size=2014

part / –fstype ext3 –size=80000

part /data –fstype ext3 –size=200 –grow

##########磁盘300G,根分区给30G,剩下全部给data

reboot

%packages #要装哪些软件包,@加包是安装一个组件,不加@就是直接装软件

@base

@core

@chinese-support

cmake

libselinux-python

在真实环境中,通常我们会发现一台服务器好几块硬盘,做完raid,整个硬盘有等10T,如果来使用kickstart自动安装并分区呢;一般服务器硬盘超过2T,如何来使用kickstart安装配置呢?这里就不能使用MBR方式来分区,需要采用GPT格式来引导并分区。

需要在ks.cfg末尾添加如下命令来实现需求:

%pre
parted  -s  /dev/sdb  mklabel  gpt
%end

为了实现kickstart安装完系统后,自动初始化系统等等工作,我们可以在系统安装完后,自动执行定制的脚本,需要在ks.cfg末尾加入如下配置:

%post

mount  -t  nfs 192.168.0.79:/centos/init   /mnt

cd  /mnt/ ;/bin/sh  auto_init.sh

chmod 777 /data/centosinstall/ks.cfg

DHCP

vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

next-server 192.168.1.106;  #这里写nfs服务器的IP

filename pxelinux.0; #默认查找这个文件

allow booting;

allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {

# — default gateway

option routers          192.168.1.1;

option subnet-mask      255.255.255.0;

range dynamic-bootp 192.168.1.150 192.168.1.170;

host ns {

hardware ethernet  00:1a:a0:2b:38:81;

fixed-address 192.168.1.101;}

}

一定要跟本机配在一个网段

/etc/init.d/xinetd restart

/etc/init.d/dhcpd restart

/etc/init.d/nfs restart

service iptables stop

setenforce 0

客户端

启动时进入BIOS

RAID

(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。

RAID0:读写性能强,没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID1:磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。

RAID5:奇偶校验码存在于所有磁盘上 ,RAID5的读出效率很高,写入效率一般 ,磁盘容量为n-1/n(最低需要三块硬盘),最多允许坏一块硬盘。

RAID10:以理解为是RAID 0和RAID 1的折中方案,升级版。RAID 0+1可以为系统提供数据安全保障,但保障程度要比 Mirror低而磁盘空间利用率要比Mirror高。至少要4块盘。数据库做raid10

kickstart+TFTP+PXE+NFS+DHCP批量安装系统,raid-风君雪科技博客