kvm使用kickstart文件自动安装系统

假定kvm已经准备好

1、创建磁盘

qemu-img    create    -f qcow2     /kvm/os/vm-01.qcow2  16G

2、上传或下载安装镜像

mkdir  -p /kvm/iso

cd  /kvm/iso

上传事先下载好的镜像文件到/kvm/iso/目录下,或在线下载

wget  -O  /kvm/iso/CentOS-7-x86_64-Minimal-1804.iso   https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
3、创建kickstart配置文件

生成密码加密字符串, 即虚拟机的root用户密码 : 
grub-crypt --sha-512                #centos 6.x
python -c ‘import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())‘              #centos 7.x
perl -e ‘print crypt("1234abcdefg",q($1$password)),"\n"‘                                                        #centos 7.x

vi    /root/ ks.cfg

# install
install
# password
rootpw  --iscrypted $6$yz7YWSt2MmouUuTu$cjz1eZf9lhMke2Ply8P5Jngrwxh5lb8zwmC124JlXdOnSvrKZaD2/IWdVgahFfNIykbYCBnzCqbbVwjZH59YA.
authconfig --enableshadow --passalgo=sha512
firewall --service=ssh
text
firstboot --disable
keyboard us
lang en_US.UTF-8
selinux --disabled
timezone Aisa/Shanghai
# 配置网络
network --onboot yes --device eth0 --bootproto static --ip 10.0.91.82 --netmask 255.255.255.0 --gateway=10.0.91.1 --nameserver=1.1.1.1,8.8.8.8 --hostname test.com --noipv6如果局域网内有dhcp服务器,也可自动获取网络配置#network  --bootproto=dhcp --device=eth0 --onboot=on --ipv6=auto
# 指定引导分区
zerombr
bootloader --location=mbr --driveorder=vda
# 清除硬盘分区
clearpart --drives=vda --all --initlabel

part /boot --fstype="xfs" --ondisk=vda --size=500
  part / --fstype="xfs" --ondisk=vda --grow --size=1
  part swap --fstype="swap" --ondisk=vda --recommende

reboot
%packages
@base

注意:

1)、由于安装源直接在virt-install 命令中指定,因此ks文件中没有安装源配置项

2)、由于安装的是虚拟机,而kvm中中qemu-img创建的磁盘,在kvm中默认识别为vda、vdb...之类的磁盘,因此ks文件中,不能再像安装物理机一样指定为sda、sdb之类的磁盘

4、开始安装, 使用text console

virt-install \
--name=vm-03 \
--disk path=/kvm/os/vm-03.qcow2,device=disk,bus=virtio,perms=rw,cache=writethrough \
--graphics none \
--vcpus sockets=2,cores=2,threads=2 \
--ram=16000 \
--location=/kvm/iso/CentOS-7-x86_64-DVD-1804.iso \
--network bridge=br0 \
--os-type=linux \
--os-variant=rhel7 \
--initrd-inject=/kvm/iso/ks.cfg \
--extra-args="ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"

如果局域网中配置了nfs或ftp或http服务,可直接从这些服务上拉取镜像文件

下面以http为例:

yum install httpd -y

mkdir /var/www/html/os

systemctl  start  httpd &&  systemctl  enable  httpd  && systemctl  status  httpd

mount  /dev/sr0  /var /var/www/html/os

在浏览器中访问http://IP/os

可看到镜像已经中文件已经可访问

执行下述指令进行安装:

virt-install \
--name=vm-05 \
--disk path=/kvm/os/vm-05.qcow2,device=disk,bus=virtio,perms=rw,cache=writethrough \
--graphics none \
--vcpus sockets=2,cores=2,threads=2 \
--ram=16000 \
--location="http://10.0.91.10/os" \
--network bridge=br0 \
--os-type=linux \
--os-variant=rhel7 \
--initrd-inject=/kvm/iso/ks.cfg \
--extra-args="ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"

等待安装完成,安装完成后,会提示登录界面:

注意:使用ks安装时,也可通过--graphics 选项指定vnc选项,如果指定vnc选项,安装界面可通过vnsviewer查看,但是当前终端不会显示安装过程

指令如下:

virt-install \
--name=vm-05 \
--disk path=/kvm/os/vm-05.qcow2,device=disk,bus=virtio,perms=rw,cache=writethrough \
--graphics vnc,listen=0.0.0.0,port=5934 \
--vcpus sockets=2,cores=2,threads=2 \
--ram=16000 \
--location="http://10.0.91.10/os" \
--network bridge=br0 \
--os-type=linux \
--os-variant=rhel7 \
--initrd-inject=/kvm/iso/ks.cfg \
--extra-args="ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"

原文地址:https://www.cnblogs.com/liliyang/p/9682238.html

时间: 2024-08-24 08:28:37

kvm使用kickstart文件自动安装系统的相关文章

通过ks.cfg文件自动安装系统

最近需要制作自动安装系统的iso镜像文件,写个笔记以防忘记第一步.拿到iso原始文件,我用的是rhel7.7的把rhel7.7文件复制出来到一个目录中第二步.编写一个名字叫ks.cfg文件内容如下:#version=DEVEL Install OS instead of upgrade install Keyboard layouts keyboard 'us' Root password rootpw --iscrypted $1$S9tWSvP1$Vyl.b9AEONgjTh08Acdfb.

Nginx DHCP TFTP Kickstart搭建自动安装系统

之前使用Cobbler搭建自动安装系统,最近Cobbler网站http://www.cobblerd.org/无法访问,执行命令cobbler get-loaders下载获取PXE启动需要的文件时报404,即使下载成功,所有文件都为0字节,导致服务器安装系统自动获取到IP地址后卡住.不得已自己想办法解决,重新用Nginx DHCP TFTP Kickstart搭建了一套自动安装系统.Nginx安装和配置都挺简单,代替了Cobbler中使用的Apache. 虚拟环境 网段:192.168.200.

PXE+Kickstart无人值守自动安装系统

安装系统的方式 1.光盘安装2.U盘安装3.网络安装.......都不够方便快捷. Redhat系主要有两种Kickstart和Cobbler. Kickstart是一种无人值守的安装方式.它的工作原理是在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件.如果在自动安装过程中出现要填写参数的情况,安装程序首先会去查找ks.cfg文件,如果找到合适的参数,就采用所找到的参数:如果没有找到合适的参数,便会弹出对话框让安装者手工填写.所以,如果ks.cfg文件涵盖了安装过程中所有

CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

通过ks文件 实现 CentOS 6 自动安装系统 环境: VMware 14.0 Pro版 光盘镜像: CentOS-6.9-x86_64-minimal.iso ks文件生成器: kickstart 偶然接触一个kickstart, 通过马哥的网络直播上学到的自动安装系统, 先看一下原理: CentOS在VMware安装流程: 新建虚拟机 --> 挂载光盘镜像 --> 开始安装 --> 配置(包括地区, 语言, 时区, 键盘类型, root密码等等) --> 完成安装 --&g

西部开源学习笔记BOOK2《自动安装系统》

############################# #####  unit1自动安装系统 ##### ############################# ################################### #### Network Install(HTTP,FTP,NFS) #### ################################### #######1.kickstart脚本###### kickstart脚本是自动应答系统在安装过程中一切

自动安装系统及网络安装服务

{unit自动安装系统} [1.kickstart脚本] kickstart脚本是自动应答系统在安装过程中一切问题的脚本文件 这个文件可以实现系统的自动安装 在系统安装完毕后会在系统的root家目录中生成 anaconda-ks.cfg这个文件就是以此系统为模板生成的kickstart脚本 [2.kickstart脚本的制作] 手动编写kickstart的脚本的难度很大 系统中system-config-kickstart工具可以以图形的方式制作kickstart (以下操作在虚拟机中) yum

linux基础学习(十二) linux自动安装系统

##自动安装系统 ### kickstart脚本 kickstart脚本是自动应答系统在安装过程中一切问题的脚本文件 这个文件可以实现系统的自动安装 在系统安装完毕后会在系统的root家目录中生成 anaconda-ks.cfg 这个文件就是以此系统为模版生成的kickstart脚本 ###kickstart脚本的制作 系统中安装system-config-kickstart工具即可以以图形的方式制作kickstart yum install system-config-kickstart -y

第二本书第一单元*自动安装系统*

*******unit1.自动安装系统***** ********1.kickstart脚本**** kickstart脚本是自动应答系统在安装过程中一切问题的脚本问题 这个文件可以实现系统的自动安装 在系统安装完毕后会在系统的root家目录中生成 anaconda-ks.cfg这个文件就是以此系统为模板生成的kickstart脚本 ********2.kickstart脚本的制作*** 手动编写kickstart的难度很大 系统中systemc-config-kickstart工具可以以图形的

linux笔记 2-1 自动安装系统

********1.自动安装系统******* ## 1. kickstart脚本 ##kickstart脚本是自动应答系统在安装过程中一切问题这个文件可以实现系统的自动安装在系统安装完毕后会在系统的root家目录中生成anaconda-ks.cfg 这个文件就是以此系统为模板生成的kickstart脚本 ## 2.kickstart 脚本的制作 ##   在虚拟机中手动编写kickstart的难度很大系统中 systm-config-kickstart工具可以以图形的方式制作kickstart