RedHat 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。


二、环境

系统:rhel6.6 64位

软件包组:

virtualization           提供虚拟机的环境,主要包含qemu-kvm

virtualization-client      管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer

virtualization-platform    提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client

virtualization-tools      管理离线虚拟机镜像的工具,主要有libguestfs

根据需求选择软件包,一般都安装前三个,也可以只安装个别主要的包。

为了减少不必要的麻烦,请关闭防火墙和SELinux

# cat /proc/cpuinfo |grep flags    需要全虚拟化支持为vmx(Inter)或svm(AMD)

如果确定物理机支持cpu虚拟化技术,而使用上述命令查找不到相应指令。


三、安装与配置

# yum groupinstall "Virtualization""Virtualization Client""Virtualization Platform"

# yum install qemu-kvm virt-managerlibvirt        //也可只安装个别主要的包

# lsmod |grep kvm                                   //kvm模块一定要加载

kvm_intel             53484  0

kvm                 316506  1 kvm_intel

# service libvirtd start                           //启动libvirt服务

Starting libvirtd daemon:           [  OK  ]

 

四、配置桥接网络

1、复制文件

# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

2、修改ifcfg-eth0文件

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
NM_CONTROLLED="no"
BOOTPROTO=static
HWADDR="00:22:19:B8:D9:FE"
IPV6INIT="yes"
MTU="1500"
ONBOOT=yes
TYPE="Ethernet"
BRIDGE="br0"
UUID="f2f96e91-9957-43bf-97b7-0cd67d8bb1e2"

去掉IP,netmask,把NM_controlled修改成no表示网络不用networkmanager管理,用network管理


3、修改ifcfg-br0文件

# vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE="br0"
BOOTPROTO=static
IPV6INIT="no"
MTU="1500"
NM_CONTROLLED="no"
ONBOOT=yes
TYPE="Bridge"
IPADDR=xx.xx.xx.xx
GATEWAY=xx.xx.xx.xx
NETMASK=xx.xx.xx.xx
DNS1=xx.xx.xx.xx


4、重启服务

因为刚才我们把网络的管理改成network(默认使用networkmanager管理),现在重启network服务,service network restart.

5、确认配置

ifconfig && brctl show

[root@cdsh2950b ~]# brctl show
bridge name bridge idSTP enabledinterfaces
br0 8000.002219b8d9fenoeth2
vnet0
virbr0 8000.525400c835f0yesvirbr0-nic


四、创建kvm虚拟机(图形界面)

1.可以利用vnc远程连接kvm宿主机,进行管理。Application→System Tools→VirtualMachine Manager

2.进入Virtual Machine Manager管理界面,新建一个虚拟机。

3.输入虚拟机名称,选择“Local Install media”

4.选择“Use CDROM or DVD”,及使用vmware的虚拟光驱

5.选择内存及cpu,依机器性能本身而定

6.选择虚拟机磁盘大小,及存储位置

7.新建虚拟机信息预览

 

五、命令行方式

#virt-install \
    --name=vm01 
    --ram=512 
    --vcpus=1 
    --cdrom=/media/CentOS_6.2_final.iso
    --os-type=rhel6  
    --disk /var/lib/libvirt/imgages/vm01.img,size=8,bus=virtio,cache=writeback  
    --network bridge=br0,model=virtio

下面对上面的命令进行解读:

--name    给虚拟机起个名字
--ram     分配给虚拟机的内存,单位MB
--vcpus   分配给虚拟机的cpu个数
--cdrom   指定安装文件的全路径
--disk    指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行
    size      虚拟机文件大小,单位GB
    bus       虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio
    cache     虚拟机磁盘的cache类型
--network bridge    指定桥接网卡
    model  网卡模式,这里也是使用性能更好的virtio
--graphics         图形参数 

可以用man virt-install 指令查看帮助,最后有很多示例。


五、管理kvm虚拟机

常用命令:

virsh list      显示虚拟机运行状态

virsh console system_name    使用文本方式连接虚拟系统

virsh start system_name      开启虚拟系统

virsh shutdown system_name       关闭虚拟系统

注:虚拟机和宿主机之间切换使用ctrl+】(右方括号)

# virsh console vm01

Connected to domain vm01

Escape character is ^]


六、克隆kvm虚拟机

# virt-clone -o vm01 -n vm02 -f/var/lib/libvirt/imgages/vm02      //vm01需要关机

# ll -h /var/lib/libvirt/imgages

-rwxr-xr-x 1 root root 8.0G Oct 13 17:40 vm01.img

-rwxr-xr-x 1 root root 8.0G Oct 13 17:42 vm02.img

本文转自戴柏阳的博客博客51CTO博客,原文链接http://blog.51cto.com/daibaiyang119/1703717如需转载请自行联系原作者


daibaiyang119

相关文章
|
11天前
|
监控 安全 Ubuntu
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
65 36
|
9天前
|
Ubuntu Java Linux
Linux 安装 Qualcomm ® SnapdragonTM Profiler
通过本文的详细介绍,您应该已经成功在 Linux 系统上安装并配置了 Qualcomm® Snapdragon™ Profiler,并能够连接 Android 设备进行性能分析。Snapdragon Profiler 提供了丰富的工具和功能,可以帮助开发者深入了解应用程序的性能瓶颈,从而进行优化。希望本文能对您有所帮助,让您在开发过程中更高效地使用 Snapdragon Profiler 进行性能分析和优化。
40 10
|
11天前
|
Linux
Linux安装svn并启动
Linux安装svn并启动
48 10
|
1月前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
70 20
|
30天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
70 7
|
2月前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
203 20
|
2月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
219 7
|
2月前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
62 2
|
3月前
|
人工智能 Java 关系型数据库
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
161 4
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述