CentOS7上安裝KVM部署虛擬機器
阿新 • • 發佈:2018-12-06
一、虛擬機器部署前準備
安裝KVM
宿主機
準備一臺虛擬機器並安裝centos系統
配置基本要求:記憶體2G,處理器2核,硬碟10G,支援虛擬化。
掛載新加硬碟
# fdisk -l # fdisk /dev/sdb # mkfs.ext4 /dev/sdb1 # vim /etc/fstab /dev/sdb1 /kvm_data ext4 defaults 1 1 # mkdir /kvm_data # mount -a # df -h 檔案系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 13G 3.7G 8.8G 30% / devtmpfs 899M 0 899M 0% /dev tmpfs 911M 0 911M 0% /dev/shm tmpfs 911M 9.6M 902M 2% /run tmpfs 911M 0 911M 0% /sys/fs/cgroup /dev/sda1 1014M 142M 873M 14% /boot tmpfs 183M 0 183M 0% /run/user/0 /dev/sdb1 9.8G 37M 9.2G 1% /kvm_data
檢視cpu引數是否支援虛擬化
# grep -E 'vmx|svm' /proc/cpuinfo
安裝kvm
# yum install -y virt-* libvirt bridge-utils qemu-img
配置網絡卡
配置主網絡卡
# cp ifcfg-ens33 ifcfg-ens33_bak
# cp ifcfg-ens33 ifcfg-br0
# vim ifcfg-ens33
修改以下內容:
...
...
# UUID=b44bab92-3cec-490c-aa5a-20659668de16 #登出掉
BRIDGE=br0 #新增此內容
配置橋接網絡卡
# vim ifcfg-br0
修改以下內容:
...
...
TYPE=Bridge # 修改模式
# UUID=b44bab92-3cec-490c-aa5a-20659668de16 #登出該行內容
NAME=br0
DEVICE=br0
檢視網絡卡配置
# systemctl restart network # ip addr ens33網絡卡的IP到br0網絡卡上,配置完成。 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000 link/ether 00:0c:29:e1:3f:50 brd ff:ff:ff:ff:ff:ff 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:e1:3f:50 brd ff:ff:ff:ff:ff:ff inet 192.168.61.130/24 brd 192.168.61.255 scope global noprefixroute dynamic br0 valid_lft 1198sec preferred_lft 1198sec inet6 fe80::b4f6:41d5:c982:f4d4/64 scope link noprefixroute valid_lft forever preferred_lft forever
啟動KVM服務
# lsmod | grep kvm #檢視kvm模組是否載入
kvm_intel 174841 0
kvm 578518 1 kvm_intel
irqbypass 13503 1 kvm
# systemctl start libvirtd # 啟動libvirtd服務
# ps aux |grep libvirtd # 檢查服務程序
root 5744 2.2 0.1 614840 14120 ? Ssl 23:02 0:00 /usr/sbin/libvirtd
root 5872 0.0 0.0 112664 964 pts/1 R+ 23:02 0:00 grep --color=auto libvirtd
# brctl show # 可以看到兩個網絡卡
bridge name bridge id STP enabled interfaces
br0 8000.000c29f1912c no eno16777728 # 我們配置的橋接網絡卡
virbr0 8000.525400240b50 yes virbr0-nic # NAT模式的網絡卡
準備映象檔案
# ll /wh_k/CentOS-6.5-x86_64-bin-DVD1.iso
-rw-r--r-- 1 root root 4467982336 11月 30 2016 /wh_k/CentOS-6.5-x86_64-bin-DVD1.iso
二、安裝虛擬機器
安裝虛擬機器
# virt-install --name=test01 --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel6 --location=/wh_k/CentOS-6.5-x86_64-bin-DVD1.iso --disk path=/kvm_data/test01.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
引數說明:
--name 指定虛擬機器的名稱
--memory 指定分配給虛擬機器的記憶體資源大小
--maxmemory 指定可調節的最大記憶體資源大小,因為KVM支援熱調整虛擬機器的資源
--vcpus 指定分配給虛擬機器的CPU核心數量
--maxvcpus 指定可調節的最大CPU核心數量
--os-type 指定虛擬機器安裝的作業系統型別
--os-variant 指定系統的發行版本
--location 指定ISO映象檔案所在的路徑,支援使用網路資源路徑,也就是說可以使用URL
--disk path 指定虛擬硬碟所存放的路徑及名稱,size 則是指定該硬碟的可用大小,單位是G
--bridge 指定使用哪一個橋接網絡卡,也就是說使用橋接的網路模式
--graphics 指定是否開啟圖形
--console 定義終端的屬性,target_type 則是定義終端的型別
--extra-args 定義終端額外的引數
檢視安裝的虛擬機器
# virsh list --all
Id 名稱 狀態
----------------------------------------------------
- test01 關閉
虛擬機器命令(啟動、訪問、停止)
# virsh start test01 # 啟動虛擬機器
# virsh console test01 # 進入指定的虛擬機器,進入的時候還需要按一下回車
# virsh shutdown test01 # 關閉虛擬機器
# virsh destroy test01 # 強制停止虛擬機器
# virsh undefine test01 # 徹底銷燬虛擬機器,會刪除虛擬機器配置檔案,但不會刪除虛擬磁碟
# virsh autostart test01 # 設定宿主機開機時該虛擬機器也開機
# virsh autostart --disable test01 # 解除開機啟動
# virsh suspend test01 # 掛起虛擬機器
# virsh resume test01 # 恢復掛起的虛擬機器
配置內建虛擬機器IP( dhclient)
進入內建虛擬機器執行命令:
# dhclient eth0 # 獲取IP地址 # 獲取IP地址
# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:00:0C:43:26
inet addr:192.168.61.128 Bcast:192.168.61.255 Mask:255.255.255.0
...
...
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改啟動模式
ONBOOT=yes
# ping www.baidu.com
# poweroff
至此,虛擬機器安裝完成。