设为首页 收藏本站
查看: 672|回复: 0

[经验分享] kvm+pxe+kickstart自动化安装redhat7.2

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2018-5-10 09:32:13 | 显示全部楼层 |阅读模式
  准备软件:
  kvm、tftp-serverxinetddhcpkickstarthttpd
  Redhat7.2镜像
  
  前置准备yum源设置:
cat /etc/yum.repos.d/media.repo
[media]
name=”media”
baseurl=”file:///media”
enabled=1
gpgcheck=0   挂载光盘:
mount /dev/sr0 /media  

  

  各软件安装配置:
  一、kickstart安装
  
a、安装
yum install -y  system-config-kickstart   pykickstart

安装图形配合方式的管理工具 system-config-kickstart以及文本方式的管理工具pykickstart
上述的工具安装任意一个都可以,甚至用户对kickstart语法非常熟悉,不用安装上述软件,使用普通文本编辑器比如vim直接编写kickstart文件

b、编写kickstart文件
可以手动编写也可以使用system-config-kickstart图形命令设置kickstart文件。
下面使用手动编辑。
cat /var/www/html/ks.cfg
#version=RHEL7
auth --useshadow --enablemd5 --passalgo=sha512
#Use network installation
#text
url --url="http://172.25.1.11/RHEL7/"
#Firewal configuration
firewall --disable
firstboot --disable
#Keyboard layouts
keyboard --vckeymap=us --xlayouts='us','us'
#System language
lang en_US.UTF-8
#Installation loggin level
logging --level=info
#Network information
network --bootproto=dhcp
#yum repo source
repo --name="pxe-install-source" --baseurl="http://172.25.1.11/RHEL7/"
#Root password
rootpw --iscrypted $1$7b6dbb33$0w085AtBZyyE9TrVIURsL1
group  --name=student  --gid=10001
user   --name=student  --gecos="student rhce7" --groups=student --password=student --plaintext
#selinux configuration
selinux --enforcing
#system sevices
services --disabled="kdump,rhsmcertd" --enabled="network,sshd,rsyslog,chronyd"
#system timezone
timezone --utc Asia/Shanghai
#system booloader configuration
bootloader --location=mbr --boot-drive=vda
#clear the master boot record
zerombr
#partition clearing information
clearpart --all --initlabel
#disk partitioning information
#vgroup information
part pv.01 --fstype="lvmpv" --ondisk=vda --grow
part /boot --fstype="xfs" --ondisk=vda --size=500
volgroup myvg  --pesize=4096   pv.01
logvol swap --vgname=myvg --fstype=swap --size=1024 --name=swapvol
logvol / --vgname=myvg  --fstype=xfs --size=4096 --name=rootvol
logvol /usr/local/ --vgname=myvg --fstype=xfs --size=1024 --name=usrlocalvol --grow
reboot
#packages
%packages
@^Minimal Install
%end
#post scripts
%post --erroronfail
echo "hello" > /tmp/hello.txt
cat > /etc/yum.repos.d/pxe-source.repo << EOF
[pxe-source]
name="pxe-source"
baseurl="http://172.25.1.11/RHEL7/"
gpgcheck=0
enabled=0
EOF
cat > /etc/yum.repos.d/media.repo << EOF
[media]
name="media"
baseurl="file:///media/"
gpgcheck=0
enabled=0
EOF

%end编写完成后使用ksvalidator  /var/www/html/ks.cfg 来检查是否有语法错误。
  二、httpd相关
  
a、安装httpd
yum install -y httpd

b、配置httpd以及挂载镜像到指定目录
mkdir /var/www/html/RHEL7
mount /dev/sr0  /var/www/html/RHEL7

c、启动httpd
systemctl  start httpd

说明:安装系统时需要的镜像文件的传送可以使用httpftpnfs多送方式,
这里使用http方式
设置开机启动
systemctl enable httpd


  三、pxe相关
  a、安装tftp-server以及xinetd
yum  tftp-server tftp xinetd syslinux  -y  

  tftp-server提供tftp服务,将pxe需要的后置程序传输给客户端的网卡的pxe前置程序。
  xinetd用于控制tftp-server服务的启动。
  syslinux提供/usr/share/syslinux/pxelinux.0文件,用户提供pxe客户端的后置程序。
  
  b、设置tftp-serverpxe文件
cat /etc/xinetd.d/tftp
service tftp
{
socket_type= dgram
protocol= udp
wait= yes
user= root
server= /usr/sbin/in.tftpd
server_args= -s /var/lib/tftpboot
disable= no
per_source= 11
cps= 100 2
flags= IPv4
}  设置tftp为开启状态
cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/  

  将pxe的后端程序pxelinux.0复制到tftp的工作目录下
  
cp /media/isolinux/{vmlinuz,initrd.img}   /var/lib/tftpboot/  

  复制安装光盘的linux内核以及驱动文件到tftp的工作目录
mkdir /var/lib/tfpboot/pxelinux.cfg  

  创建pxelinux.cfg 的目录,用于保存pxelinux安装配置文件
cp /media/isolinux/isolinux.cfg
  /var/lib/tftpboot/pxelinux.cfg/default  

  将pxelinux的配置文件改名存放到 /var/lib/tftpboot/pxelinux.cfg/
cat  /var/lib/tftpboot/pxelinux.cfg/default
#default vesamenu.c32
default linux
timeout 600
...
...
...
label linux
  menu label ^Install the pxe redhat 00000 7.2
  kernel vmlinuz
  append initrd=initrd.img  ks=http://172.25.1.11/ks.cfg
#  append initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.2\x20Server.x86_64 quiet
...
...
...  修改pxelinux.cfg(这里是default文件)的默认内容为上述内容
  c、设置启动
systemctl start xinetd
systemctl enable xinetd

  
  四、dhcp相关
a、安装dhcp服务
yum install -y dhcp

b、配置dhcp
[root@server vms]# cat /etc/dhcp/dhcpd.conf
subnet 172.25.1.0 netmask 255.255.255.0 {
  range 172.25.1.100 172.25.1.254;
  option domain-name-servers 172.25.1.1;
  option domain-name "xiaotong.com";
  option routers 172.25.1.1;
  option broadcast-address 172.25.1.255;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 172.25.1.11;
  filename "pxelinux.0";
}上面是配置文件,下面是具体解释:

[root@server vms]# cat /etc/dhcp/dhcpd.conf
subnet 172.25.1.0 netmask 255.255.255.0 {
  range 172.25.1.100 172.25.1.254;   #客户端获取的ip地址变化范围
  option domain-name-servers 172.25.1.1;  #dns服务器的地址,这个可以没有dns服务器。
  option domain-name "xiaotong.com"; #dns服务器的域名名称,可以不指定
  option routers 172.25.1.1;  #设置客户端获取的网关地址
  option broadcast-address 172.25.1.255; #设置客户端获取的广播地址
  default-lease-time 600;  #默认租约时间
  max-lease-time 7200; #最大租约时间
  next-server 172.25.1.11;  #设置tftp-server服务器ip地址
  filename "pxelinux.0"; #设置pxe后端程序的名称。
}
c、启动服务
systemctl start dhcpd
systemctl enable dhcpd可以设置成开机启动

  五、kvm虚拟机相关
a、安装kvm
安装虚拟化环境软件
yum instal qemu-kv qemu-img libvirt virt-install virt-manager -y

安装网桥工具
yum install bridge-utils -y

其他安装(可以不安装)
yum install tigervnc tigervnc-server -y


b、配置虚拟机环境
清理掉系统自动设置的网桥等设备连接

brctl show

将多余的桥删除掉,这些桥是系统事先设置的
brctl  delbr  xxx

或者使用
nmcli connection show

查找相关多余的连接
使用如下命令删除
nmcli connection delete XXX


创建网桥
virsh iface-bridge eth0 br0


网桥创建后,配置文件为如下:
cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=none
IPADDR=172.25.1.11
NETMASK=255.255.255.0
GATEWAY=172.25.1.1
IPV6INIT=yes
IPV6_AUTOCONF=yes
DHCPV6C=no
STP=on
DELAY=0使用brctl查看系统中的桥
[root@server network-scripts]# brctl show
bridge namebridge idSTP enabledinterfaces
br08000.000c29b58280yeseth0使用nmcli查看系统的连接
[root@server network-scripts]# nmcli  connection  show
NAME         UUID                                  TYPE            DEVICE  
br0          35cbe2e2-36ad-4233-9ba8-6c0e39a8ebda  bridge          br0   
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  eth0



查看网络设备的连接关联情况:
[root@server network-scripts]# nmcli  dev status
DEVICE  TYPE      STATE      CONNECTION  
br0     bridge    connected  br0         
eth0    ethernet  connected  System eth0
lo      loopback  unmanaged  --


c、安装虚拟机

virt-install -n testrhel7    --boot hd,network  \
--disk /var/lib/libvirt/images/pxe_1.qcow2,device=disk,bus=virtio  \
--network bridge=br0,model=virtio   \
--ram 1024  \
--graphics vnc  \
--force

或者使用virt-manager 图形安装,安装中设置网络为br0

暂停虚拟机
virsh suspend DOMAIN_NAME


如果network.service 服务被禁用,使用的是NetworkManager来管理网络,那么使用如下命令创建网桥br0,网桥指向的物理接口 br0-port1(其实可以看做是之前的eth0

  nmcli  connection  add con-name  br0 type  bridge    ifname br0
  nmcli  connection  modify  br0 ipv4.addresses 172.25.1.11/24 ipv4.gateway  172.25.1.1
  nmcli  connection  modify br0  ipv4.method manual
  nmcli  connection  add con-name br0-port1 type bridge-slave  ifname eth0   master br0
  nmcli  connection  up b0-port1


这样重启服务器后,网桥会自动创建







  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-457923-1-1.html 上篇帖子: redhat编译安装postfix 下篇帖子: RedHat 7 配置本地yum源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表