【Centos7.4】

!!!测试环境我们首关闭防火墙和selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# setenforce 0

一:首先为KVM环境做准备工作

1、检查cpu是否支持虚拟化

[root@localhost ~]# cat /proc/cpuinfo | grep vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep invpcid rdseed smap clflushopt xsaveopt xsavec arat
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow vnmi ept vpid fsgsbase tsc_adjust smep invpcid rdseed smap clflushopt xsaveopt xsavec arat

如果有vmx信息输出,就说明支持虚拟化;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机;(如果用的是AMD的处理器,将后面的VMX换成SVM)

由于我是在虚拟机上测试的。只需将虚拟化引擎下面的三个选项打勾就可以了(说白了,就是在虚拟机里面再装虚拟机——简称:虚拟机中的虚拟机)

2、确保BIOS里开启虚拟化功能——查看是否加载KVM模块

[root@localhost ~]# lsmod | grep kvm
kvm_intel 170086 0
kvm 566340 1 kvm_intel
irqbypass 13503 1 kvm
  • 如果没有加载出来,运行以下命令重试
[root@localhost ~]# modprobe kvm
[root@localhost ~]# modprobe kvm-intel
[root@localhost ~]# lsmod | grep kvm
kvm_intel 170086 0
kvm 566340 1 kvm_intel
irqbypass 13503 1 kvm

3、部署桥接网络

1️⃣:在KVM里面需要用到桥接网络的管理工具:brctl ; 需要安装:bridge-utils安装包

[root@localhost ~]# yum install -y bridge-utils
[root@localhost ~]# systemctl restart networker

2️⃣:配置KVM网桥模式

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens32 ifcfg-br0
[root@localhost network-scripts]# cat ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none //改成静态
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=e916ebc7-5a6c-4711-a86b-0c2fc928c9b1
DEVICE=ens32
ONBOOT=yes
BRIDGE=br0 //添加BRIDGE
[root@localhost network-scripts]# cat ifcfg-br0
TYPE=Bridge //将Ethernet换成Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none //换成静态
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0 //NAME换成设备名称br0
DEVICE=br0 //DEVICE同样换成设备名称br0
ONBOOT=yes
IPADDR=192.168.0.123 //IP、掩码、网关、DNS根据自己的实际情况写
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
//复制过来的ifcfg-br0里面会有一个UUID这个可以注释,也可以删除;IPV6也可以注释或者删除,我只删除了UUID。

3️⃣:重启网络服务后查看网卡的配置信息:

[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.123 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::b086:e52c:8183:73c5 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b5:00:34 txqueuelen 1000 (Ethernet)
RX packets 35 bytes 2290 (2.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 39 bytes 3186 (3.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:b5:00:34 txqueuelen 1000 (Ethernet)
RX packets 23308 bytes 30757732 (29.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11549 bytes 1073445 (1.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 88 bytes 7632 (7.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 88 bytes 7632 (7.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

4️⃣:测试br0网卡是否可以访问外网:

[root@localhost network-scripts]# ping -c 3 www.baidu.com
PING www.wshifen.com (104.193.88.123) 56(84) bytes of data.
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=1 ttl=47 time=255 ms
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=2 ttl=47 time=264 ms
64 bytes from 104.193.88.123 (104.193.88.123): icmp_seq=3 ttl=45 time=320 ms --- www.wshifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms
rtt min/avg/max/mdev = 255.984/280.383/320.188/28.384 ms

二、安装libvirt及其他的KVM所需要的安装包

[root@localhost ~]# yum install –y libvirt  virt-* qemu-*
[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd
//由于包很多,这样方便,就是安装时间太长

1 libvirt                C语言工具包,提供libvirt服务
2 qemu-kvm 主要的KVM程序包
3 virt-manager GUI虚拟机管理工具
4 qemu-img 虚拟磁盘创建命令
5 virt-viewer GUI连接程序,连接到已配置好的虚拟机
6 libvirt-client 虚拟客户机提供的C语言工具包
7 virt-install 基于libvirt服务的虚拟机创建命令
8 bridge-utils 创建和管理桥接设备的工具

注释

三、安装Web界面管理工具

  • Kimchi是一个基于HTML5的KVM管理工具,是Wok的一个插件(使用Kimchi前一定要先安装了wok),通过Kimchi可以更方便的管理KVM
[root@localhost ~]# yum install -y wget
[root@localhost ~]# wget https://github.com/kimchi-project/wok/releases/download/2.5.0/wok-2.5.0-0.el7.centos.noarch.rpm
[root@localhost ~]# wget https://github.com/kimchi-project/kimchi/releases/download/2.5.0/kimchi-2.5.0-0.el7.centos.noarch.rpm
[root@localhost ~]# ls
anaconda-ks.cfg kimchi-2.5.0-0.el7.centos.noarch.rpm wok-2.5.0-0.el7.centos.noarch.rpm
[root@localhost ~]# yum install -y wok-2.5.0-0.el7.centos.noarch.rpm
[root@localhost ~]# yum install -y kimchi-2.5.0-0.el7.centos.noarch.rpm
[root@localhost ~]# systemctl start wokd
[root@localhost ~]# systemctl enable wokd
[root@localhost ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17591/nginx: master
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 4783/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1055/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1155/master
tcp 0 0 127.0.0.1:64667 0.0.0.0:* LISTEN 17601/python2
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 17591/nginx: master
tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 17591/nginx: master
tcp 0 0 127.0.0.1:8010 0.0.0.0:* LISTEN 17594/python2
tcp6 0 0 :::80 :::* LISTEN 17591/nginx: master
tcp6 0 0 :::22 :::* LISTEN 1055/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1155/master
udp 0 0 192.168.122.1:53 0.0.0.0:* 4783/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 4783/dnsmasq
udp 0 0 127.0.0.1:323 0.0.0.0:* 682/chronyd
udp6 0 0 ::1:323 :::* 682/chronyd

四、浏览器上操作

  • 地址栏输入:ip:8000(第一次可能会出现提示不是私密连接,会有安全隐患之类的提示,这个不用管,继续访问就行)

使用Wok管理kvm虚拟机的更多相关文章

  1. 管理KVM虚拟机(二)

    管理KVM虚拟机 工具:libvirt 官网:http://libvirt.org/ 介绍:Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 ...

  2. 使用 libvirt创建和管理KVM虚拟机

      1. libvirt介绍    Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等.Libvirt概括起来包括一个API库.一个 daemon(libv ...

  3. Linux 中使用 virsh 管理 KVM 虚拟机 (转)

    术语 虚拟化指的是:在相同的物理(硬件)系统上,同时运行多个操作系统,且这几个系统相互隔离的可能性,而那个硬件在虚拟化架构中被称作宿主机(host).虚拟机监视器(也被称为虚拟机管理程序(hyperv ...

  4. 使用cockpit管理kvm虚拟机

    在Centos8.2主机上部署kvm,使用cockpit管理 首先检测cpu是否支持虚拟化 [root@localhost ~]# cat /proc/cpuinfo | grep vmx flags ...

  5. 通过python-libvirt管理KVM虚拟机 代码实现

    初步代码 <span style="font-size:18px;">''''' Work with virtual machines managed by libvi ...

  6. 安装libvirt管理套件(C/S架构模式,用户管理kvm虚拟机)

    # 1:安装程序包 yum install -y libvirt virt-manager virt-viewer virt-install qemu-kvm   # 2:启动libvirtd守护进程 ...

  7. 通过python-libvirt管理KVM虚拟机 源码

    版本:0.9.13 libvirt库可真是大,先看看该版本里面都有哪些类和方法,验证过的方法我会用O开头,|开头的标示还没亲自验证过. <span style="font-size:1 ...

  8. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法: 0)KVM是什么 KVM(K ...

  9. KVM -> 虚拟机磁盘管理_03

    1.KVM磁盘管理 1.KVM qcow2.raw.vmdk等镜像格式说明:http://blog.csdn.net/zhengmx100/article/details/53887162 raw: ...

随机推荐

  1. 幻灯片放映模式切换windows terminal背景图片

    目录 幻灯片放映模式切换windows terminal背景图片 脚本功能 开发需求 使用技术 操作说明 使用示例 查看帮助 输入参数使用 脚本详情 引用参考 幻灯片放映模式切换windows ter ...

  2. 一文带你剖析LiteOS互斥锁Mutex源代码

    摘要:多任务环境下会存在多个任务访问同一公共资源的场景,而有些公共资源是非共享的临界资源,只能被独占使用.LiteOS使用互斥锁来避免这种冲突,互斥锁是一种特殊的二值性信号量,用于实现对临界资源的独占 ...

  3. 【图像处理】OpenCV+Python图像处理入门教程(七)图像形态学操作

    图像形态学主要从图像内提取分量信息,该分量信息通常对表达图像的特征具有重要意义.例如,在车牌号码识别中,能够使用形态学计算其重要特征信息,在进行识别时,只需对这些特征信息运算即可.图像形态学在目标视觉 ...

  4. 从wav到Ogg Opus 以及使用java解码OPUS

    PCM 自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码.PCM通过抽样.量化.编码三个步骤将连续变化的模拟信号转换为数字编码. 采样率 采样频率,也称为采样速度或 ...

  5. 【1.0 Regular Expressions 正则表达式】

    [概念] RegEx 正则表达式是一种特殊的字符序列,可帮助您使用专门的模板语法,来匹配对应的匹配方法或字符串组 它们可用于搜索,编辑或操纵文本和数据 正则表达式通常用于验证输入和检索信息 比如我们要 ...

  6. wap视频广告遇到的问题

    最近在做一个wap端的视频广告,耗了很多心力在上面,仍旧做不好.没想到wap浏览器对video标签这么不友好.广告需要在原编辑视频播完后插入并自动播放. ios浏览器点击播放按钮后喜欢自动全屏播放,希 ...

  7. kestrel Server的源码分析

    今天这一篇博客讲的是.net core 自带的kestrel server,当你开发微服务k8s部署在linux环境下,一般默认开启这个高性能服务,如果大家之前看过我的owin katana的博客,会 ...

  8. 数据库MySQL六

    介绍什么是JDBC JAVA SE也有 提高综合篇 JDBC(Java Database Connectivity) :java和数据库的连接技术,sun公司推出的一套java应用程序访问数据库的技术 ...

  9. JRebel激活

    邮箱随便填,URL为 https://jrebel.qekang.com/ 加上UUID,比如 https://jrebel.qekang.com/2c0c926f-5664-4d0e-afe2-60 ...

  10. kubectl create / replace 与kubectl apply 的区别

    kubectl create / replace 以ngnix 的 nginx.yaml为例: apiVersion: apps/v1 kind: Deployment metadata: name: ...