KVM笔记
KVM
#grep (vmx|svm) /proc/cpuinfo
Inter处理器的虚拟技术标志为vmx
AMD处理器的虚拟技术标志为svm
安装KVM以及相关的依赖软件包
KVM安装
#yum -y install qemu-kvm libvirt virt-install bridge-utils
或者
#yum -y groupinstall "Virtualization Host"
#systemctl start libvirtd
#systemctl enable libvirtd
配置ipv4转发功能
#echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-ipforward.conf
让转发生效
#sysctl -p /etc/sysctl.d/99-ipforward.conf
配置网卡信息方法如下
1.编辑文件配置信息
#vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
DEVICE='eno16777736'
ONBOOT=yes
HWADD='网卡MAC地址'
BRIDGE=virbr0
#vim /etc/sysconfig/network-script/ifcfg-br0
DEVICE='br0'
TYPE=BRIDGE
ONBOOT=yes
BOOTPROTO=static
IPADDR="192.168.2.136"
NETMASK="255.255.255.0"
GATEWAY="192.168.2.254"
DNS1="61.128.128.68"
2.命令配置网卡
#nmcli c add type bridge autoconnect yes con-name br0 ifname br0
#nmcli c modify br0 ipv4.address 192.168.2.250/24 ip4.method manual
#nmcli c modify br0 ipv4.gateway 192.168.2.254
#nmcli c modify br0 ipv4.dns 61.128.128.68
#nmcli c delete eno16777736
#nmcli c add type bridge-slave autoconnect yes con-name eno16777736 ifname eno16777736 master br0
#systemctl restart NetworkManager
确认br0启动
#ip a show br0
typ
配置完成后需要生效,请reboot,然后检查kvm模块是否被加载
#lsmod | grep kvm
#ip a show virbr0 检测网卡是否启用成功
#virsh -c qemu:///system list 获取虚拟机列表
#virt-manager #配置虚拟机参数
命令行安装虚拟机
#virt–install —connect qemu:///system -n rhel7 -r 2048 —vcpus=4 —disk path=/var/lib/libvirt/images/vmwin7.img,size=10 —graphics vnc,listen=0.0.0.0 —noautoconsole —os–type linux —os–variant rhel7 —accelerate —network=bridge:virbr0 —hvm –cdrom /tmp/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
virt-install -n rhel7 -r 1024 --vcpus=1 --os-type=linux --accelerate -c /opt/CentOS-7.0-1406-x86_64-Everything.iso --disk path=/var/lib/libvirt/images/rhel.img,format=qcow2 --network bridge=br0 --vnc --vncport=5992 --vnclisten=0.0.0.0 --force --autostart
创建虚拟机
#mkdir -p /var/kvm/images 创建存储位置
#virt-install --name Centos7 --ram 4096 --disk path=/var/kvm/images/centos7.img,size=30 --vcpus 2 --os-type linux --os-variant rhel7 --network bridge=br0 --graphics none --console pty,target_type=serial --location /opt/Centos-7-X86_64.iso --extra-args 'console=ttyS0,115200n8 serial'
virt–install命令参数的含义:
参数 作用
--connect qemu:///system 在本地系统连接KVM。
-n rhel7 定义虚拟机的名称。
-r 2048 定义内存量。
--vcpus=4 定义CPU的核数。
--disk path=/var/lib/libvirt/images/vmwin7.img,size=10 定义虚拟机的硬盘数据保存的位置与最大容量。
--graphics vnc,listen=0.0.0.0 通过vnc可以显示虚拟机的终端。
--noautoconsole 不自动的连接虚拟机的终端。
--os-type linux --os-variant rhel7 在KVM中定义系统的类型。
--network=bridge:virbr0 设置网络为桥接模式。
--hvm 定义虚拟机为全虚拟化。
--cdrom /tmp/RHEL-server-7.0-x86_64-LinuxProbe.Com.iso 光盘镜像的位置
virsh 基础命令
启动虚拟机 virsh start centos7
virsh start centos7 --console 命令行启动
显示当前虚拟机列表与状态:
# virsh list --all
停止指定的虚拟机:
# virsh destroy rhel7
启动指定的虚拟机:
# virsh start rhel7
解决virsh console 无法连接到虚拟机的问题
1.修改/boot/grub2/grub.cnf
在内核启动位置末端 添加 console=ttyS0
关闭虚拟机 virsh shutdown centos7
virsh destroy centos7 强制关机
开机自动启动及关机虚拟机
virsh autostart centos7
virsh autostart --disable centos7
查看虚拟机 virsh list
virsh list --all
虚拟机与物理机切换 # Ctrl + ] key
virsh console centos7
查看帮助
virsh --help
虚拟机管理工具及查看工具
#yum -y install libguestfs-tools virt-top
查看虚拟机的某个目录
virt-ls -l -d centos7.0 /root
virt-cat -d centos7.0 /etc/passwd
virt-edit -d centos7.0 /etc/fstab
挂载虚拟机磁盘或文件
guestmount -d centos7.0 -i /media
virt-top 查看虚拟机top