想在centos7上安装kvm,里面运行centos7,首先下载centos7的安装镜像,包括.iso、qcow2等多种,这里下载qcow2格式的。 一. 宿主机环境配置: 1. 查看CPU是否支持VT技术 cat /proc/cpuinfo | egrep ‘vmx|svm’ 如果执行指令后有类似返回,则证明CPU支持VT 2. 安装KVM组件 yum groupinstall Virtualization yum groupinstall “Virtualization Platform” 3. 检查KVM模块加载 有如上返回值则说明已经加载进去了 4. 安装工具 sudo yum install -y kvm virt-* libvirt bridge-utils qemu-img 二. 创建虚拟机 1. 下载镜像: 地址是http://cloud.centos.org/centos/7/images/ 镜像为CentOS-7-x86_64-GenericCloud-1705.qcow2 2. 创建虚拟磁盘 sudo qemu-img create -f qcow2 -o preallocation=metadata /home/zhangdi/zhangdi/vms/centos7_2.qcow2 30G 3. 修改密码 yum install -y libguestfs-tools-c (提供virt-sysprep) export LIBGUESTFS_BACKEND=direct (不执行第三步会报错) sudo virt-sysprep –root-password password:** -a CentOS-7-x86_64-GenericCloud-1705.qcow2(root用户) 4. virt-manager图形界面安装虚拟机 新建虚拟机 选择CentOS-7-x86_64-GenericCloud-1705.qcow2的存储路径 选择需要的CPU数和内存数 Add Hardware,增加storage,manage选择centos7_2.qcow2的位置 Boot Options; 选择Enable boot menu VirtIO Disk I 打勾 Apply Begin Installation 然后启动了虚拟机,用刚才改过的密码登陆。 5. ssh连接kvm 直接ssh,会出现Permission denied (publickey,gssapi-keyex,gssapi-with-mic).这样的bug。打开kvm,修改/etc/ssh/sshd_config(不是ssh_config文件!!) PermitRootLogin no修改为yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉 PasswordAuthentication no修改为yes 最后重启sshd服务即可! 别忘记关闭防火墙和SElinux! 6. 配置网络 这里采用的是NAT网络,virsh net-list检测NAT网络是否启动: ping百度发现ping不通,网络需要进行配置: ifconfig查看网卡ip,发现为192.168.122.XXX 将host上的ip_forward打开,/etc/sysctl.conf,增加net.ipv4.ip_forward=1一项,然后sysctl -p生效 增加一个iptable规则, iptables -t nat -A POSTROUTING -o enp1s0f0 -j MASQUERADE -s 192.168.0.0/16 ! -d 192.168.0.0/16 iptables -t nat -L -nv查看NAT表: 新增iptable规则成功 检查一下DNS服务器设置,KVM中为192.168.122.1,host上为8.8.8.8 重新ping百度,成功ping通! 若想在虚拟机中有多张网卡,直接为虚拟机add hardware nic,网卡驱动设置为e1000,virtio等均可。这样在kvm中就可以通过ifconfig -a看到新增网卡,通过增加网卡配置文件,即可启动新网卡。 (责任编辑:IT) |