KVM快速安装虚拟机

KVM快速安装虚拟机

kvm快速配置大量虚拟机思路:封装一个虚拟机,然后做快照。

虚拟机封装

封装虚拟机作为模板,提供给后面大量快照克隆虚拟机使用。

[root@localhost images]# pwd //镜像文件存放路径/var/lib/libvirt/images

[root@localhost images]# ll mather.img //已经制作好的mather模板

-rw------- 1 qemu qemu 8589934592 Apr 8 09:25 mather.img

//这里已经做好了一个模板镜像,名字"mather.img",制作过程就是安装一个本地虚拟机

模板创建完成之后,就不要再开启;模板只是做克隆,

模板创建细节问题:

rm -fr /etc/udev/rules.d/70-* ##会自动记录网卡信息,注意:70-是记录物理网卡信息的文件,每个虚拟机不同,所以在这里要删除掉;删除掉,每次启动系统会自动创建响应70-文件。

/etc/sysconfig/network-scripts/ifcfg-erh0 的配置;这个是逻辑IP,为了避免IP冲突,每个虚拟机不同,所以每次克隆新的虚拟机,都需要设置新的不同的IP地址。

rm -fr /etc/ssh/ssh_host_* ##删除公钥文件

/etc/yum.repo/*.repo ##yum源指引文件,最好在模板中就配置好一个稳定的全面的yum源,方便操作

/etc/sysconfig/network ##永久修改hostname,克隆虚拟机,每个虚拟机的hostsname也应该不同,易于识别,所以每次创建新的虚拟机,都需要更改hostname

chkconfig iptables off ##关闭防火墙,大部分实验使用不需要防火墙参与(专门学习防火墙时再开启),所以默认关闭比较方便

/etc/sysconfig/selinux ##修改selinux策略,直接设置SELINUX=disabled

建议下载几个比较方便的软件,如:vim ssh httpd等

克隆过程

创建完毕模板虚拟机后,就可以再真机上进行克隆操作。

[root@localhost images]# pwd ##进入到该目录下进行操作,该目录存放虚拟机镜像信息/var/lib/libvirt/images

[root@localhost images]# qemu-img create -f qcow2 -b mather.img test

Formatting 'test', fmt=qcow2 size=8589934592 backing_file='mather.img' encryption=off cluster_size=65536 lazy_refcounts=off

//使用内核自带kvm工具,create是子命令,标示要创建一个子虚拟机;-f qcow2,标示创建格式;-b mather.img,指定模板镜像;test是子虚拟机的名字。创建成功后该目录会生成一个test文件。

[root@localhost images]# ll mather.img test

-rw------- 1 qemu qemu 8589934592 Apr 8 09:25 mather.img-rw-r--r-- 1 root root 197120 Apr 24 14:13 test

[root@localhost images]# du -sh mather.img test

1.7G mather.img

196K test

[root@localhost images]# file mather.img test

mather.img: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x849fc, GRUB version 0.94; partition 1: ID=0x83, active, starthead 32, startsector 2048, 1024000 sectors; partition 2: ID=0x8e, starthead 221, startsector 1026048, 15751168 sectors, code offset 0x48

test: QEMU QCOW Image (v3), has backing file (path mather.img), 8589934592 bytes

完成之后,就可以使用virt-manager工具快速开启一个新的虚拟机。

具体过程:







ping不通问题

当我们创建好虚拟机之后,设置好IP地址,hostname等,需要通过ssh远程连接时,突然发现真机和虚拟机ping不通的问题。如何解决呢?

思路:当真机和虚拟机无法ping通,应该按顺序考虑以下三为问题:

首先考虑防火墙是否过滤。然后考虑IP是否在同一网段。最后考虑桥接问题。

防火墙问题

ping命令依靠网络层的ICMP协议(网络控制信息协议),没有端口,一般情况,防火墙都默认放行ping

[root@test ~]# iptables -L -n

Chain INPUT (policy ACCEPT)target prot opt source destination

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 //在filter表的INPUT链上,默认放行icmp协议

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

如果是因为防火墙问题,可以直接简单粗暴关掉防火墙(仅仅是做实验情况)。

[root@test ~]# /etc/init.d/iptables stop

iptables: Setting chains to policy ACCEPT: filter [ OK ]

iptables: Flushing firewall rules: [ OK ]

iptables: Unloading modules: [ OK ]

网段问题

网段问题就是设置时,可能设置真机和虚拟机不在同一网段。可以使用ip addr show查看网络逻辑地址(ip地址):

真机:

[root@localhost shell]# ip addr show br0
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:21:cc:4a:b0:47 brd ff:ff:ff:ff:ff:ff
    inet 172.25.254.111/24 brd 172.25.254.255 scope global br0
       valid_lft forever preferred_lft forever
    inet 172.25.11.11/24 brd 172.25.11.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::221:ccff:fe4a:b047/64 scope link 
       valid_lft forever preferred_lft forever

虚拟机:

[root@test ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:04:4f:c2 brd ff:ff:ff:ff:ff:ff
    inet 172.25.254.15/24 brd 172.25.254.255 scope global eth0
    inet6 fe80::5054:ff:fe04:4fc2/64 scope link 
       valid_lft forever preferred_lft forever

这里,真机和虚拟机都在172.25.254网段(注意看netmask值)。

如果不在同一网段,使用ip或者ifconfig手动添加临时IP,或者在配置文件中修改IP都可以。

桥接问题

如果防火墙和网段都没有问题,那么很有可能时真机上桥接没有设置成功。

可以在真机上使用brctl show查看桥接信息:

设置正确时的显示

[root@localhost shell]# brctl show
bridge name     bridge id           STP enabled     interfaces
br0             8000.0021cc4ab047   no              enp0s25
                                                    vnet0   
  virbr0        8000.000000000000   yes     
//开启虚拟机,就会多一个vnet信息;从vnet0开始,每多开启一个虚拟机,就会多一项vnet信息,vnet0,vnet1,vnet2依次类推

设置错误时的显示

[root@localhost shell]# brctl show
bridge name     bridge id           STP enabled     interfaces
br0             8000.0021cc4ab047   no              enp0s25
virbr0          8000.fe5400044fc2   yes             vnet0

此时我们发现,vnet0项信息在virbr0上,说明br0和vnet(虚拟机)没有桥接成功。

执行ping命令也就无法连通:

[root@localhost shell]# ping 172.25.254.15

PING 172.25.254.15 (172.25.254.15) 56(84) bytes of data.

From 172.25.254.111 icmp_seq=10 Destination Host Unreachable

From 172.25.254.111 icmp_seq=11 Destination Host Unreachable

From 172.25.254.111 icmp_seq=12 Destination Host Unreachable

From 172.25.254.111 icmp_seq=13 Destination Host Unreachable

^C

--- 172.25.254.15 ping statistics ---13 packets transmitted, 0 received, +4 errors, 100% packet loss, time 11999

mspipe 4

临时解决方法

vnet桥接到br0上,使用brctl命令:

[root@localhost shell]# brctl delif virbr0 vnet0 //删除virbr0对vnet0的桥接[root@localhost shell]# brctl addif br0 vnet0 //增加br0对vnet0的桥接

此时,就可以ping通:

[root@localhost shell]# ping 172.25.254.15

PING 172.25.254.15 (172.25.254.15) 56(84) bytes of data.64 bytes

from 172.25.254.15: icmp_seq=1 ttl=64 time=0.358 ms64 bytes

from 172.25.254.15: icmp_seq=2 ttl=64 time=0.246 ms

^C

--- 172.25.254.15 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 999msrtt min/avg/max/mdev = 0.246/0.302/0.358/0.056 ms

永久修改方法

我们使用virt-manager打开图形界面,选择test虚拟机双击打开。点击管理菜单栏中的"小灯泡",找到"Virtual Network Interface"

Source device的选项改称Bridge 'br0',重启虚拟机即可。

不同机子,可能位置不同,细心找找就能找到这些信息


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,下面是在 Ubuntu 20.04 上安装虚拟机的步骤: 1. 打开终端,更新软件包列表: ``` sudo apt update ``` 2. 安装虚拟机软件包: ``` sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager ``` 3. 添加当前用户到 libvirt 和 kvm 组: ``` sudo adduser $USER libvirt sudo adduser $USER kvm ``` 4. 启动 libvirtd 服务: ``` sudo systemctl enable --now libvirtd ``` 5. 打开 virt-manager 图形界面: ``` virt-manager ``` 6. 在 virt-manager 界面中,点击 "新建虚拟机" 按钮,然后按照向导设置虚拟机的参数,如虚拟机的操作系统、磁盘大小、内存大小等。 7. 完成虚拟机的设置后,可以启动虚拟机并开始使用。 希望这些步骤对您有帮助! ### 回答2: Ubuntu 20.04是一个非常流行的Linux操作系统,它的安装方法与其他操作系统类似,但在虚拟机安装可能会有不同的步骤和要求。下面是一个简单的Ubuntu 20.04虚拟机安装教程。 第一步:下载Ubuntu 20.04 ISO文件 在安装Ubuntu 20.04之前,需要从官方网站下载Ubuntu 20.04的ISO镜像文件。可以通过Google搜索或直接访问Ubuntu官方网站。 第二步:创建并配置虚拟机 打开虚拟机软件(如VirtualBox),单击“新建”按钮,然后在下一个屏幕上为虚拟机设置名称、类型和版本。设置完成后,单击“下一步”按钮打开“内存大小”设置的屏幕。 接下来,在新屏幕上设置虚拟机的硬盘和大小。对于Ubuntu 20.04,建议设置至少20GB的存储空间。 最后,单击“创建”按钮以创建虚拟机。在此之后,单击“设置”按钮,选择“存储”选项卡,并添加从之前下载的ISO文件中的Ubuntu 20.04镜像文件。 第三步:安装Ubuntu 20.04操作系统 现在,启动虚拟机并开始安装Ubuntu 20.04。在安装向导中,可以选择“安装Ubuntu”并按照提示操作。在“安装类型”页面上,选择“清除Ubuntu 20.04并重新安装”或“从现在起安装Ubuntu 20.04”,然后单击“继续”按钮。 在接下来的页面上,选择时区、语言、键盘布局并设置用户名和密码等信息。最后,单击“安装”按钮以开始安装Ubuntu 20.04。 第四步:安装 Ubuntu 20.04 安装虚拟机增强功能 安装Ubuntu 20.04后,需要安装虚拟机增强功能以获得更好的性能和功能。安装增强功能的方法因虚拟机软件而异,但在VirtualBox的情况下,可以在菜单栏中选择“设备”>“安装增强功能”,并按照指示完成安装。 到此为止,安装过程就完成了。现在可以开始使用Ubuntu 20.04来编写代码,运行程序和执行其他任务。 ### 回答3: Ubuntu是一款开源的操作系统,由于其安全、稳定、易用和免费等优点,在很多领域被广泛应用。在实验、开发等需要测试不同版本的程序时,为了避免对本地机器造成不必要的影响,可以选择在虚拟机上进行操作。本文将介绍如何在Windows10操作系统上使用VMware虚拟机安装Ubuntu 20.04系统。 第一步:准备工作 1. 下载VMware软件安装包(个人使用可以选择VMware Workstation Player 15.x); 2. 下载Ubuntu20.04操作系统镜像文件; 3. 确保计算机有足够的存储空间。 第二步:创建虚拟机 1. 打开VMware软件,选择“创建新的虚拟机”; 2. 在虚拟机配置向导中,选择“选择典型(推荐)”; 3. 在“安装程序光盘映像文件(iso)中指定操作系统”下,浏览到之前下载好的Ubuntu20.04镜像文件; 4. 输入虚拟机名称,并指定虚拟机的保存位置; 5. 选择最大磁盘容量并确定虚拟机的大小; 6. 配置虚拟机的自定义硬件,分配CPU、内存大小、网络连接等资源。 第三步:安装Ubuntu 20.04操作系统 1. 启动虚拟机,选择“开始Ubuntu”; 2. 在Ubuntu20.04系统安装界面中,选择“安装Ubuntu”; 3. 选择安装语言和时区; 4. 确定安装类型、磁盘分区和挂载点; 5. 输入用户名和密码,并等待系统安装完毕。 第四步:常见问题解决方法 1. 网络问题:若出现网络连接问题,先检查虚拟机的网络配置是否正确,确认网络是否连通,再尝试重新安装网络驱动软件。 2. 虚拟机启动问题:若出现虚拟机无法启动或无法正常进入操作系统等问题,可以尝试恢复虚拟机至最初状态或重新安装Ubuntu20.04操作系统。 3. 硬件兼容问题:若出现硬件兼容方面的问题,可以先更新VMware软件,或者在虚拟机中添加一些虚拟硬件进行兼容性测试。 总的来说,使用VMware虚拟机安装Ubuntu20.04操作系统是一种方便、安全、稳定的方式。希望这篇教程可以帮助大家快速入门操作系统虚拟化技术。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值