建站服务器
服务端给工作站批量安装系统
通过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 –level35on && 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
我买了你们一台服务器然后里面有一个站点绑定域名是我现在需要绑云服务器ecs镜像是什么如何隐藏服务器ip阿里云一个服务器价格域名续费后无效-域名及账户问题企业邮箱十大品牌域名注册在哪个网站好?如何选择域名注册网站?云服务器怎么设置存档