环境:宿主机RHEL7.6, iso + kickstart.cfg 拉起虚拟机
1.创建volume
# cd /var/lib/libvirt/images -> 默认给虚拟机的硬盘会放在该路径
# virsh vol-create-as default test.qcow2 8G --format qcow2
注意:这里给的大小要大于待拉起虚拟机需要的磁盘大小
2.上传iso文件、kickstart文件
kickstart文件需要注意 ==>
1)sda需要改成vda
2)由于不是物理机挂载,可以将类似以下行注释
ignoredisk --drives=disk/by-label/SOMELABEL
补充:这个LABEL对应于如下页面按Tab 修改为从kickstart img启动
vmlinuz initrd=initrd.img inst.stage2-hd:LABEL=RHEL-8-4-0-BaseOS-x86_64 inst.ks=hd:LABEL=SOMELABEL:/test-ks.cfg
3)磁盘分区的总大小在步骤1中要预留出来
3.创建虚拟机
virt-install --name=KVM-1 --ram=16384 --vcpu 4 --autostart --os-type=linux --os-variant=rhel7 --disk vol=default/test.qcow2 --location=/var/www/html/rhel-server-7.6-x86_64-dvd.iso --key=en-us -w bridge:br0 --initrd-inject=/var/ftp/ks/test-ks.cfg -x "ks=file:/test-ks.cfg ksdevice=eth0 ip=10.100.173.34 netmask=255.255.255.192 gateway=10.100.173.1"
说明:
--ram=16384 --vcpu 4 => 内存16G,CPU 4,宿主机CPU个数用命令lscpu查看
--os-variant=rhel7 => 通过命令 osinfo-query os 查看
# osinfo-query os
Short ID | Name | Version | ID
----------------------+----------------------------------------------------+----------+-----------------------------------------
alpinelinux3.5 | Alpine Linux 3.5 | 3.5 | http://alpinelinux.org/alpinelinux/3.5
……
centos7.0 | CentOS 7.0 | 7.0 | http://centos.org/centos/7.0
……
rhel7.0 | Red Hat Enterprise Linux 7.0 | 7.0 | http://redhat.com/rhel/7.0
……
--disk vol=default/test.qcow2 => 步骤1创建的qcow2
--location=/var/www/html/rhel-server-7.6-x86_64-dvd.iso => 放置iso文件的路径
--initrd-inject=/var/ftp/ks/test-ks.cfg => 放置kickstart配置文件的路径
-x "ks=file:/test-ks.cfg ksdevice=eth0 ip=10.100.173.34 netmask=255.255.255.192 gateway=10.100.173.1" => 其它参数
(说明:即使命令里也给出了网络参数,安装的过程还是会让输入,配置后环境运行正常)