kwm是基于内核的虚拟机,内建于linux中的开源虚拟化技术,docker是隔离程序的容器,kvm是隔离每个用户,kvm存在与linux内核2.6.20及以上版本中,下面记载一下kvm的安装配置过程
安装kvm
cpu要支持并开启VT-x/amd-v 虚拟化
1
2
3
4
5
6
7
8
9
10
| yum groupinstall "GNOME Desktop" -y #桌面环境
yum install qemu-kvm -y #KVM模块
yum install qemu-kvm-tools -y #KVM调试工具
yum install virt-install -y #构建虚拟机的命令工具
yum install qemu-img -y #qemu组件,创建磁盘,启动虚拟机
yum install bridge-utils -y #网络支持工具
yum install libvirt -y #虚拟机管理工具
yum install virt-manager -y #图像化管理虚拟机
systemctl start libvirtd
systemctl enable libvirtd
|
配置网络
进入/etc/sysconfig/network-scripts
cp -p ifcfg-ens33 ifcfg-br0
修改ifcfg-ens33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| [root@localhost network-scripts]# cat ifcfg-ens33
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="ens33"
UUID="c0dbe0e9-1bf2-4fc4-9741-62977d68bdee"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.66.3"
PREFIX="24"
GATEWAY="192.168.66.2"
DNS1="192.168.66.2"
IPV6_PRIVACY="no"
BRIDGE=br0 #插入BRIDGE=br0
|
修改br0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| [root@localhost network-scripts]# cat ifcfg-br0
TYPE="bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
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"
DEVICE="br0"
ONBOOT="yes"
IPADDR="192.168.66.3"
PREFIX="24"
GATEWAY="192.168.66.2"
DNS1="192.168.66.2"
IPV6_PRIVACY="no"
|
重启网络服务
1
| service network restart
|
查看是否生效,原本的网卡ip会到br0上
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| [root@localhost network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 00:0c:29:6a:04:30 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:6a:04:30 brd ff:ff:ff:ff:ff:ff
inet 192.168.66.3/24 brd 192.168.66.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
inet6 fe80::6c68:624c:aa7e:3fd8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:ad:04:d4 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:ad:04:d4 brd ff:ff:ff:ff:ff:ff
9: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:60:9e:b0 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe60:9eb0/64 scope link
valid_lft forever preferred_lft forever
|
准备镜像
添加一个硬盘
1
2
3
4
5
6
7
8
9
10
11
12
| [root@localhost ~]# ls /dev/ |grep sd
sda
sda1
sda2
sdb #sdb为新添加的硬盘
[root@localhost ~]# fdisk /dev/sdb #磁盘分区
[root@localhost ~]# mkfs /dev/sdb1 #格式化
[root@localhost ~]# mkdir /test
[root@localhost ~]# mount /dev/sdb1 /test
[root@localhost test]# mkdir iso disk
[root@localhost iso]# wget http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso
|
阿里centos7镜像
1
| [root@localhost ~]# virt-manager
|
最后配置
编辑->连接详情->存储 添加我们刚才创建的iso和disk存储池
