6到飛起——玩轉 KVM 虛擬機
虛擬機因節約資源、維護方便等原因被廣泛的應用於伺服器生產環境中,常見的虛擬機一般通過 VMware、VirtualBox、Virtual PC 創建。
本文將討論如何使用 CentOS 中的 KVM 組件創建虛擬機。使用 KVM 創建的優點是系統佔用資源更低,而且完全免費,但由於配置相對麻煩,小夥伴們往往無從下手,網上雖然文章多多,但是小白用戶能跟著流程搭建成功的少之又少,這次就簡單說下 KVM 虛擬機創建的過程,讓沒 Linux 基礎的用戶也可以玩起來。
1、宿主機
首先需要一台 CentOS 主機,也稱為宿主機,使用最小化安裝即可。
2、將光碟轉成 iso 放置本地目錄掛載並更改安裝讀取路徑
在 home 目錄下創建一個 iso 和 kvmhome 目錄,將 CentOS 的光碟映像放置在 iso 目錄中並掛載,編輯 CentOS-Media.repo 讀取路徑:
3、安裝需要的套件
[root@kvmserver ~]# yum -y install rpm-build
[root@kvmserver ~]# yum -y install NetworkManager
[root@kvmserver ~]# yum install wget vim lsof -y
[root@kvmserver ~]# yum install gcc gcc-c++ make automake cmake libtool perl -y
[root@kvmserver ~]# yum -y groupinstall Virtualization
[root@kvmserver ~]# yum -y groupinstall "Virtualization Client"
[root@kvmserver ~]# yum -y groupinstall "Virtualization Platform"
[root@kvmserver ~]# yum -y groupinstall "Virtualization Tools"
[root@kvmserver ~]# yum -y install avahi
[root@kvmserver ~]# yum -y install dmidecode
[root@kvmserver ~]# yum install readline-devel bzip2-devel zlib-devel libxml2-devel libxslt-devel openssl-devel kernel-devel pcre-devel boost-devel python-devel python-setuptools -y
4、配置埠訪問策略
編輯/etc/sysconfig/iptables 防火牆策略添加訪問埠:
編輯 /etc/sysconfig/selinux,關閉 SELinux 服務:
編輯 /etc/libvirt/libvirtd.conf 配置虛擬化工具,去掉#注釋,將 mdns_adv 值改為0,重啟服務。
編輯 /etc/libvirt/qemu.conf (配置 qemu.conf,然後把 dynamic_ownership 的值改成0,禁止 libvirtd 動態修改文件的歸屬
user = "root"
group = "root"
dynamic_ownership = 0
5、建立虛擬網路,網橋
[root@kvmserver ~]# cd /etc/sysconfig/network-scripts/ (建立網橋)
[root@kvmserver ~]# cat > ifcfg-br0 <
DEVICE="br0"
TYPE=Bridge
IPADDR=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
ONBOOT=yes
DELAY=0
NM_CONTROLLED=no
EOF
[root@kvmserver ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 (配置宿主機網卡)
DEVICE=eth0
HWADDR=00:22:19:D4:BB:57
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=no
重啟服務
/etc/init.d/messagebus restart
/etc/init.d/avahi-daemon restart
/etc/init.d/libvirtd restart
/sbin/chkconfig messagebus on
/sbin/chkconfig avahi-daemon on
6、安裝虛擬機
[root@kvmserver ~]/usr/bin/virt-install
--connect qemu:///system
--network bridge=br0,model=virtio (選用網橋)
--name CentOS62_1 (機器名)
--ram=1024 (內存)
--vcpus=2 (cpu數量)
--disk path=/home/kvmhome/CentOS62_1.img,bus=ide,size=100 (虛擬機存儲路徑,介面類型,硬碟大小)
--cdrom /home/iso/CentOS_6.2_Final.iso (安裝源路徑)
--vnc --vnclisten=192.168.0.100 (網橋地址)
使用 vnc 鏈接工具進入控制台安裝,訪問地址就是宿主機 IP 加上之前配置的5900埠,如果同時開啟多台埠號會排序自動生成,如5901,5902……以此類推。
安裝完成後,可以使用 virsh list –all 查看安裝的虛擬機與狀態:
7、克隆與管理
如果我們需要多台虛擬機,只需要輸入如下命令即可完成
[root@kvmserver ~]# virt-clone
--original CentOS62_1 (複製的對象)
--name CentOS62_2 (目標名)
--file /home/kvmhome/CentOS62_2.img (存放路徑)
克隆主機後,修改網卡的 mac 地址和 IP。
進入/etc/udev/rules.d/目錄中,找到文件 70-persistent-net.rules 並刪除,reboot 重啟系統,重啟進入系統再次進入/etc/udev/rules.d/目錄中,找到70-persistent-net.rules 並用 vi 工具編輯,把文件中的 eth1改成 eth0,並記錄下該文件中的 mac 地址。如圖:
用 vi 工具編輯/etc/sysconfig/network-scripts/ifcfg-eth0文件,把其中的 Mac 地址更改為和
/etc/udev/rules.d/70-persistent-net.rules 文件中的 MAC 地址一致保存退出。
reboot 重啟後網卡 ok 了。
8、常用命令
查看虛擬機:irsh list --all
啟動虛擬機:virsh start 機器名
關閉虛擬機:virsh destroy
刪除虛擬機:virsh undefine
生成快照:virsh snapshot-create as CentOS_1 snap1
查看快照:virsh snapshot-list CentOS_1
恢復快照:virsh snapshot-revert CentOS_1 snap1
Kvm 也支持圖形化動態配置管理功能,在 CentOS 圖形界面中使用 Virtual Machine Manager,將安裝好的虛擬機依次添加後進行管理。
本文作者:張鑫(點融黑幫),現任點融網桌面支持工程師,熱衷硬體、數碼與黑科技,IT 支持與運維領域工作10餘年。
本文由@點融黑幫(ID:DianrongMafia)原創發佈於知乎,未經許可,禁止轉載。
http://weixin.qq.com/r/B0UqMmXE_ziErSFR9xAV (二維碼自動識別)
推薦閱讀:
※有哪些市場飽和度低、潛力較大的藍海行業還未被發覺?
※紅頂商人胡雪岩是怎樣發跡的?
※怎麼評價劉強東?
※初創公司如何做到高效發展?
※網路電視直播哪家好?