KVM仮想化
1、KVM仮想化導入とアプリケーションのシナリオ
KVM仮想化とは何ですか?
KVM、カーネルレベルの仮想化技術のカーネルベースの仮想マシン。KVMは、(このような技術やAMD VなどのIntel VT技術)ハードウェア仮想化のサポートが必要です。完全にハードウェアベースの仮想化はされています。仮想化は、互いにそれほどから分離され、同時に異なる物理サーバCaozuoxitong複数のアナログコンピュータのハードウェア(CPU、メモリ、ハードドライブ、ネットワークカード)を実行することによって達成される各Caozuojitongとアプリケーションそして独立した空間内で互いに独立して実行することができ、あなたはすべてのリソースの使用率とサービスの向上、リソースの動的割り当て、柔軟なスケジューリング、クロスドメインの共有を実現することができます人生柔軟なアプリケーションの散歩変更する必要があります。これにより、大幅にサーバーの効率を向上させることができます。
KVMのアーキテクチャ
KVM基本的に2つのコンポーネント:
* kvm 驱动 现在已经是Linux内核的一个模块了,它的作用主要是负责虚拟机的创建,虚拟内存的分配 虚拟CPU寄存器的读写和虚拟cpu的运行
* 另一个组件是 Qemu QEMU是一个通用的开源机器模拟器和虚拟器,其主要的功能是用于模拟虚拟机的用户空间组件,提供io 设备模型,访问外设的途径
何QEMUこと?
Qemu 是纯软件设计的虚拟化模拟器,几乎可以模拟任何硬件设备,我们最熟悉的就是能够模拟一台能够独立运行操作系统的虚拟机,虚拟机认为自己和虚拟机打交道,但其实是和Qemu模拟出来的硬件打交道,Qemu 将这些真正的指令转译给真正的硬件
* 仮想化技術の利点
(1)降低运营成本
(2)提高应用兼容性
(3)加速应用部署
(4)提高服务可用性
(5)提升资源利用率
(6)动态调度资源
(7)降低能源消耗
KVMのシナリオ
* 场景1:只有一台服务器,但是要运行多个版本的软件,不同版本之间还相互冲突
* 场景2:机房的迁移,物理机在运输过程中容易损坏,导致数据丢失
* 场景3:openstack部署太难!步骤太繁琐,如何体验最新版的openstack
* 场景4:开发环境和测试环境经常损坏,运维重复装系统
* 场景5:业务的扩张,需要快速部署10个一模一样的集群
2、KVM仮想化のインストール
* サーバーの計画
オペレーティングシステム | ホスト名 | IPアドレス | メモリサイズ | ハードディスクのサイズ |
---|---|---|---|---|
CentOS7.4 | kvm01 | 10.0.0.11/24 | 4G | 100グラム |
- 基本的な環境を設定します
// 查看当前系统版本
[root@kvm01 ~]# hostnamectl
Static hostname: kvm01
Icon name: computer-vm
Chassis: vm
Machine ID: 6878674c84644fd381a5e3a82d80cf18
Boot ID: fd8e37aca7e4421fa5674fc0fff147e9
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.el7.x86_64
Architecture: x86-64
// 设定主机名
[root@kvm01 ~]# hostnamectl set-hostname kvm01
// 关闭防火墙
[root@kvm01 ~]# systemctl stop firewalld
[root@kvm01 ~]# systemctl disable firewalld
// 关闭Selinux
[root@kvm01 ~]# sed -i '/SELINUX=/cSELINUX=disabled' /etc/selinux/config
[root@kvm01 ~]# setenforce 0
// 配置hosts解析
[root@kvm01 ~]# echo "10.0.0.11 kvm01" >> /etc/hosts
* 確認オープン仮想化
KVMは、ハードウェアのサポートを必要とするので、オープン仮想化をサポートする必要があります
1.開いている仮想CPUにBIOS設定で、直接ハードウェアデバイス
と同じ仮想化支援開くようにBIOSを入力する2. PC
対応VT-EPTの仮想化技術を開くために、対応する仮想マシンを見つけるため3.VMの必要性を
# 没有任何内容则表示服务器没有启用虚拟化
[root@kvm01 ~]# egrep '(vmx|svm)' /proc/cpuinfo
* KVMをインストール
#安装kvm依赖
yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install openssh-askpass –y
#启动libvirtd服务
systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service
#注意: 启动后会新增一块virbr0网络
创建桥接网络
virsh iface-bridge eth0 br0
KVM仮想マシンにインストールCentOS7システム
* WindowsシステムにインストールTightVNCにソフトウェア
` http://www.tightvnc.com ` `
- / optディレクトリにアップロードxftp isoイメージにより、
* KVMシステムは、CentOSのインストール7
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
//参数概述
--virt-type:指定虚拟机类型(kvm、qemu、xen)
--name:指定虚拟机名称
--raw:指定虚拟机使⽤用内存大小
--cpu:指定cpu的核数(默认为1)
--cdrom:指定虚拟机安装的ISO镜像
--disk:指定虚拟机数据存储磁盘qcow2
--network:指定虚拟机网络类型, 默认nat,常用bridge
--graphics:指定虚拟机可连接⽅方式, 比如VNC
--noautoconsole:不连接虚拟机图形界面控制台
* 表示マップは成功です
* 接続するためのVNCソフトウェアを使用します
* 一般的なインストールCentOSの7(システムが最初のeth0にカード名がインストールされている場合、最初から唯一のオープン、IPアドレスの選択基準ディスクパーティションのパーティションを設定しないことができ、ネットワークを構成するとき)
* 結果は:
KVM仮想マシンは、Windowsのシステムをインストールするには
アップロード窓もの/ optディレクトリに反映されています
# 创建qcow2格式的虚拟磁盘
[root@kvm01 opt]# qemu-img create -f qcow2 windows7.qcow2 +50G
[root@kvm01 opt]# ls -l
total 18684784
-rw-r--r-- 1 qemu qemu 197120 Dec 5 21:28 centos7.qcow2
-rw-r--r-- 1 qemu qemu 1844969472 Dec 5 21:58 Centos7u5.qcow2
-rw-r--r-- 1 qemu qemu 4470079488 Dec 4 23:00 CentOS-7-x86_64-DVD-1804.iso
-rw-r--r-- 1 qemu qemu 3420557312 Dec 15 21:08 Windows7.iso
-rw-r--r-- 1 root root 9397534720 Dec 16 02:04 windows7.qcow2
# virt-install命令创建windows虚拟机
[root@kvm01 opt]# virt-install --name Windows7 --virt-type kvm --ram 2048 --cdrom=/opt/Windows7.iso --disk path=/opt/windows7.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
# 注意: Win7 安装过程, 内存与磁盘不够会导致系统安装慢或失败
-
VNCを使用するには、接続して、Windowsのソフトウェアをインストールするには
- 結果図:(インストールプロセスが比較的遅いです)
# 查看所有的KVM虚拟机
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
- Windows7 running
- centos7 shut off