KVM仮想化技術Centos6.5に配備

KVMとは何ですか?

名前は、KVMのカーネルベースの仮想マシン(カーネルベースの仮想マシン)であり、  Linuxの  ハイパーバイザーにカーネルモジュールなどのLinuxカーネルモジュールいます:

      またRed Hatは買収されたQuramnet、2008年に同社が開発しました。
      それは、x86(32ビットおよび64ビット)、S390、PowerPCの他のCPUをサポートします。
      2.6.20それは、LinuxからそれはLinuxカーネルに含まれているため、モジュールとして。
      これは、仮想化拡張機能のCPUをサポートする必要があります。
      それは完全にオープンソースです。
KVMのアーキテクチャ

KVMは完全な仮想化拡張ベースの仮想化ソリューション(Intel VTまたはAMD-V)は、オープンソースのLinuxネイティブのx86ハードウェアです。KVMは、仮想マシンは、標準的なLinuxのスケジューラによってスケジュール従来のLinuxプロセスとして実装され、各仮想CPUの仮想マシンは、通常のLinuxプロセスとして実装されます。これは、LinuxカーネルKMV既存の機能を使用することが可能となります。

しかし、KVM自体はアナログでそれを提供し、クライアント・サーバの仮想アドレス空間を設定するには/ dev / KVMインタフェースを介して、お客様のハードウェア・シミュレーション・プログラム空間のニーズを行っていないI / O、およびホスト表示に戻ってマッピングされたそのビデオ表示画面。現在、このアプリケーションはQEMUです。

Linuxでは、カーネル空間と仮想マシン上のユーザー・スペース:

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

ゲスト:KVM置か限られたCPUモードのいずれかで実行CPU(仮想CPU)、メモリ、ドライブ(コンソール、カード、I / Oデバイスドライバなど)を含むクライアントシステム。
KVM:、カーネル空間で実行している仮想CPUとメモリのステージの、およびクライアントI / Oの傍受を提供します。ゲストのI / OプロセスにKVM、QEMUを傍受された後。
QEMU:QEMUは、仮想マシンのKVMをコードし、ユーザ空間で実行するように変更されたハードウェアI / Oの仮想化を提供し、IOCTL DEV / KVMデバイスとのKVM /と対話します。
KVM機能

KVMサポートされている機能は次のとおりです。

      メモリとスーパーサブCPUのサポート(オーバーコミット)は、
      準仮想化I / O(のvirtio)サポート
      ホットスワップ可能(CPU、ブロックデバイス、ネットワーク機器など)
      対称型マルチプロセッシングのサポート(対称型マルチプロセッシング、SMPと略記)
      ライブマイグレーションをサポートするために(ライブマイグレーション)
       PCIデバイスの直接割り当てと1つのI / O仮想化(SR-IOV)サポート
      ページ(KSM)と組み合わせたカーネルサポート
      サポートNUMA(非一様メモリ・アクセス、構造不均一メモリ・アクセス)
KVM一般的なツール
      libvirtの:Cで書かれたKVM仮想マシンを、操作および管理するための仮想化APIは、PythonやRubyの、PerlやPHP、呼び出すことができたJava およびその他の言語。操作は、KVM、VMware社、XEN、ハイパー含まれる V、LXC ハイパーバイザーなどを。
      virshを:に基づくlibvirtのコマンド -lineツール(CLI)
      のlibvirtベースのGUIツール:仮想環境マネージャ
      のvirt-V2V:フォーマットの仮想マシンの移行ツール
      (KVM仮想マシンを作成する仮想環境のインストール:virt- *ツールが含まれ、コマンド仮想環境、-lineツール) -viewer(仮想画面に接続されている工作機械)、仮想環境のクローン(仮想マシン・ツールのクローンを作成する)のような、でvirt-トップ
      sVirt:セキュリティツール
KVMのインストール

CPUが仮想化をサポートしているかどうかを確認するため、インストールの前に、

LntelのCPU:
[ルート@ localhostの〜]#猫の/ proc / cpuinfoの|はgrepのVMX

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

上記の操作出力する場合は、CPUが仮想化をサポートして示し

実験環境
KVM:CentOSに 6.5 64ビットオペレーティングシステム
メモリ4ギガバイト
のハードドライブ20G

オープンCPUの仮想化のサポート:

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

インストール依存性
[ルート@ localhostの〜]#yumを-yのqemu-kvmにQEMU-KVM-ツールのpython-virtinst.noarch QEMU-IMGブリッジ-utilsのlibvirtのはvirt-managerのインストール

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

查看是否加载了KVM模块
[root@localhost ~]# lsmod | grep kvm
kvm_intel              54285  0
kvm                   333172  1 kvm_intel
 
在libvirt中运行KVM网络有两种方法:NAT和bridge,默认是NAT。

将以bridge(桥接模式)为例。
[root@localhost ~]# ip a
1: lo:  mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:88:85:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.113/24 brd 192.168.2.255 scope global eth0
    inet6 fe80::20c:29ff:fe88:8564/64 scope link
       valid_lft forever preferred_lft forever
3: pan0:  mtu 1500 qdisc noop state DOWN
link/ether c2:34:e0:1c:77:37 brd ff:ff:ff:ff:ff:ff
 
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-br0
[root@localhost network-scripts]# vim ifcfg-br0
DEVICE=br0
HWADDR=00:0c:29:88:85:64
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.2.113
NETMASK=255.255.255.0
 
[root@localhost network-scripts]# vim ifcfg-eth0
 
DEVICE=eth0
HWADDR=00:0c:29:88:85:64
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BRIDGE="br0"  #桥接虚拟网卡名称
 
[root@localhost ~]# /etc/init.d/network restart

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

[root@localhost ~]# ip a

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

安装KVM
[root@localhost ~]# mkdir -pv /data_kvm/{store,iso}
mkdir: 已创建目录 "/data_kvm"
mkdir: 已创建目录 "/data_kvm/store"
mkdir: 已创建目录 "/data_kvm/iso"
进入图形界面
[root@localhost ~]# virt-manager

连接出错,重启就好了

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

重启libvirtd
[root@localhost ~]# /etc/init.d/libvirtd  start

[root@localhost ~]# virt-manager

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

添加池

双击localhost{QEMU}----存储-----“+”添加池

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

选择浏览-----找到刚才创建的目录------完成

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

创建存储卷

单机刚创建的KVM01池----新建卷

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

新建虚拟机

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

具体安装过程与安装Linux系统一样(linux系统安装教程)

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

查看KVM的配置文件存放目录
[root@localhost ~]# ls /etc/libvirt/qemu
centos6.5.xml  networks
查看虚拟机状态
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 2     centos6.5                      running(开启)
虚拟机的关机、开机自启等操作
要保证acpid服务安装并运行
[root@localhost ~]# yum -y install acpid

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

[root@localhost ~]# /etc/init.d/acpid start
 
[root@localhost ~]# /etc/init.d/haldaemon stop
正在关闭 HAL 守护进程:                                    [确定]
 
[root@localhost ~]# /etc/init.d/acpid start
[root@localhost ~]# /etc/init.d/haldaemon start
启动 HAL 守护进程:                                        [确定]
 
[root@localhost ~]# /etc/init.d/acpid status
acpid (pid  1417) 正在运行...
 
关机KVM虚拟机
[root@localhost ~]# virsh shutdown centos6.5
域 centos6.5 被关闭
 
[root@localhost ~]# virsh destroy centos6.5
域 centos6.5 被删除

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos6.5                      关闭
 
开机KVM虚拟机
[root@localhost ~]# virsh start centos6.5
域 centos6.5 已开始
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 4     centos6.5                      running
 
虚拟机伴随宿主机自动启动
[root@localhost ~]# virsh autostart centos6.5
域 centos6.5标记为自动开始
 
[root@localhost ~]# ls /etc/libvirt/qemu
autostart  centos6.5.xml  networks
 
导出虚拟机配置
[root@localhost ~]# virsh dumpxml centos6.5 > /etc/libvirt/qemu/centos6.5_bak.xml
 
删除虚拟机
[root@localhost ~]# virsh undefine centos6.5
 
修改虚拟机配置信息
[root@localhost ~]# virsh edit centos6.5
KVM文件管理,raw格式转换为qcow2格式

虚拟机磁盘文件分为raw与qcow2格式,KVM默认格式是raw裸设备。

raw好处:性能好、速度最快。缺点:不支持一些新的功能。如:镜像、zlib磁盘压缩,AES加密等

libguestfs-tools工具实现格式转换

[root@localhost ~]# yum -y install libguestfs-tools

Centos6.5に配備Centos6.5のKVM仮想化技術上で展開のKVM仮想化技術

 [root@localhost ~]# qemu-img info /data_kvm/store/KVM011.img
image: /data_kvm/store/KVM011.img
file format: raw
virtual size: 3.9G (4194304000 bytes)
disk size: 3.9G
 
[root@localhost ~]# virsh shutdown centos6.5
域 centos6.5 被关闭
 
格式转换,需要一些时间
[root@localhost ~]# qemu-img convert -f raw -O qcow2 /data_kvm/store/KVM011.img /data_kvm/store/KVM011.qcow2
 
[root@localhost ~]# ls /data_kvm/store/
KVM011.img  KVM011.qcow2
 
[root@localhost ~]# ls /etc/libvirt/qemu
autostart  centos6.5_bak.xml  centos6.5.xml  networks
 
[root@localhost ~]# virsh edit centos6.5
编辑了域 centos6.5 XML 配置。
 
修改centos6.5的xml配置文件
 
23       
24       
 
Virt-cat命令,类似于cat,可查看虚拟机里的文件
 
查看虚拟机里的network文件,需要些时间
[root@localhost ~]# virt-cat -a /data_kvm/store/centos6.5.qcow2 /etc/sysconfig/network
 
Virt-edit命令,用于编辑文件,用法与vim基本相同
[root@localhost ~]# virt-edit -a /data_kvm/store/centos6.5.qcow2 /etc/sysconfig/networ
 
Virt-df命令用查看虚拟机磁盘信息
[root@localhost ~]# virt-df -h centos6.5
Filesystem                                Size       Used  Available  Use%
centos6.5:/dev/sda1                       484M        33M       427M    7%
centos6.5:/dev/sdb1                       4.2G       4.2G          0  100%
centos6.5:/dev/VolGroup/lv_root           3.0G       1.0G       1.8G   34%
虚拟机的克隆
[root@localhost ~]# virsh destroy centos6.5
域 centos6.5 被删除
 
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos6.5                      关闭
 
从centos6.5克隆为centos6.5-clome
[root@localhost ~]# virt-clone -o centos6.5 -n centos6.5-clome -f /data_kvm/store/KVM011-clone.qcow2
 
Clone 'centos6.5-clome' created successfully.
 
[root@localhost ~]# virsh list --all
 Id    名称                         状态
----------------------------------------------------
 -     centos6.5                      关闭
 -     centos6.5-clome                关闭
虚拟机的快照
创建快照
[root@localhost ~]# virsh snapshot-create centos6.5
Domain snapshot 1535644190 created
 
1535644190:快照的版本号(距离1970年1月1日过去了多少秒)
 
查看快照信息
[root@localhost ~]# virsh snapshot-list centos6.5
 名称               Creation Time             状态
------------------------------------------------------------
 1535644190           2018-08-30 23:49:50 +0800 shutoff

 
恢复快照
[root@localhost ~]# virsh snapshot-list centos6.5
 名称               Creation Time             状态
------------------------------------------------------------
 1535644190           2018-08-30 23:49:50 +0800 shutoff
 1535644574           2018-08-30 23:56:14 +0800 shutoff
 
[ルートlocalhostの@〜]#のvirshのスナップショット-戻すcentos6.5 1535644190 
[ローカルホストルート@〜]#のvirshのスナップショット電流centos6.5 

  1535644190 
  遮断
 
 
删除快照
[ルートlocalhostの@〜]#件のvirshのスナップショット削除centos6.5 1535644190 
ドメインのスナップショット1535644190削除
 
[ルート@ localhostの〜]#のvirshをスナップショット・リストcentos6.5 
 名称作成時間状态
------------------------------ ------------------------------ 
 1535644574 2018年8月30日夜11時56分14秒0800シャットオフ

 

おすすめ

転載: www.cnblogs.com/linuxprobe-sarah/p/11108729.html