基于內核的虛擬機 Kernel-based Virtual Machine(KVM)是一種內建于 Linux 中的開源虛擬化技術。具體而言,KVM 可幫助您將 Linux 轉變?yōu)樘摂M機監(jiān)控程序,使主機計算機能夠運行多個隔離的虛擬環(huán)境,即虛擬客戶機或虛擬機(VM)。
創(chuàng)建虛擬機前需要先在宿主機上做的操作
- 安裝對應的虛擬化組件
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y
- 安裝完成之后會自動創(chuàng)建一個虛擬交換機virbr0,使用NAT網絡,由于只做了SNAT,虛擬機可以訪問外部網絡,但外部網絡無法訪問虛擬機,因此我們需要將網絡模式改為橋接網絡
刪除默認的virbr0虛擬交換機
[root@localhost images]# virsh net-list
Name State Autostart Persistent
----------------------------------------------------------
default active yes yes
[root@localhost images]# virsh net-destroy default
Network default destroyed
[root@localhost images]# virsh net-undefine default
Network default has been undefined
[root@localhost images]# systemctl restart libvirtd
- 創(chuàng)建橋設備(也就是虛擬交換)
[root@localhost network-scripts]# cat ifcfg-virbr1
DEVICE="virbr1"
TYPE="Bridge"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="x.x.x.x"
NETMASK="x.x.x.x"
GATEWAY="x.x.x.x"
- 修改物理網卡配置,讓網卡接入虛擬交換機,作為橋設備的網口使用
[root@localhost network-scripts]# cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BRIDGE=virbr1
- 重啟網絡讓配置生效
虛擬機創(chuàng)建過程
- 創(chuàng)建磁盤
qemu-img create -f qcow2 kvm1.qcow2 80G -o preallocation=falloc
qemu-img命令是一個磁盤鏡像管理工具,默認是動態(tài)分配工具的,-o preallocation=falloc/full可以指定磁盤預分配策略,full模式有置零操作會慢很多
- 創(chuàng)建虛擬機
virt-install --name=kvm1 --vcpus=4 --memory=8192 --location=/data01/iso/CentOS-7-x86_64-DVD-1708.iso --disk path=/data01/kvm/images/kvm1.qcow2 --network bridge=virbr1 --graphics none --extra-args='console=ttyS0'
--name=kvm1 表示為創(chuàng)建的虛擬機命名為kvm1
--vcpus=4 表示設置虛擬機cpu為4核
--memory=8192 表示虛擬機內存為8G
--location=/data01/iso/CentOS-7-x86_64-DVD-1708.iso 表示用這個路徑下的iso鏡像安裝虛擬機
--disk path=/data01/kvm/images/kvm1.qcow2 表示指定虛擬機的磁盤鏡像路徑
--network bridge=virbr1 表示虛擬機使用的是橋接網絡,橋接設備為virbr1
--graphics none 表示不使用圖形化控制臺安裝虛擬機
--extra-args='console=ttyS0' 表示為虛擬機指定內核啟動時的參數,console=ttyS0指分配一個ttyS0的虛擬終端,之后可以在宿主機執(zhí)行virsh console kvm1命令登錄kvm1虛擬機的控制臺,退出按ctrl鍵和]鍵
- 克隆虛擬機
virt-clone --auto-clone -o kvm1 -n kvm2
通過kvm1虛擬機自動克隆出kvm2虛擬機