#yyds干货盘点#物理机上快速搭建kvm虚拟机

Posted 峰啊疯了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#物理机上快速搭建kvm虚拟机相关的知识,希望对你有一定的参考价值。

1.下载虚拟机镜像文件

自己找镜像文件(cdsn下载一般需要积分),或者联系我(我用的是centos镜像,内核版本是2015年的比较老,后续需要升级)

wget filepath //下载文件

#yyds干货盘点#物理机上快速搭建kvm虚拟机_centos

2.物理机开启虚拟化配置

grep vmx /proc/cpuinfo

如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机

lsmod | grep kvm

没有输出信息则需要加载kvm

#yyds干货盘点#物理机上快速搭建kvm虚拟机_centos_02

//卸载模块
modprobe -r kvm_intel //可以不用执行
//重新加载模块
modprobe kvm
modprobe kvm_intel //重新加载模块
lsmod | grep kvm

#yyds干货盘点#物理机上快速搭建kvm虚拟机_kvm_03

3.嵌套虚拟化(用不到请跳过)

cat /sys/module/kvm_intel/parameters/nested
Y
modprobe kvm-intel nested=1

4.更新yum仓库为阿里云

便于安装的包为最新的

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
&&
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

5.装virsh所需要的插件

yum install -y qemu-kvm qemu-kvm-tools
&&yum install -y libvirt
&&yum install -y virt-install
&&yum install -y python-urllib3
&& yum install libguestfs-tools
//libguestfs-tool是virt相关包
// 虚拟机安装日志查看
cat /var/log/libvirt/qemu/centos7_15.log
virsh list --all //报错请重启libvirtd
systemctl status libvirtd
//查看该服务状态
systemctl start libvirtd
//启动该服务
systemctl enable libvirtd
//开机自启动

6.设置虚拟机网络

brctl addbr br0
//192.168.66.254是网关,网段可以自己选择 192.168.66.0/24
ifconfig br0 192.168.66.254/24(yum install net-tools)
//访问外网 enp24s0f1是物理机网卡
iptables -t nat -A POSTROUTING -s 192.168.66.0/24 -o enp24s0f1 -j MASQUERADE
//192.168.103.50 是物理机ip,下面是远程做转发 192.168.66.1是第一台虚拟机
iptables -t nat -A PREROUTING -d 192.168.103.50 -p tcp --dport 53301 -j DNAT --to-destination 192.168.66.1:22

7.创建kvm

常用的kvm格式有raw跟qcow2

qemu-img create -f qcow2 /home/vm/vm1.qcow2 200G
virt-install \\
--virt-type kvm \\
--name vm1 \\
--vcpus 16 \\
--memory 32768 \\
--cdrom=/home/vm/CentOS-7-x86_64-Minimal-1511.iso \\
--disk path=/home/vm/vm1.qcow2 \\
--network bridge=br0 \\
--graphics vnc,listen=0.0.0.0 \\
--os-type=linux \\
--os-variant=rhel7

安装完成 

virsh list //查看虚拟机
virsh vncdisplay vm1 //查看vnc端口 vnc登录使用 VNC Server这栏填写 ip:port

#yyds干货盘点#物理机上快速搭建kvm虚拟机_centos_04

需要下载一个vnc客户端去连接vm1部署操作系统(第一次安装需要用到vnc 后面的直接用virt-clone机器)

就跟VMware安装虚拟机一样的步骤,但是速度更快,因为没有图形化界面

#yyds干货盘点#物理机上快速搭建kvm虚拟机_kvm_05

#yyds干货盘点#物理机上快速搭建kvm虚拟机_kvm_06

常用的virsh命令:

virsh list
virsh start vm1
virsh shutdown vm1
virsh edit vm1 //可以修改配置文件
virsh vncdisplay vm1
virsh undefine vm1 //删除时候用 然后rm -rf vm1.qcow2
virsh destroy vm1 //强制关闭

8.网卡配置

eth0是网卡名

vi /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.66.1
NETMASK=255.255.255.0
GATEWAY=192.168.66.254

9.内核升级

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum --enablerepo=elrepo-kernel install kernel-ml -y

vi /etc/default/grub
# 设置 GRUB_DEFAULT=0, 意思是 GRUB 初始化页面的第一个内核将作为默认内核
grub2-mkconfig -o /boot/grub2/grub.cfg

reboot //重新选择第一个为内核启动

10.克隆虚拟机

virt-clone -o vm1 -n vm2 -f /home/vm/vm2.qcow2

克隆后可以直接用ssh登录,前提是关闭克隆机,不然ip冲突

qemu-img convert -f raw -O qcow2 /home/vm/vm1.raw /home/vm/vm1.qcow2 
//两种kvm格式转换 qcow2速度快 raw存储性能好

11.可能遇到的网络问题

iptables命令参考:

iptables -t nat --line-number -nvL

iptables -t nat -D PREROUTING 1

//访问外网
iptables -t nat -A POSTROUTING -s 192.168.55.0/24 -o enp24s0f1 -j MASQUERADE

//ip route add default via 192.168.63.1

iptables -t nat -A PREROUTING -d 192.168.103.50 -p tcp --dport 53301 -j DNAT --to-destination 192.168.44.1:22
//vnc开放vnc访问端口
iptables -I INPUT -p tcp --dport 5900:5920 -j ACCEPT
//防火墙问题
iptables -I FORWARD -s 192.168.66.0/24 -j ACCEPT//dns不可用问题
iptables -I FORWARD -d 192.168.66.0/24 -j ACCEPT//本机533端口登录

以上是关于#yyds干货盘点#物理机上快速搭建kvm虚拟机的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#快速搭建k8s集群

#yyds干货盘点#kvm使用之virsh命令详解

#yyds干货盘点#--docker容器快速入门

#yyds干货盘点# Centos7安装kvm虚拟机(使用virt­install管理)

#yyds干货盘点#如何解决kvm虚拟机内部ping 不通百度

#yyds干货盘点#K8S 之网络互联通信