CentOS6.8 安裝KVM
1获黔、系統(tǒng)環(huán)境
[root@localhost iso]# cat /etc/redhat-release
CentOS release 6.5 (Final)
2柳刮、安裝KVM所有需要的包
[root@localhost iso]# yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v
[root@localhost iso]# yum -y install libguestfs-tools
[root@localhost iso]# /etc/init.d/libvirtd restart
3啟動(dòng)的時(shí)候可能會(huì)報(bào)錯(cuò)如下:
Starting libvirtd daemon: libvirtd: relocation error: libvirtd: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference [FAILED]
解決辦法:
yum upgrade device-mapper-libs
[root@localhost iso]# /etc/init.d/libvirtd restart
檢測(cè)安裝
[root@localhost iso]# virsh -c qemu:///system list
Id 名稱 狀態(tài)
----------------------------------------------------
[root@localhost iso]# lsmod |grep kvm
kvm_intel 54285 0
kvm 333172 1 kvm_intel
[root@localhost iso]# virsh --version
0.10.2
[root@localhost iso]# virt-install --version
0.600.0
[root@localhost iso]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
4莺戒、橋接網(wǎng)卡
# 一定要關(guān)閉NetworkManager
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0 # copy 一份
cat ifcfg-eth0 #修改前的
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.80.40
NETMASK=255.255.255.0
cat ifcfg-eth0 #修改后的
DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
BRIDGE=br0
cat ifcfg-br0
DEVICE="br0"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Bridge"
IPADDR=192.168.80.40
NETMASK=255.255.255.0
/etc/init.d/network restart
[root@localhost network-scripts]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.7446a0f51698 no eth0
virbr0 8000.52540095e5ac yes virbr0-nic
創(chuàng)建文件格式為qcow2的分區(qū)。
qemu-img create -f qcow2 -o preallocation=metadata /home/KVM/centos68.img 20G;
創(chuàng)建虛擬機(jī)
virt-install --name centos68 \ # 虛擬機(jī)名稱
--ram 2048 \ # 內(nèi)存大小
--disk path=/home/KVM/centos68.img,format=qcow2,size=20,bus=virtio \
--vcpus 2 --os-type linux \
--os-variant rhel6 \
--network bridge=br0 \
--location http://mirrors.jsqix.com/centos/6/ \
--graphics none --console pty,target_type=serial \
--extra-args 'console=ttyS0,115200n8 serial'
KVM 常用命令:
1,查看運(yùn)行的虛擬機(jī)
virsh list
2,查看所有的虛擬機(jī)(關(guān)閉和運(yùn)行的虛擬機(jī))
virsh list --all
3,連接虛擬機(jī)
virsh console +域名(虛擬機(jī)的名稱)
4窄潭,退出虛擬機(jī)
ctrl+]
5,關(guān)閉虛擬機(jī)
5.1 virsh shutdown +域名
這個(gè)時(shí)候我在virsh list發(fā)現(xiàn) test02這個(gè)虛擬機(jī)還是在運(yùn)行的,并沒有關(guān)閉酵颁。
我們需要安裝一個(gè)acpid的服務(wù)并啟動(dòng)它嫉你,什么是ACPI?
ACPI是Advanced Configuration and PowerInterface縮寫,高級(jí)配置和電源管理接口躏惋。
acpid中的d則代表daemon幽污。Acpid是一個(gè)用戶空間的服務(wù)進(jìn)程,它充當(dāng)linux內(nèi)核與應(yīng)用程序之間通信的接口簿姨,負(fù)責(zé)將kernel中的電源管理事件轉(zhuǎn)發(fā)給應(yīng)用程序距误。
Acpid是一個(gè)用戶空間的服務(wù)進(jìn)程,它充當(dāng)linux內(nèi)核與應(yīng)用程序之間通信的接口,負(fù)責(zé)將kernel中的電源管理事件轉(zhuǎn)發(fā)給應(yīng)用程序准潭。
其實(shí)攘乒,說明了就是通過這個(gè)服務(wù)來執(zhí)行電源關(guān)閉的動(dòng)作,這也是為什么我們執(zhí)行virsh shutdown +域名無法關(guān)機(jī)的原因惋鹅。
(子機(jī)安裝acpid服務(wù)) 是虛擬機(jī),不是宿主機(jī)
yum install -y acpid
/etc/init.d/acpid start
如果此時(shí)我沒法進(jìn)入子機(jī)安裝acpi協(xié)議的話则酝,那么就無法關(guān)掉該虛擬機(jī),此時(shí)可以用下面這種方法闰集。
5.2 virsh destroy +域名
這種方式的關(guān)閉沽讹,是一種刪除的方式,只是在virsh list中刪除了該虛擬機(jī)武鲁。
6爽雄,掛起虛擬機(jī)
virsh suspend +域名
7,恢復(fù)被掛起的虛擬機(jī)
virsh resume +域名
8沐鼠,子機(jī)隨宿主主機(jī)(母機(jī))啟動(dòng)而啟動(dòng)
virsh autostart + 域名
9挚瘟,取消自動(dòng)啟動(dòng)
virsh auotstart --disable +域名
10,徹底刪除虛擬機(jī)
1, 刪除虛擬機(jī) virsh destroy +域名
2饲梭,解除標(biāo)記 virsh undefine +域名
3乘盖,刪除虛擬機(jī)文件
11,啟動(dòng)虛擬機(jī)并進(jìn)入該虛擬機(jī)
virsh start 域名 --console