KVM安装及创建

一、安装

1.1 验证开启虚拟化

root@ubuntu-node1:~# grep -E "vmx|svm" /proc/cpuinfo | wc -l
4

如果显示0代表未开启,物理机需要进bios开启,这里使用的是VMware做测试,在虚拟机设置勾选虚拟化选项开启
在这里插入图片描述

1.2 安装KVM工具包

Ubuntu 18.04:

root@ubuntu-node1:~# apt install qemu-kvm virt-manager libvirt-daemon-system -y
#验证是否支持kvm
root@ubuntu-node1:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

CentOS 7.X:

[root@localhost ~]# yum install qemu-kvm qemu-kvm-tools libvirt libvirt-client virt-manager virt-instal
[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd
#验证是否生成NAT网卡virbr0
[root@localhost ~]# ifconfig virbr0
virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:71:10:00  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.3 创建NAT网络虚拟机

KVM管理工具:

  • libvirt
    使用最多的KVM虚拟化管理工具和应用程序接口,即通过libvirt调用KVM创建虚拟机,libvirt是KVM通用的访问API,其不但能管理KVM,还能管理VMware、Xen、Hyper-V、virtualBox等虚拟化方案。

  • virsh
    是一个常用的管理KVM虚拟化的命令行工具,常用语管理运行在单个宿主机上的虚拟机,virsh是一个使用C语言编写调用libvirt API的虚拟化管理命令行工具。

  • virt-manager
    virt-manager是一个虚拟化管理图形软件,其底层也是调用libvirt API来完成对虚拟机的操作,包括虚拟机的创建、删除、启动、停止以及一些简单的监控功能等。

  • openstack
    openstack是一个开源的虚拟化编排工具,常用于构建大规模的虚拟化环境,用语管理成千上万虚拟机的创建、启动、删除等整个生命周期。

libvirt结构图:
在这里插入图片描述

1.3.1 创建磁盘
#默认保存虚拟机磁盘的路径
root@ubuntu-node1:~# cd /var/lib/libvirt/images/
#创建一个格式为raw大小为20G的磁盘
root@ubuntu-node1:~# qemu-img create -f raw /var/lib/libvirt/images/Centos7-X86_64.raw 20G

#创建一个格式为qcow2磁盘
root@ubuntu-node1:~# qemu-img create -f qcow2 /var/lib/libvirt/images/Centos7-X86_64.qcow2 20G


root@ubuntu-node1:~# ll /var/lib/libvirt/images/
-rw-r--r-- 1 root root      196928 Aug 18 16:10 Centos7-X86_64.qcow2
-rw-r--r-- 1 root root 21474836480 Aug 18 16:09 Centos7-X86_64.raw

1.3.2 创建NAT网络虚拟机
#提前上传安装镜像
root@ubuntu-node1:~# ll /usr/local/src/CentOS-7-x86_64-Minimal-2009.iso
-rw-r--r-- 1 root root 1020264448 Nov  3  2020 /usr/local/src/CentOS-7-x86_64-Minimal-2009.iso

#创建qcow2格式磁盘
root@ubuntu-node1:~# qemu-img create -f qcow2 /var/lib/libvirt/images/Centos7-X86_64.qcow2 20G


#创建默认网络虚拟机
root@ubuntu-node1:~# virt-install --virt-type kvm --name centos7 --ram 1024 --vcpus 2 --cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/Centos7-X86_64.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart

通过VNC客户端连并安装虚拟机
在这里插入图片描述

1.3.3 开始安装

在这里插入图片描述
安装完成后重启
在这里插入图片描述

root@ubuntu-node1:~# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     centos7                        shut off

#第一次需要手动开启虚拟机 
root@ubuntu-node1:~# virsh start centos7
Domain centos7 started

登入虚拟机
在这里插入图片描述

通过virt-manager管理虚拟机

root@ubuntu-node1:~# virt-manager

在这里插入图片描述

1.4 创建bridge网络虚拟机

桥接网络可以让运行在宿主机上的虚拟机使用和宿主机同网段IP,并且可以从外部直接访问到虚拟机,目前企业中大部分场景都使用桥接网络。

1.4.1 创建br0桥接网卡

Ubuntu 18.04创建桥接网卡:

root@ubuntu-node1:/var/lib/libvirt/images# cat /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      dhcp4: no
      dhcp6: no
      addresses: [10.10.100.200/24]
      gateway4: 10.10.100.2
      nameservers:
        addresses: [8.8.8.8]
      interfaces:
        - eth0

root@ubuntu-node1:/var/lib/libvirt/images# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.100.200  netmask 255.255.255.0  broadcast 10.10.100.255
        inet6 fe80::50ed:52ff:fef2:babe  prefixlen 64  scopeid 0x20<link>
        ether 52:ed:52:f2:ba:be  txqueuelen 1000  (Ethernet)
        RX packets 532  bytes 66204 (66.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 734  bytes 87184 (87.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:26:6f:96  txqueuelen 1000  (Ethernet)
        RX packets 50081  bytes 4120351 (4.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 63993  bytes 25951564 (25.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Centos 7.X创建桥接网卡

[root@node3 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=none
IPV4_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
IPADDR=10.10.100.108
NETMASK=255.255.255.0
GATEWAY=10.10.100.2
DNS1=120.80.88.88
DNS2=221.5.88.88
ONBOOT=yes
[root@node3 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0

#重启网络
[root@node3 ~]# systemctl restart network

[root@node3 ~]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.100.108  netmask 255.255.255.0  broadcast 10.10.100.255
        inet6 fe80::ace2:a4ff:fe43:9459  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:96:d5:af  txqueuelen 1000  (Ethernet)
        RX packets 539  bytes 28574 (27.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 764  bytes 75512 (73.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:96:d5:af  txqueuelen 1000  (Ethernet)
        RX packets 2757  bytes 211713 (206.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3759  bytes 373512 (364.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

1.4.2 安装虚拟机
#创建磁盘
root@ubuntu-node1:/var/lib/libvirt/images# qemu-img create -f qcow2 /var/lib/libvirt/images/Centos7-bridge.qcow2 20G

#创建虚拟机
root@ubuntu-node1:~# virt-install --virt-type kvm --name centos7-bridge --ram 1024 --vcpus 2 --cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-2009.iso --disk path=/var/lib/libvirt/images/Centos7-bridge.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --autostart

在这里插入图片描述

1.4.3 从外部ssh虚拟机
[root@node3 ~]# ssh 10.10.100.133
The authenticity of host '10.10.100.133 (10.10.100.133)' can't be established.
ECDSA key fingerprint is SHA256:TZ2tx+ZXvOlyR3A8Fkje5NbxrvPO7kfFvySa2Oh/ZNs.
ECDSA key fingerprint is MD5:cc:4e:fd:55:85:7e:eb:7d:40:7d:80:d2:d8:0b:e9:0b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.10.100.133' (ECDSA) to the list of known hosts.
root@10.10.100.133's password:
Last login: Wed Aug 18 18:19:20 2021 from 10.10.100.104
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值