linux7 kickstart,kickstart 部署 RHEL7

为什么要用kickstart?

使用kickstart可以在工作中快速的部署系统,并且根据需求自定义软件包的安装,提高效率。

配置kickstart需要什么?

client装系统所需的东西都要由kickstart-server提供,所以需在kickstart-server上配置dhcp(提供ip,prefix,dns等)。为了让client看到安装界面,所以client需要有引导程序文件--pxelinux.0(加载内核),还有两个内核文件:vmlinuz,initrd,为了获取这三个文件,kickstart-server上需配置tftp-server服务。还需要在kickstart-server上配置ftp(http,https,nfs也可以),以提供给client必要的软件包。DNS有时候也是必要的。装系统时,有必须交互的地方(设置root密码,如何分区,时区选择等),这里需要生成一个应答文件来自动选择。

下面开始配置kickstart!!!

安装dhcp服务:

yum install -y dhcp

编辑dhcp服务配置文件:

cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

新装的dhcp服务配置文件是空的,可以拷贝模板中的内容到配置文件,模板可以用rpm -ql dhcp |grep example查看

vim /etc/dhcp/dhcpd.conf

只留下subnet这一部分

subnet 192.198.30.0 netmask 255.255.255.0 {    ##这里指定你网卡的网段和子网掩码

range 192.168.30.110 192.168.30.120;    ##指定客户端分配的地址池

option domain-name-servers 192.168.30.100;    ##指定客户端的dns地址

option domain-name “example.com”;    ##指定主机名

option routers 192.168.30.100;    ##指定网关

option broadcast-adderss 192.168.30.255 ;   ##广播地址

default-lease-time 600;

max-lease-time 7200;

filename "/pxelinux.0";    ##从tftp的主目录获取pelinux.0文件

next-server 192.168.30.100;    ##tftp服务器的地址

}

启动dhcp服务:

systemctl start dhcpd

安装并启动tftp服务:

yum install -y tftp-server

vim /etc/xinetd.d/tftp    ##编辑这个文件才能启动

将其中的disable后的no改为yes

systemctl restart xinetd    ##tftp是在超级守护进程下的服务

netstat -antlp |grep 69    ##默认端口69

获取pxelinux.0,vmlinuz,initrd文件:

yum install -y syslinux -y     ##获取pxelinux.0必要的包

rpm -ql syslinux |grep pxelinux.0

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot    ##将目标文件拷贝到tftp的主目录

vmlinuz,initrd这两个文件在光盘中可以找到,这里默认将光盘已经挂载在/iso

cd /iso/images/pxeboot

cp vmlinuz initrd.img /var/lib/tftpboot    ##将目标文件拷贝到tftp的主目录

cd /var/lib/tftpboot

mkdir pxelinux.cfg    ##目录名必须是他,作为tftp的配置文件

cp /iso/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default    ##名字是固定的

chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

cp /iso/isolinux/boot.msg /var/lib/tftpboot/    ##自定义启动的文件,可以改也可以不改

chmod u+w /var/lib/tftpboot/boot.msg

安装并启动ftp服务:

yum install -y vsftpd

systemctl start vsftpd

cd /var/ftp

mkdir iso

cp /iso/* /var/ftp/iso    ##最好这样,也可以将光盘挂载过来,但这样当client多的时候速度慢

DNS配置(可选项):

yum install -y bind.x86_64 bind-dyndb-ldap.x86_64 bind-libs.i686

vim /etc/named.conf    ##配置文件

全局替换:%s/127.0.0.1/any/g

%s/localhost/any/g

在最后添加两个区块

zone "example.com" IN {

type master;

file "aa.zone";

};

zone "30.168.192.in-addr.arpa" IN {    ##反向区域

type master;

file "bb.zone";

};

cd /var/named

cp  -a named.localhost aa.zone

vim aa.zone

$TTL 1D

$GENERATE    110-120    system$        A    192.168.30.$

@            IN SOA server.example.com. root (

11    ;    serial

1D    ;    refresh

1H    ;    retry

1W    ;    expire

3H  )  ;    minimum

NS    server.example.com.

server        A    192.168.30.100

cp -a aa.zone bb.zone    ##编辑反向区域

vim bb.zone

$TTL 1D

$GENERATE    110-120    $        PTR    system$.example.com.

@            IN SOA server.example.com. root (

11    ;    serial

1D    ;    refresh

1H    ;    retry

1W    ;    expire

3H  )  ;    minimum

NS    server.example.com.

100          PTR   server.example.com.

注意, /var/named所有文件组都为named

rndc-confgen -r /dev/urandom -a

vim /etc/resolv.conf

nameserver 127.0.0.1    ##加这一行

systemctl start named

host -l example.com    ##通过这个命令可以查看预设置的所有主机名

host ip    ##通过这个命令可以查看对应ip反向解析是否正确

应答文件配置:

yum install -y system-config-kickstart    ##必要的软件包

system-config-kickstart    ##启动kickstart图形化配置界面,根据自己的需求自行配置

注意:在安装方法中,选择“ftp”(上面我安装的是ftp),ftp服务器地址:192.168.30.100,ftp目录:/iso(这里的/表  示/var/ftp),在引导装载程序选项(第三个)中勾选“安装引导装载程序”。分区信息中主引导记录选择“清除”(裸机无所谓,重装系统的机器建议清除),分区选择“删除现有分区”,磁盘标签选择“初始化磁盘标签”,在添加中添加磁盘分区信息。写完之后点击“文件“保存即可。

如果没有图形界面,可以用以上方法先导出一个这样的文件即可。

可以在anaconda.cfg中有%package那一段是装包的,将这一段复制到ks.cfg中%post上,以%end结束,可以在其中增加删除一些包。

共享应答文件:

cp ks.cfg /var/ftp

vim /var/lib/tftpboot/pxelinux.cfg/default

编辑label linux这个部分的append条目,改为如下:

append initrd=initrd.img inst.ks=ftp://192.168.10.100/ks.cfg quiet

ksvalidator /var/ftp/ks.cfg    ##检测ks.cfg是否正确,正确则无输出。

最后注意的:

防火墙,selinux最好关闭,否则可能会失败!!

安装测试:

设置通过网络引导即可。

在ks.cfg中添加逻辑卷的内容:

在ks.cfg中分区部分:part下边开始添加:

part pv.01 --size=5000    ##创建5G的物理卷

volgroup vg0  pv.01    ##创建名为vg0的卷组

logvol /home --vgname=vg0 --size=1000 --name=lv0    ##在vg0上创建名为lv0,大小1G的逻辑卷,挂载在/home下

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值