Linux命令:KVM虚拟机简介

简介:

KVM虚拟机简介  

kernel‐based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para‐Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para‐Virtualization。 

安装kvm 配置:

第一、看看cpu是否支持kvm 

[root@localhost ~]# egrep '(vmx|svm)' ‐‐color=always /proc/cpuinfo  

flags      : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nxrdtscp lm constant_tsc nonstop_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm  

[root@localhost ~]# grep ‐E ‐o 'vmx|svm' /proc/cpuinfo #-E指支持正则表达式查询,-o只显示

匹配到的选项。

vmx 

第二步:安装kvm 所需要的软件包  

1.yum install kvm kmod‐kvm qemu kvm‐qemu‐img virt‐viewer virt‐manager 

或者 yum groupinstall KVM 

2.安装完确认一下是否安装成功检查模块是否有加载 

[root@localhost ~]# lsmod  | grep kvm 

kvm_intel              85256  0  

kvm                   224928  2 ksm,kvm_intel  

也可以使用命令检查KVM是否成功安装 

virsh ‐c qemu:///system list  

将会显示如下结果:  

[root@localhost ~]# virsh ‐c qemu:///system list  

Id Name                 State  

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

如果在这里显示的是一个错误的信息,说明有些东西出现了问题。 

3.安装桥接管理工具  

yum install bridge‐utils tunctl  

4 安装gui管理工具yum install virt‐manager virt‐viewer. 

5.修改网卡文件 

[root@localhost ~]#cd /etc/sysconfig/network‐scripts/  

[root@localhost network-scripts]#cp ifcfg‐eth0 ifcfg‐br0  

[root@localhost network-scripts]#vim ifcfg‐eth0 

如下: 

# Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet 

DEVICE=eth0 

#BOOTPROTO=none  

HWADDR=84:2b:2b:6e:20:d5 

ONBOOT=yes 

#NETMASK=255.255.255.0  

#IPADDR=192.168.1.187  

#GATEWAY=192.168.1.1  

TYPE=Ethernet 

BRIDGE=br0 

[root@localhost network-scripts]#vim ifcfg‐br0

如下:  

# Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet  

DEVICE=br0  

BOOTPROTO=static  

HWADDR=84:2b:2b:6e:20:d5 

ONBOOT=yes  

NETMASK=255.255.255.0  

IPADDR=192.168.1.187  

TYPE=Bridge 

保存网卡配置 重新启动网卡  

[root@localhost network-scripts]#service network restart 

检查br0 是否成功  

[root@localhost network-scripts]# ifconfig  

br0   Link encap:Ethernet  HWaddr 84:2B:2B:6E:20:D5  

inet addr:192.168.1.187  Bcast:192.168.1.255                  

Mask:255.255.255.0  

eth0    Link encap:Ethernet  HWaddr 84:2B:2B:6E:20:D4 

inet addr:117.79.238.187  Bcast:117.79.238.191                 Mask:255.255.255.224 

eth1   Link encap:Ethernet  HWaddr 84:2B:2B:6E:20:D5 

inet6 addr: fe80::862b:2bff:fe6e:20d5/64 Scope:Link 

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 

lo        Link encap:Local Loopback  

inet addr:127.0.0.1  Mask:255.0.0.0 

inet6 addr: ::1/128 Scope:Host  

vnet0     Link encap:Ethernet  HWaddr FE:52:00:3E:41:04  

inet6 addr: fe80::fc52:ff:fe3e:4104/64 Scope:Link  


中间碰到的问题:

1、[root@benjr ~]# virt‐manager  

在一开始会看到错误信息,跳过。系统预设值为xen的hypervisor,需要手动开启kvm的Hypervisor  

Unable to open a connection to the Xen hypervisor/daemon  

Verify that:  

‐ A Xen host kernel was booted  

‐ The Xen service has been started.  

这个不用管 直接跳过 其中的原因不明 

2、内核不能加载kvm模块 

FATAL: Error inserting kvm_amd (/lib/modules/2.6.18‐194.el5/weak‐updates/kmod‐kvm/kvm‐amd.ko): Unknown symbol in module, or unknown parameter (see dmesg) 

解决办法: 

查看是否是因为bios中关闭了cpu的虚拟化支持 (如果开启 果断下一步)

yum update kernel 果断升级内核,重启服务器 解决

lsmod | grep kvm  (重启完我偷着乐 !!!) 

[root@localhost ~]# lsmod | grep kvm 

kvm_intel              85256  1 

kvm                   224928  2 ksm,kvm_intel  

modprobe kvm  (加载kvm模块)

  

kvm 安装虚拟机  

图像化安装  

1.应用程序‐‐à系统工具‐‐à虚拟化管理(或者命令调出 virt‐manger)  

直接图形化操作跟vm workstation 差不多 

a.新建虚拟机,选择 new 

wKiom1nIaXqyE--kAALXpxk_Tzs497.jpg

b.虚拟机命名(最好命名一个跟相关应用有关的)

wKioL1nIaVKC2MfNAAJ8uIHEyUc096.jpg  

c.选择cpu 支持的位数和 hypervisor 模式 

wKiom1nIaaiCwf7tAAN5dXuUBJg450.jpg

d.选择安装系统的方式和系统 

wKioL1nIaYTwtMrcAAPn6EOcXXo682.jpg

e.选择iso文件所在位置  

wKiom1nIadmg2nIAAAJbQkTyscA815.jpg

f.image存储的位置和image 的大小(若有单独的虚拟化分区,可以选择第一项,我默认) 

wKioL1nIacjCfN4zAASpu9dB2w0827.jpg

g.选择网卡模式 (桥接模式) 

wKioL1nIafGg1Tf_AAQDSWR2LbA944.jpg

h.设置内存大小 和cpu的个数

wKioL1nIajKCj8udAASD_ZXChAk789.jpg

i.配置完成,虚拟所有信息

wKiom1nIapmjfibIAANQTov5aDc844.jpg 

系统就不用再写了,太墨迹了  

2.字符命令创建kvm 虚拟机(懒人没看。直接用的图像化配置)

3.Kvm虚拟机上网

1、开启宿主机的路由转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward  或者直接在                 /etc/sysctl.conf 中添加 修改 net.ipv4.ip_forward = 1  

2、配置宿主机iptables NAT  

/sbin/iptables ‐t nat ‐A POSTROUTING ‐s 192.168.1.0/24 ‐j   MASQUERADE  

/sbin/iptables –t nat –A POSTROUTING –s 192.168.1.0/24 ‐o eth0 ‐j SNAT ‐‐to 117.79.238.187 

/sbin/iptables save  

3、配置虚拟机,设置网卡

wKioL1nIarzSiRLaAAk10l-LmWE062.jpg

到此配置完毕!~~~ 















本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1968351 ,如需转载请自行联系原作者


相关文章
|
7天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
28 9
|
1天前
|
Linux KVM 数据库
虚拟机数据恢复—误删除KVM虚拟机的数据恢复案例
虚拟化数据恢复环境&故障: KVM是Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux2.6.20版本之后集成在Linux的各个主要发行版本中。KVM使用Linux自身的调度器进行管理。 本案例中的服务器操作系统为Linux,文件系统为EXT4。操作系统上的部署的几台KVM虚拟机被删除,每台KVM虚拟机包含一个qcow2格式的磁盘文件和一个raw格式的磁盘文件,用户需要恢复的数据是raw格式的磁盘文件。这几台被误删除的虚拟机存放的是数据库,程序代码等数据。
|
1天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
17 6
Linux 中的 Nslookup 命令怎么使用?
|
2天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
3天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
3天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
46 0
|
6天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
23 4
Linux系统监控利器:探索常用命令及数据保存技巧
|
9天前
|
Linux 虚拟化
linux 虚拟机扩容--直接扩容到根目录
linux 虚拟机扩容--直接扩容到根目录
22 1
|
9天前
|
Linux 索引
linux 文件查找 和文件管理常用命令
linux 文件查找 和文件管理常用命令
19 0
|
9天前
|
安全 Unix Linux
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
14 0

热门文章

最新文章