天天看點

Linux虛拟化KVM介紹及環境搭建(1)

KVM 是基于虛拟化擴充(Intel VT 或者 AMD-V)的 X86 硬體的開源的 Linux 原生的全虛拟化解決方案。KVM 中,虛拟機被實作為正常的 Linux 程序,由标準 Linux 排程程式進行排程;虛機的每個虛拟 CPU 被實作為一個正常的 Linux 程序。這使得 KMV 能夠使用 Linux 核心的已有功能。

1、環境準備

[[email protected] ~]# grep -E 'vmx|svm' /proc/cpuinfo  #(檢視是否支援虛拟化)

Linux虛拟化KVM介紹及環境搭建(1)

注意:intel為vmx,adm為svm

2、确定主控端相關參數

[[email protected] ~]# cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq -c #CPU型号

[[email protected] ~]# cat /proc/cpuinfo | grep physical | sort -n | uniq -c #CPU核數

Linux虛拟化KVM介紹及環境搭建(1)
Linux虛拟化KVM介紹及環境搭建(1)

2*2 即4核cpu

[[email protected] ~]# dmidecode | grep -A16 "Memory Device" | grep Speed | sort -n | uniq -c #主頻

3、檢查相關Yum源

配置好公共yum源,推薦網易yum源。

關閉selinux

[[email protected]~]# vi /etc/sysconfig/selinux

SELINUX=disabled

4、部署KVM

  • libvirt:操作和管理KVM虛機的虛拟化 API,使用 C 語言編寫,可以由 Python,Ruby, Perl, PHP, Java 等語言調用。可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。
  • virsh:基于 libvirt 的 指令行工具 (CLI)
  • virt-Manager:基于 libvirt 的 GUI 工具
  • virt-v2v:虛機格式遷移工具
  • virt-* 工具:包括 Virt-install (建立KVM虛機的指令行工具), Virt-viewer (連接配接到虛機螢幕的工具),Virt-clone(虛機克隆工具),virt-top 等
  • sVirt:安全工具

5、Yum安裝kvm

[[email protected] ~]# yum -y install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager

[[email protected] ~]# lsmod | grep kvm  #驗證kvm子產品是否添加

kvm_intel             162153  0

kvm                   525259  1 kvm_intel   #配置軟連接配接,便于管理。

6、設定libvirtd服務自啟

[[email protected] ~]# systemctl enable libvirtd

[[email protected] ~]# systemctl start libvirtd

[[email protected] ~]# virsh -c qemu:///system list   #檢視虛拟機環境(virsh list --all)

 Id    Name                           State

----------------------------------------------------

[[email protected] ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

7、建立主控端相關目錄

[[email protected]~]#mkdir -p /data/images #存放kvm虛拟機目錄

[[email protected]~]#mkdir -p /data/iso # 存放ISO鏡像目錄

8、配置網橋

新增虛拟網橋

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

NAME=eth0

DEVICE=eth0

ONBOOT=yes

BRIDGE=br0

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0

TYPE="Bridge"

BOOTPROTO=static

DEVICE="br0"

ONBOOT="yes"

DNS1=223.5.5.5

IPADDR=172.24.8.32

PREFIX=24

GATEWAY=172.24.8.2

DELAY="0"

[[email protected] ~]# vi /etc/sysctl.conf #修改sysctl.conf

net.ipv4.ip_forward=1

[[email protected] ~]# sysctl -p /etc/sysctl.conf

[[email protected] ~]# systemctl restart network  #重新開機網卡服務

檢視網橋

[[email protected] ~]# brctl show

bridge  name    bridge id                STP enabled    interfavces

br0             8000.000c29dd8149       no             eth0

virbr0         8000.525400a5f00a         yes            vurbr0-nic