自动安装虚拟机
使用 kickstart, 系统管理员可以创建一个包含安装期间所有常见问题的答案的文件,以自动安装 Red Hat Enterprise Linux Kickstart 类似于 Oracle solaris 中的 Jumpstart 或 Microsoft Windows 的无人值守安装。
system-config-kickstart是实现自动化安装部署的软件。
1.生成ks.cfg
先下载system-config-kickstart
system-config-kickstart ##调出生成ks.cfg的窗口
生成ks.cfg的步骤如下:
(1)Basic Configuration ##基础配置
Root Password和Confirm Password为root密码,必须一致。
(2)Installation Method ##安装方式
(3)Boot Loader Options ##引导加载程序选项
(4)Partition Information ##分区
(5)Network Configuration ##网络配置
(6)Authentication ##认证
(7)Firewall Configuration ##防火墙配置
(8)Display Configuration ##显示配置
(9)Package Selection ##安装包选择
(10)Pre-Installation Script ##编写脚本,安装虚拟机之前会启动脚本
(11)Post-Installation Script ##编写脚本,安装虚拟机之后会启动脚本
上述11个步骤逐项完成,点击左上角的file–>save,保存ks.cfg。
然后将ks.cfg复制到/var/www/html/
vim /var/www/html/ks.cfg
%packages ##安装包(由于system-config-kickstart的第九项无法选择安装包,在这里需要额外设置)
lftp ##安装包中添加lftp软件
@base ##表示基本插件
%end ##目的结束
ksvalidator ks.cfg ##查看ks.cfg中内容的语法,不能检查配置问题
注意:
编辑ks.cfg时可以根据需要添加内容,如:
%post
touch /mnt/file{1..10} ##安装虚拟机后新建file1,..file10。
%end
kickstart文件脚本参数分析
%end 目的结束
%packages 安装包
%pre 安装前执行脚本
%post 安装后执行脚本
url 安装源路径
repo yum 源地址
text 文本安装
vnc 安装是开启vnc
Askmethod 交互模式
clearpart 删除分区
part 分区策略
ignoredisk 跳过磁盘
bootloader 引导程序设定
volgroup lvm组设定
logvol lvm设定
zerombr 清空mbr
network 网络设定
firewall 火墙设定
lang 语言设定
keyboard 键盘设定
timezone 时区设定
auth 认证方式选择
rootpw root密码
seliux selinux设定
services 开机启动服务%packages
group 组建立
user 用户建立
logging 安装日志设定
fireboot 首次启动设定
reboot.poweroff.halt 安装完成后自动执行动作
2.脚本编辑
vim CreateVm.sh
#!/bin/bash
virt-install \
--name $1 \
--ram 1024 \
--file /var/lib/libvirt/images/$1.qcow2,bus=virtio \
--file size 8 \
--network source=br0,model=virtio \
--location http://172.25.254.66/rhel7.2 \
--extra args "ks=http://172.25.254.66/rhel7.2/ks.cfg" \
--vcpus 1 &
安装程序指向kickstart文件
ks=http://server/dir/file
ks=ftp://server/dir/file
ks=nfs:server:/dir/file
ks=hd:device:/dir/file
ks=cdrom:/dir/file
3.yum源搭建
[rhel7.0]
name=rhel7.2
baseurl http://172.25.254.66/rhel7.2
gpgcheck=0
enabled=1
4.测试
sh CreateVm.sh linux
dhcp
DHCP是Dynamic Host Configuration Protocol,动态主机配置协议,是用来在物理网络给主机分配ip地址的一种工作方式。
区别与bootp,一次分配终身使用的缺点。DHCP提出租约的概念,使得可以根据需要动态确定主机需要的IP地址,并且IP可以循环使用。
工作原理:
Client:DHCP DISCOVER ##客户端向相同网络发送广播包,寻找DHCP服务器
Server:DHCP OFFER ##如果DHCP服务段接收到DISCOVER包,则向客户端回复OFFER广播包
Client:DHCP REQUEST ##客户端受到DHCP服务器的OFFER广播包后,则确定DHCP服务器,继续向DHCP服务器发送REQUEST包,申请ip信息。
Server:DHCP ACK ##DHCP服务端向客户端发送ACK包,携带ip和租约信息给客户端,DHCP发现过程结束。
1.安装
yum install dhcp -y
2.生成配置文件
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3.修改配置文件完成配置
vim /etc/dhcp/dhcpd.conf
1 # dhcpd.conf
2 #
3 # Sample configuration file for ISC dhcpd
4 #
5
6 # option definitions common to all supported networks...
7 option domain-name "westos.com"; ##指定域名
8 option domain-name-servers 192.168.43.1;
##指定客户主机获得到的dns
9
10 default-lease-time 600; ##最短租约期
11 max-lease-time 7200; ##最长租约期
. . . . . .
27 #subnet 10.152.187.0 netmask 255.255.255.0 {
28 #}
##删除27与28行或者注释掉
29
30 # This is a very basic subnet declaration.
31
32 subnet 172.25.254.0 netmask 255.255.255.0 { ##netmask 255.255.255.0为子网掩码
33 range 172.25.254.109 172.25.254.200;
##IP地址随机从172.25.254.109与172.25.254.200之间获取
34 option routers 172.25.254.9;
35 }
##36行以后的全部删除
4.重启服务
systemctl restart dhcpd
5.测试
拔掉网线,shell窗口输入sh /mnt/CreateVm.sh node1