【自动化运维】从#手动到#远程到#批量安装虚拟机《二》
更新:HHH   时间:2023-1-7


0x02 virt-install + kickstart  实现脚本化无人执守安装虚拟机


virt-install  由python编写的一个脚本。 (在redhat 企业版中 它是 virt-install.noarch 这个包)可以实现 脚本自动化安装。 

一、virt-install 命令安装的简单例子

#!/bin/bash 

virt-install   \
 --name  test   \   安装虚拟机名
 --ram 1024   \     分配内存大小
 --location http://172.25.254.70/public/red7.0   \   安装源
 --file /var/lib/libvirt/p_w_picpaths/tes.img   \   硬盘位置
 --file-size 8  
\   文件大小 G

##这样就可以实现本地脚本安装。。


#建立 vnc 连接 就可以实现 远程 安装

 --vncport=7000 \                ###开启vnc端口
 --vnc \                    ###开启vnc
  --vnclisten=172.25.254.1            ###端口开启的ip


最后  vncviewer  172.25.254.1:7000   链接虚拟机图形


          但是这样还是不能实现   无人执守    安装 虚拟机。。因此就必须借助于   kickstart。。



    kickstart  能够 完成 安装过程中 所有需要 手动添加设置的参数,运行kickstart 最终会生成一个 ks.cfg的文件

  


最终 virt-install + kickstart shell 脚本  示例   

#!/bin/bash 

virt-install   \
 --name  test   \   安装虚拟机名
 --ram 1024   \     分配内存大小
 --location http://172.25.254.70/public/red7.0   \   安装源
 --file /var/lib/libvirt/p_w_picpaths/tes.img   \   硬盘位置
 --file-size 8  
\   文件大小 G

 --extra-args ks=http://172.25.254.70/ks.cfg    ks.cfg 文件位置

# --vncport=7000 \                ###开启vnc端口
# --vnc \                    ###开启vnc

# --vnclisten=172.25.254.1            ###端口开启的ip

因为可以 kickstart 实现了 无人执守  所以不用  vnc 来 完成 安装设置。。




友情提供:virt-install常用参数

    -n --name= 客户端虚拟机名称
    -r --ram= 客户端虚拟机分配的内存
    -u --uuid= 客户端UUID 默认不写时,系统会自动生成
    --vcpus= 客户端的vcpu个数
    -v --hvm 全虚拟化
    -p --paravirt 半虚拟化
    -l --location=localdir 安装源,有本地、nfs、http、ftp几种,多用于ks网络安装
    --vnc 使用vnc ,另有--vnclient=监听的IP  --vncport =VNC监听的端口
    -c --cdrom= 光驱 安装途径
    --disk= 使用不同选项作为磁盘使用安装介质
    -w NETWORK, --network=NETWORK 连接客户机到主机网络
    -s --file-size= 使用磁盘映像的大小 单位为GB
    -f --file= 作为磁盘映像使用的文件
    --cpuset=设置哪个物理CPU能够被虚拟机使用
    --os-type=OS_TYPE 针对一类操作系统优化虚拟机配置(例如:‘linux’,‘windows’)
    --os-variant=OS_VARIANT 针对特定操作系统变体(例如’rhel6’, ’winxp’,'win2k3')进一步优化虚拟机配置
    --host-device=HOSTDEV 附加一个物理主机设备到客户机。HOSTDEV是随着libvirt使用的一个节点设备名(具体设备如’virsh nodedev-list’的显示的结果)
    --accelerate KVM或KQEMU内核加速,这个选项是推荐最好加上。如果KVM和KQEMU都支持,KVM加速器优先使用。
    -x EXTRA, --extra-args=EXTRA 当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序
    --nographics "virt-install" 将默认使用--vnc选项,使用nographics指定没有控制台被分配给客户机

返回开发技术教程...