kvm部署与使用
本次系统环境,戴尔R330,Centos7.6
[root@kvm-188 shell]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core) [root@kvm-188 shell]# uname -r3.10.0-957.el7.x86_64 [root@kvm-188 shell]# getenforce Enforcing [root@kvm-188 shell]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)6月 14 16:56:18 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...6月 14 16:56:19 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.6月 14 17:00:25 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...6月 14 17:00:26 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon. [root@kvm-188 shell]# hostname -I192.168.122.1 10.17.9.188
安装kvm
安装依赖包
yum install libvirt* virt-* qemu-kvm* -y
安装软件说明内容:
libvirt # 虚拟机管理virt # 虚拟机安装克隆qemu-kvm # 管理虚拟机磁盘
启动服务
[root@kvm ~]# systemctl start libvirtd.service[root@kvm ~]# systemctl status libvirtd.servic
安装VNC软件,连接kvm虚拟机,安装系统使用:
下载vnc软件方法,tightvnc官网:
创建虚拟机
[root@kvm-188 shell]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name dev01_201 --memory 16384 --vcpus 4 --disk /data/dev01_201.raw,format=raw,size=500 --cdrom /data/CentOS-7-x86_64-DVD-1810.iso --network network=default --graphics vnc,listen=0.0.0.0,port=5901 --noautoconsole开始安装......正在分配 'dev01_201.raw' | 500 GB 00:00:00 域安装仍在进行。您可以重新连接到控制台以便完成安装进程。
参数说明:
--name 虚拟机名字--memory 虚拟机内存大小--vcpus cpu个数--disk 磁盘文件--cdrom 镜像文件--graphics vnc,listen=0.0.0.0,port=5901 启动监听地址和端口,vns连接使用
在启动的同时使用vnc连接,进入系统安装
KVM虚拟机管理操作
virsh命令常用参数总结
基础操作:list 查看虚拟机列表,列出域 list --all 查看所有start 启动虚拟机 shutdown 关闭虚拟机配置管理操作:dumpxml 导出主机配置信息undefine 删除主机define 导入主机配置domrename 对虚拟机进行重命名 开机自启动管理autostart 虚拟机开机启动autostart --disable 取消虚拟机开机启动
KVM虚拟机配置文件位置
[root@kvm ~]# ll /etc/libvirt/qemu/centos7.xml
修改KVM虚拟机配置的方法
[root@kvm ~]# virsh edit centos7
CentOS 7.X 版本console登录
在KVM(虚拟机)下开机启动并启动服务
systemctl enable serial-getty@ttyS0.service
systemctl start serial-getty@ttyS0.service
在宿主机访问
virsh console centos7 ## CentOS7是虚拟机名称
提示:进去之后回车多次即可通过账号密码登录,退出执行Ctrl+]
kvm虚拟机网络管理
1. 桥接网卡,宿主机执行:
[root@kvm-188 ~]# virsh iface-bridge em1 br0使用附加设备 br0 生成桥接 eth0 失败已启动桥接接口 br0
执行成功后,查看网卡配置:
[root@kvm-188 shell]# cat /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1ONBOOT=yesBRIDGE="br0"[root@kvm-188 shell]# cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE="br0"ONBOOT="yes"TYPE="Bridge"BOOTPROTO="none"IPADDR="10.17.9.188"NETMASK="255.255.255.0"GATEWAY="10.17.9.254"IPV6INIT="yes"IPV6_AUTOCONF="yes"DHCPV6C="no"STP="on"DELAY="0"
2. 修改虚拟机网络配置
[root@kvm-188 ~]# virsh edit centos7(虚拟机名字)修改前:修改后:
3. 虚拟机中执行:
修改kvm虚拟机网卡配置文件和宿主机网关一样
TYPE=EthernetBOOTPROTO=staticNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=IP地址NETMASK=子网掩码GATEWAY=网关DNS1=dns服务器
4. 修改完后重启虚拟机
virsh shutdown centos7 关机virsh start centos7 启动
克隆虚拟机
1. 查看虚拟机状态,必须是关闭状态(克隆db01_202)
[root@kvm-123 ~]# virsh list --all Id 名称 状态---------------------------------------------------- 1 dev01_201 running - db01_202 关闭
2. 开始克隆,执行virsh-clone命令
[root@kvm-123 ~]# virt-clone --original db01_202 --name db01_203 --file /data/db01_203.rawWARNING 设置图形设备端口为自动端口,以避免相互冲突。正在分配 'db01_203.raw' | 200 GB 00:04:40 成功克隆 'db01_203'。 --name 新克隆虚拟机的名字 --file 新克隆虚拟机的磁盘文件
3. 启动虚拟机,修改IP
[root@kvm-123 ~]# virsh start db01_203 域 db01_203 已开始[root@kvm-123 ~]# virsh console db01_203连接到域 db01_203换码符为 ^] # 会卡在这里,按回车登陆