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)原創發佈於知乎,未經許可,禁止轉載。

weixin.qq.com/r/B0UqMmX (二維碼自動識別)


推薦閱讀:

有哪些市場飽和度低、潛力較大的藍海行業還未被發覺?
紅頂商人胡雪岩是怎樣發跡的?
怎麼評價劉強東?
初創公司如何做到高效發展?
網路電視直播哪家好?

TAG:信息技術IT | 互聯網 | 桌面支持工程師 |