安装系统时选择“带GUI的服务器”,并勾选“虚拟化客户端”,“虚拟化Hypervisor”,“虚拟化工具”。
最小化安装,安装基础组件:yum install -y epel-release vim net-tools bash-completion
配置网卡:vim /etc/sysconfig/network-scripts/ifcfg-ens32
安装所需软件:
yum groupinstall GNOME Desktop -y
yum install qemu-kvm -y #KVM核心模块
yum install qemu-kvm-tools -y #KVM调试工具,可以选择性安装
yum install qemu-img -y #允许你创建、转换和修改镜像,能处理被qemu支持的 所有镜像格式
yum install libvirt -y #管理虚拟机的工具包
yum install virt-install -y #virt-install是一个使用libvirt库构建新虚拟机的命令行工具
yum install virt-manager -y #图形界面管理虚拟机
yum install bridge-utils -y #配置linux以太网桥
查看CPU是否支持:
egrep -c '(vmx|svm)' /proc/cpuinfo #不为0就表示支持
查看KVM模块是否安装:
lsmod | grep kvm
查看libvirtd是否启动
systemctl status libvirtd #如果没启动将不能管理虚拟机
磁盘空间准备:
创建PV:pvcreate /dev/sdb
创建VG:vgcreate vmvg /dev/sdb
创建LV:lvcreate -n kvm-lv -L 10G vmvg
格式化磁盘:mkfs.ext4 /dev/vmvg/kvm-lv
创建挂载目录:mkdir /kvm-vm
挂载:mount /dev/vmvg/kvm-lv /kvm-vm/
永久挂载:vim /etc/fstab
上传系统镜像至/iso/目录(这里使用centos7.5系统镜像)
mkdir /iso
使用virt-manager图形界面创建
systemctl set-default graphical.target # 将默认模式修改为图形界面模式
systemctl set-default multi-user.target # 将默认模式修改为命令行模式
安装GNOME桌面:yum groupinstall 'GNOME Desktop' -y
切换至图形化界面:startx
运行virt-manager即可使用图形界面开始创建
使用vrit-install命令行创建
使用qemu-img命令创建一个qcow2格式的虚拟机磁盘文件:
qemu-img create -f qcow2 /kvm-vm/centos7.5.qcow2 10G
使用virt-install命令创建虚拟机:
virt-install \
--name centos7.5 \ #指定虚拟机的名字
--vcpus 1 --ram 1024 \ #指定vcpu数量和内存大小
--disk /kvm-vm/centos7.5.qcow2,format=qcow2 \ #指定虚拟磁盘及格式
--network network=default \ #指定虚拟机采用的网络为默认,默认为NAT
--graphics vnc,listen=0.0.0.0 --noautoconsole \ #指定虚拟机显示协议为VNC
--os-type=linux --os-variant=centos7.0 \ #指定操作系统类型及版本
--location=/iso/CentOS-7-x86_64-DVD-1611.iso #指定安装介质
virt-install --name centos7.5 --vcpu 1 --ram 1024 --disk /kvm-vm/centos7.5.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=centos7.0 --location=/iso/CentOS-7-x86_64-DVD-1810.iso
之后的操作需要到桌面系统,打开virt-manager进行后续安装操作
另外也可以指定应答文件安装或PXE网卡安装来自动完成安装过程:
指定应答文件:--extra-args=' ks=http://192.168.1.100/mini.txt' (mini.txt为应答文件)
PXE网卡安装:--pxe
virt-install命令参数:
通用选项:
-n NAME, --name=NAME 虚拟机名称
-r MEMORY, --ram=MEMORY 以MB为单位为客户端事件分配的内存
--vcpus=VCPUS 配置虚拟机的虚拟CPU(vcpu)数量,如:
--vcpus 5
--vcpus 5, maxcpus=10
--vcpus socket=2,cores=4,threads=2
--cpuset=CPUSET Set which physical CPUs domain can use.
--cpu=CPU CPU型号及功能,如:--cpu coreduo,+x2apic
--description=DESCRIPTION 在生成的XML中保存的可读VM描述。
--security=SECURITY 设定域安全驱动器配置。
--numatune=NUMATUNE 为域进程调整NUMA策略。
安装方法选项:
-c CDROM, --cdrom=CDROM 光驱安装介质
-l LOCATION, --location=LOCATION 安装源(例如:nfs:host:/path、http://host/path、ftp://host/path)
--pxe 使用 PXE 协议从网络引导
--import 在磁盘映像中构建客户机
--livecd 将光驱介质视为 Live CD
-x EXTRA, --extra-args=EXTRA 附加到使用--location引导的内核的参数
--os-type=DISTRO_TYPE 要安装的操作系统类型,例如:'linux'、'unix'、'windows'
--os-variant=DISTRO_VARIANT The OS variant being installed guests, e.g. 'fedora6','rhel5', 'solaris10', 'win2k' 可以通过osinfo-query os命令查询
--boot=BOOTOPTS 自选配置后安装引导顺序、菜单、永久kernel引导,等等。
存储配置:
--disk=DISKOPTS 用各种选项指定存储。例如:
--disk path=/my/existing/disk
--disk path=/my/new/disk,size=5 (in gigabytes)
--disk vol=poolname:volname,device=cdrom,bus=scsi,...
--nodisks 不要为该客户端设置任何磁盘。
--filesystem=FILESYSTEMS 将主机目录传递给虚拟机。例如:
--filesystem /my/source/dir,/dir/in/guest
--filesystem template_name,/,type=template
联网配置:
-w NETWORK, --network=NETWORK
配置客户网络接口。例如:
--network bridge=mybr0
--network network=my_libvirt_virtual_net
--network network=mynet,model=virtio,mac=00:11...
--nonetworks 不要为该客体创建网络接口。
图形配置:
--graphics=GRAPHICS
配置虚拟机显示设置。例如:
--graphics vnc
--graphics spice,port=5901,tlsport=5902
--graphics none
--graphics vnc,password=foobar,port=5910,keymap=ja
--noautoconsole 不要自动尝试连接到客户端控制台
设备选项:
--serial=SERIALS 配置虚拟机串口设备
--parallel=PARALLELS 配置虚拟机并口设备
--channel=CHANNELS 配置虚拟机沟通频道
--console=CONSOLES 配置虚拟机与主机之间的文本控制台连接
--host-device=HOSTDEVS 配置与客户相连的物理主机设备
--soundhw=SOUNDHW 配置客户声音设备仿真
--watchdog=WATCHDOG 配置虚拟机 watchdog 设备
--video=VIDEO 配置虚拟机视频硬件。
--smartcard=SMARTCARD 配置虚拟机智能卡设备。例如:
--smartcard mode=passthrough
--redirdev=REDIRDEV Configure a guest redirection device. Ex:
--redirdev usb,type=tcp,server=192.168.1.1:4000
--panic=PANIC Configure a guest panic device. Ex:
--panic default
虚拟化平台选项:
-v, --hvm 客户端应该是一个全虚拟客户端
-p, --paravirt 这个客户端是一个半虚拟客户端
--container This guest should be a container guest
--virt-type=HV_TYPE 要使用的管理程序名称(kvm、qemu、xen等等)
--arch=ARCH 模拟的 CPU 构架
--machine=MACHINE The machine type to emulate
--noapic 为全虚拟客户端禁用 APIC(在 os-type/os-variant db 中覆盖数值)
--noacpi 为全虚拟客户端禁用 ACPI(在 os-type/os-variant db 中覆盖数值)
-u UUID, --uuid=UUID 客户端 UUID。
其它选项:
--autostart 引导主机时自动启动域。
--print-xml 输出所生成域的XML,而不是定义虚拟机。
--print-step=XMLSTEP 输出具体安装步骤(1,2,3,all)的XML。
--noreboot 完成安装后不要引导虚拟机。
--wait=WAIT 要等待的时间(以分钟为单位)
--dry-run 完成安装步骤,但不要创建设备或者定义虚拟机。
--force 对任意应用程序提示强制回答‘yes’,终止其它提示
-q, --quiet 禁止无错误输出
--prompt 要求用户为模糊情况或者需要的选项输入
-d, --debug 输入故障排除信息