在centos中安装KVM,并导入.qcow2镜像

一、在虚拟机中安装centos系统

1、新建虚拟机:
坑1:分配的内存的硬盘要较大。因为之后在系统中安装kvm虚拟机会占硬盘20G左右,所以虚拟机的硬盘最好在40G以上。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此处,我分配了50G.
在这里插入图片描述
2、导入镜像,安装系统
(1)镜像下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
我WIN10 64位操作系统,下载的是Centos 7,大家可根据实际情况下载。
在这里插入图片描述
(2)导入镜像:
在这里插入图片描述

导入镜像:
在这里插入图片描述

点击确定,然后点击开启虚拟机:
在这里插入图片描述
可以选择中文或者英文:
在这里插入图片描述
点击下一步:
在这里插入图片描述
在这里插入图片描述
记住:这里一定要设置,保证虚拟机可以连网,不然,等虚拟机装好后,在配置网络会非常麻烦:
在这里插入图片描述

设置好网络后,点击完成,点击“安装”,进入如图所示界面后,需设置root密码。因为系统装好后,是纯命令环境,需要输入密码,才能进入系统,建议大家设置自己容易记住的密码,我经常忘记虚拟机密码。
在这里插入图片描述
至此,centos在虚拟中成功安装。

二、 安装相关软件

1、 输入root密码,进入系统
在这里插入图片描述

2、 安装图形界面,为了便于操作,比如安装完kvm后,更好的将镜像复制到centos系统中,在装KVM前,我们先安装图形界面,注意,进行安装时,系统必须能够访问互联网。

使用如下命令安装图形化界面:参考教程如下:
https://www.cnblogs.com/c-xiaohai/p/6509641.html

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
在这里插入图片描述
选择y:
在这里插入图片描述
在这里插入图片描述
安装完成
输入startx,进入图形化界面。
在这里插入图片描述
在这里插入图片描述
进行设置后,即可进入图形化界面。
在这里插入图片描述

右键,打开终端,在图形化界面中安装kvm,-y前面有空格:
yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install –y
在这里插入图片描述
安装完成。
在这里插入图片描述
输入virt-manager进入虚拟机里:
在这里插入图片描述

此时,我装的virt-manager出现如图所示的错误。
在这里插入图片描述
在这里插入图片描述

于是,重启虚拟机,输入startx进入图形化界面,打开终端,输入virt-manager进入KVM虚拟机,恢复正常。
在这里插入图片描述
接下来将我们要导入的镜像复制到centos中。
此处,因为我安装了vmtools,于是直接将镜像拖入虚拟机的任意磁盘中,显示复制成功后,查看镜像,1个多G大的镜像却只有2.9M,为什么会出现这种情况,我也不太清楚。
在这里插入图片描述
于是采用另外一种方法,在磁盘中新建一个文件夹,在主机中复制镜像,粘贴到新建的文件中。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
使用复制,粘贴,将镜像从主机复制到虚拟机中。
在这里插入图片描述
可以看到,成功复制:
在这里插入图片描述

进入KVM虚拟机,
在这里插入图片描述

在KVM中新建虚拟机,导入镜像,因为我的镜像是windows的,所以在导入时,要注意选择,不然不会安装相应的驱动,鼠标无法使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

找到镜像所在位置,点击open.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

选择导入镜像的操作系统版本,version也要选择:
在这里插入图片描述
在这里插入图片描述
内存和CPU设置,如果磁盘空间较大,建议设置为2G和2个CPU.
在这里插入图片描述
接下来,一直点击forward,就可以了,进入系统安装:
在这里插入图片描述

三、 保持虚拟机和宿主机网络通畅

至此,我们已经在centos的kvm虚拟机中安装了windows系统。接下来我希望,在宿主机中能够访问KVM中的部署的网站。
1、 查看KVM虚拟机中 window系统的IP:
在这里插入图片描述

在宿主主机中,ping一下,发现ping不通:
在这里插入图片描述
这样的话,我们无法在宿主主机中访问该虚拟机,此处centos使用的是NAT网络连接模式。
查看宿主主机的网络情况:
在这里插入图片描述
可以看到,宿主主机中,虚拟机的网段为 192.168.0/30网段,而实际虚拟机确是172网段,所以会ping 不通。
这时,我们关闭虚拟机,点击“编辑”选择虚拟机网络编辑器

在这里插入图片描述
还原默认设置后:
在这里插入图片描述

重启虚拟机,虚拟机使用自动获取IP
在这里插入图片描述

查看虚拟机网络情况:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
重启虚拟机。
相关教程如下:
https://blog.csdn.net/jin5203344/article/details/61916713
https://blog.csdn.net/w405722907/article/details/82529753
原因:VMware Network Adapter VMnet8网络适配器IP设置不对,与虚拟机IP没在同一个网段

修复后:
主机中虚拟机网卡的IP为:
在这里插入图片描述

欢迎大家关注我的微信公众号进行学习交流
在这里插入图片描述

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java定时器(timer)是一种能够在特定时间间隔或者特定时间点执行某些任务的工具。它可以帮助我们实现很多有用的定时任务,如定时备份数据、定时发送邮件、定时清理缓存等等。 Java的定时器主要有两种实现方式:一种是使用Timer类,另一种是使用ScheduledExecutorService接口。在本文,我们主要介绍使用Timer类的实现方式。 使用Timer类创建定时器的步骤如下: 1. 创建一个Timer对象 ```java Timer timer = new Timer(); ``` 2. 创建一个TimerTask对象,用于执行定时任务 ```java TimerTask task = new TimerTask() { @Override public void run() { // 定时任务的具体实现 } }; ``` 3. 调用Timer对象的schedule()方法,设置定时任务的执行时间和执行频率 ```java timer.schedule(task, delay, period); ``` 其,delay表示任务的延迟时间,单位为毫秒;period表示任务的执行周期,单位也为毫秒。如果period为0,则表示只执行一次任务。 完整的示例代码如下: ```java import java.util.Timer; import java.util.TimerTask; public class MyTimerTask extends TimerTask { @Override public void run() { System.out.println("定时任务执行了"); } public static void main(String[] args) { Timer timer = new Timer(); MyTimerTask task = new MyTimerTask(); timer.schedule(task, 1000, 2000); } } ``` 在上面的示例代码,我们创建了一个MyTimerTask类,继承了TimerTask类,并实现了run()方法。在main()方法,我们创建了一个Timer对象和一个MyTimerTask对象,并调用了schedule()方法,设置了任务的延迟时间为1000毫秒,执行周期为2000毫秒。当程序执行到schedule()方法时,定时器会在1000毫秒后开始执行定时任务,并且每隔2000毫秒执行一次。 需要注意的是,当定时任务执行时间超过执行周期时,定时器会等待当前任务执行完毕后立即执行下一次任务,而不是等待执行周期结束再执行。如果我们想要避免这种情况,可以考虑使用ScheduledExecutorService接口来实现定时任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值