まず、オープンな仮想化VT確認
KVM自体も、KVMはLinuxカーネルの上に滞在仮想化アーキテクチャを実行しているのXenは、VMware ESXとのHyperVのベアメタル仮想化アーキテクチャに比べ、つまり、いくつかの弱点を持っているより多くのコンピューティングリソースを消費します。しかし、このために、Intelは、AMDは、プロセッサの設計上の専用VT-xとAMD-Vの拡張機能を持って、この機能は、多くの場合、各アップデートの後、すべての仮想化パフォーマンスとスピードを持って、それぞれの時間ハードウェアのアップデートを更新されます大幅に改善されたので、長い目で見れば、大きな問題ではありません。
KVM仮想化は、(ハードウェアサポートを必要とするプロセッサのサポートの仮想化を必要とします。インテルは、Intel-VT(VMX)技術ベンダー&& AMDは、AMD-V(SVM)技術ベンダーとして、完全に仮想化されたハードウェアに基づいており、早期のXenはあるさしかし、Xenの自体は準仮想化(準仮想化)のソフトウェアベースのシミュレーションを持って、新しいバージョンが完全に仮想化された独自のプロセススケジューラ、メモリ管理モジュールなので、コードをより充実しているハードウェアサポートに基づいています。あなたの現在のCPUでありますあなたは、現在のCPUはVT技術サポートしているかどうかわからないサポートVT技術? 1.テストするために、WindowsのCPU-Zのソフトウェアで使用することができます 2.あなたは、LinuxでCPUを表示することができます決定するための情報信じるCPUの仮想化は、私たちをもたらしますメリットは何ですか? CPUの仮想化技術は、マルチCPUの並列のシングルCPUシミュレーションすることができ、複数のオペレーティングシステムとアプリケーションを実行するには、プラットフォームが可能になり、独立した空間内で互いに独立して実行され、大幅コンピュータの仕事を向上させることができます効率仮想化技術ハイパースレッディングテクノロジとマルチタスクの違いは? 仮想化技術とマルチタスクと超ライン 技術は完全に異なっています。
マルチタスクは、仮想化技術では、あなたが複数のオペレーティングシステムを同時に実行することができながら、並行して複数のプログラムを実行するために、オペレーティング・システムを指し、それぞれが複数のプログラムを実行するには、オペレーティングシステム、各オペレーティングシステムを持っています仮想CPUまたは仮想ホスト上で実行されている;およびハイパースレッディング・テクノロジーのCPUは、単一のCPUのシミュレーションは、CPU性能のバランスをとるために、二重実行し、単離されていないがシミュレートされたこれらの二つは、のみ動作インストールKVMの準備の前に 1決定プロセッサはVTを持つ コマンドラインを:grepをVMXは/ proc / cpuinfoの( INTELのチップ) のgrep SVMは/ proc / cpuinfoの(AMDチップ) CAT / procの/ cpuinfoのを| VMX -e -e NX SVM -eのgrepは、 チップの生産を知りませんメーカーは、次のように入力しますegrepの「(VMX | SVM) 」/ procの/ cpuinfoの フラグの場合:そこVMXまたはSVMを、それがサポートVTを示し、出力がない場合は、お使いのCPUがサポートしていないことを示す、成功したKVM仮想マシンをインストールすることはできません。 2.仮想化のためのハードウェアサポートを所有しているが、無駄に対応するクエリパラメータ場合は、必ずお使いのBIOSは、ハードウェア仮想化支援機能を開くために作るためにBIOSの設定を確認してください! 次のオプションがEnabledに設定されている インテル(R)バーチャテック[有効]
二、KVM仮想化インストール
図1に示すように、取り付けられたKVMが必要
(1)64bitCPU(仮想-XまたはAMD-VTのV)を
(2)2G空きメモリ、確認されたメモリサイズ上記
のgrep -e MemTotalの/ proc / meminfoに
無料-m
(3)6ギガバイト空き容量
2、インストール及びKVM検出
(1)YUM搭載KVMを
yumを -y インストール KVMのvirt-managerのlibvirtののlibvirt-のpythonのpython-virtinstのlibvirt-クライアントQEMU-KVMのQEMU-IMGを
(2)YUMは、KVM(簡易版)をインストールするには
yumを インストール KVMのvirt-managerののlibvirtの* -y
インターネットに接続できない場合(3)、インストールを完了し、様々な関連付けを回避するためにソースを作成することができます。ローカルYUMソースの設立:
<RHELディスクマウント>
#マウントは/ dev / CDROM / MNT / CDROM
<確立ローカルソースYUM>
#cdの/ etc / YUM .repos.d
#vim kvms.repo
kvms.repoコンテンツ
[KVMS]
名 = レッドハット
BASEURL = ファイル:/// mnt / cdromと/
有効= 1
gpgcheck = 0
(4)kvm虚拟化所需组件介绍
kvm:核心套件
virt-manager:图形化 KVM 管理软件
libvirt:提供虚拟机与宿主相互通信的机制
libvirt-python:允许使用 libvirt API
python-virtinst:CLI 下创建 KVM 的工具
libvirt-client:提供 client 访问 kvm 服务器的机制 ,并包含 virsh 命令进行 管理和控制VMs
qemu-kvm:提供用户级 KVM 环境
qemu-img:VMs 磁盘管理
3、启动 KVM
(1)modprobe kvm 加载 kvm 模块
(2)lsmod | grep kvm 查看加载成功
(3)systemctl start libvirtd 启动kvm
(4)systemctl status libvirtd 查看kvm状态
4、启动并检测 KVM
virsh list --all
如出现
Id Name State
-------------------------------------------------------
则安装成功
virsh list 表示列出已开机的虚拟机
5、在 GUI 模式下安装虚拟机,启动虚拟系统管理器
三、KVM网络模式设置
1、NAT ( 默认上网 ):虚拟机利用 host 机器的 ip 进行上网。对外显示一个 ip;
virbr0 是 KVM 默认创建的一个 Bridge,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能,默认ip为192.168.122.1
2、自带的Bridge:将虚拟机桥接到 host 机器的网卡上 ,vm和 host 机器都通过 bridge 上网 . 对外有同网段的不通 ip,此种方式host却不能和vm联通
3、Linux Bridge:基本原理就是创建一个桥接接口 br0 ,在物理网卡和虚拟网络接口之间传递数据。此种方式host也可以和vm连通
Linux Bridge 是 Linux 上用来做 TCP/IP 二层协议交换的设备,其功能大家可以简单的理解为是一个二层交换机或者 Hub。多个网络设备可以连接到同一个 Linux Bridge,当某个设备收到数据包时,Linux Bridge 会将数据转发给其他设备
(1)添加 br0 网卡的配置文件
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-br0
(2)修改网卡配置文件
vim ifcfg-ens33
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
vim ifcfg-br0
TYPE=Bridge
NAME=br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.11.12
PREFIX=24(NETMASK=255.255.255.0)
GATEWAY=192.168.11.2
DNS=192.168.11.2
(3)重启host:reboot
(4)检查
# ethtool br0
# brctl show
# ifconfig br0
#lsblk 命令用来查看block设备的信息
四、virt-manager创建虚拟机
(1)首先通过命令 virt-manager 启动图形界面:
点下面的图标创建虚机
(2)给虚机命名为 kvm1,这里选择从哪里启动虚机。如果是安装新的 OS,可以选择第一项。如果已经有安装好的镜像文件,选最后一项(如下图)。
(3)接下来需要告诉 virt-manager 镜像的位置,点击 “Browser”
(4)需要在系统中上传一个镜像文件到属主机上,放到 /var/lib/libvirt/images/ 目录下,这是 KVM 默认查找镜像文件的地方。
(5)为虚拟机分配 CPU、内存和磁盘
(6)为虚拟机命名,并在安装前配置硬件参数,点击“Finish”。网络选择三节课创建的br0网桥,点击绿色“对勾”开始安装
(7)控制台弹出如下图,安装linux安装步骤安装即可:
virt-manager 可以对虚机进行各种管理操作,界面直观友好,很容易上手。 同时我们也可以用命令 virsh 管理虚机,比如查看宿主机上的虚机: