CentOS7中使用KVM安装虚拟机-图形化操作

安装配置并且使用KVM

1 查看cpu是否支持虚拟化


Flags部分输出vmx或者svm表明支持cpu虚拟化

2 查看是否加载kvm模块


3 关闭selinux

vim /etc/selinux/config

修改完成之后重启系

4 安装KVM相关软件包

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y

这个是已经安装过的效果,首次执行系统会安装所需要的软件包以及插件,执行完成之后注意返回信息,一定要注意有没有安装成功!!!

5 启动libvirt并设置开机自启动

systemctl start libvirtd
systemctl enable libvirtd


6 创建两个新的目录,一个存放系统镜像,一个存放虚拟机的硬盘

mkdir /home/iso
mkdir /home/images


笔者的电脑上面已经创建过了,所以会提示已经创建

7 创建物理桥接设备 先查看网卡信息,找到自己虚拟机的网卡名称


不出意外的话一般都是ens33,但也有可能叫其他的名字,根据虚拟机的实际情况来操作

8 关闭NetworkManager


Centos6的话就用

Centos7关闭NetworkManager命令(禁用和关闭)

systemctl disable NetworkManager
systemctl stop NetworkManager
systemctl status NetworkManager

9 桥接设备关联网卡

virsh iface-bridge eno1 br0


PS:有可能会提示桥接失败,不要慌,再执行brctl show,看到interfaces下面有ens33就可以了,就像这样,这个过程就像再VMware创建虚拟机的时候选择网路连接模式一样。

不行就再执行一遍咯!!!

创建虚拟机


1 进入图形化管理界面

virt-manager


2 新建虚拟机


3 将镜像上传至虚拟机的/home/iso目录下


4选择安装镜像的介质


5 选择系统镜像的路径


6 选择镜像的位置


7 选择镜像文件


8 找到镜像后点击下一步


9 配置新建虚拟机的内存与CPU


10 配置虚拟机的可用存储空间大小


11 选择虚拟机的存储目录,即虚拟机的存放位置

12 定义存储池的名称

13 选择存储池的路径,默认是/var/lib/libvirt,更换为之前创建的/home/images目录


14 添加存储卷


存储卷这个概念和windows有点不一样,在windows系统上面安装虚拟机,选择虚拟机存放位置的时候只要是个文件夹就行,但在Linux系统里面我们还需要给这个文件定义一个特定空间,然后再把虚拟机存在里面。

15 选择创建好的存储卷


16 点击“前进”


17 定义虚拟机名称

18 启动虚拟机,开始正常的安装CentOS的步骤即可,这就实现了在虚拟机里面安装虚拟机的壮举了!!!

配置网络

  • NAT
  • 桥接

1、NAT网络

NAT网络是虚拟机默认的网络,安装好KVM后就会有一个网卡

nat网卡.png

nat网卡.png

默认使用的地址是:192.168.122.0网段,该virbr0 ip地址 也是使用nat网络虚拟机的网关.

虚拟机上网是通过防火墙配置nat转换规则实现的。

NAT拓展知识:

代码语言:javascript

NAT(Network Address Translation,网络地址转换)

nat5216339.png

代码语言:javascript

私网
A: 10.0.0.0   10.255.255.255
B: 172.16.0.0  172.31.255.255
C: 192.168.0.0  192.168.255.255


#发包
SIP 192.168.1.4   DIP 114.113.112.111
SPORT 6543				DPORT 80


SIP 202.106.1.3   DIP 114.113.112.111
SPORT 6543				DPORT 80


#回包
SIP 114.113.112.111   DIP 202.106.1.3
SPORT 80			      	DPORT 6543

SIP 114.113.112.111   DIP 192.168.1.4
SPORT 80			      	DPORT 6543

2、桥接网卡

  1. 启用一个物理网卡网络
  2. 创建一个桥接网卡
  3. 将物理网卡和桥接网卡绑定

代码语言:javascript

#1、给物理网卡设置IP信息
[root@zutuanxue ~]# nmcli connection add con-name eno1 ifname eno1 ipv4.addresses 192.168.1.200/24 ipv4.method manual ipv4.gateway 192.168.1.1 ipv4.dns 202.106.0.20 type 802-3-ethernet

#2、创建一个桥接网卡
[root@zutuanxue ~]# nmcli connection add con-name br0 ifname br0 type bridge ipv4.method manual ipv4.addresses 192.168.1.200/24 ipv4.gateway 192.168.1.1 ipv4.dns 202.106.0.20 autoconnect yes

#3、绑定物理网卡
[root@zutuanxue ~]# nmcli connection add type bridge-slave ifname eno1 master br0

#4、重启生效
[root@zutuanxue ~]# nmcli connection down eno1
[root@zutuanxue ~]# nmcli connection down br0
[root@zutuanxue ~]# nmcli connection up br0

Centos7卸载KVM虚拟化服务

1、先查看是否有服务正在运行,将他们都停掉

#查看是否有服务正在运行;
virsh list --all


我们可以看到是有的,需要将服务关闭:

virsh shutdown centos7.0


然后在删除,不想删除也可以,依据自己;

virsh undefine centos7.0

删除完成之后就开始卸载服务;

2、启动 network 服务(重要)

#设置开机自启
chkconfig NetworkManager on
#启动NetworkManager服务
service NetworkManager restart
#查看启动状态
service NetworkManager status


3、卸载 virbr0 网卡及解除 br0 网络桥接


卸载 virbr0 网卡
先查看网卡
 

#先查看网卡
ifconfig


 


显示桥接(bridge)列表

brctl show



列出当前连接的虚拟网络
 

virsh net-list




停止/删除默认的虚拟网络

virsh net-destroy default




取消定义默认的虚拟网络

virsh net-undefine default


重新启动libvirtd守护进程

service libvirtd restart 


再次列出当前连接的虚拟网络

virsh net-list

这时可以看到已经没有了;

再次查看桥接(bridge)列表

brctl show

发现virtbr0已经没有了;

解除并删除br0桥接网卡
解除网卡会导致远程连接连接不上,需要使用显示屏直连服务器或者在vmwar虚拟机中操作,在里面使用命令行模式操作,init 3转为完整的字符界面多用户操作;

#解除绑定ens33网卡
brctl delif br0 ens33


执行这一步就会断连,所以需要使用显示屏直连服务器或者在vmwar虚拟机中操作接下来的步骤;
我的是用的虚拟机测试,所以,在vmware中执行接下来的命令;

#关闭br0,不关闭删不掉
ifconfig br0 down
#删除br0
brctl delbr br0

#删除完在查看一下桥接(bridge)列表
brctl show


会发现桥接(bridge)列表中的 br0 桥接 ens33 已经没了,然后ip a查看ip时,ens33没有设置IP,所以,需要设置一下ip,然后重启服务,就可以连接上了;

#进入网络配置目录
cd /etc/sysconfig/network-scripts/
#删除br0的配置
rm -rf ifcfg-br0
#将最开始部署时备份的覆盖一下ens33网卡(要用到的网卡),如果最开始没有备份的话那么就重新配置一下,还和原来的一样,记住ip就可以
cp -ar ens33-bak ifcfg-ens33
#选择覆盖即可

#覆盖完可以校验查看一下
cat /etc/ifcfg-ens33


确认完成,就需要重启一下网络服务,使其生效

#确认完成,就需要重启一下网络服务,使其生效
/etc/init.d/network restart


查看IP

ip a


这样就修改完成了,我们就可以继续远程连接服务器了;

4、卸载服务

#卸载刚刚安装时的所有服务及相关依赖包
yum -y remove qemu-kvm\* python-virtinst\* libvirt\* libvirt-python\* virt-manager\* libguestfs-tools\* bridge-utils\* virt-install\*

#卸载完成之后,如果不确定可以在使用rpm查看一下是否还有这些包。

5、删除相关目录

#删除libvirt相关的目录,安装libvirt这个命令时就会产生,这几个存放位置是系统默认的,如果怕卸载不干净,可以使用find 查找
rm -rf /var/lib/libvirt /etc/libvirt /var/log/swtpm/libvirt /var/cache/libvirt /usr/lib64/libvirt 

#kvm的iso镜像和存储路径(自定义的)
rm -rf /home/kvm

这样就卸载完成了!!!

  提示:卸载完成之后,有的细心的人为了彻底让他卸载干净,也会去查询kvm等相关的目录,如果是查询kvm相关的目录的话,可能会有几个,因为你开了虚拟化,这是系统生产的,我也没有删除,我用的是虚拟机,只要把虚拟化关了,那几个目录就没了;至于删了是什么后果,可能会导致服务器远程连接不上…等等…未知问题,所以,kvm虚拟化相关的目录就不用删了,避免出现不必要的麻烦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值