Kvm安裝及本地Yum源搭建

Kvm安裝及本地Yum源搭建

Markdown

0.查看Linux運行級別

[root@kvm ~]# runlevel

Markdown

1.更換yum源

http://mirrors.aliyun.com/

1.1.選擇centos、epel鏡像

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

1.2.修改默認yum源

[root@kvm ~]# cd /etc/yum.repos.d/

[root@kvm yum.repos.d]# vi yum.sh

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

[root@kvm yum.repos.d]# sh yum.sh

1.3.清除yum緩存

[root@kvm yum.repos.d]# yum clean all

1.4.生成緩存

[root@kvm yum.repos.d]# yum makecache

2.安裝kvm命令

[root@kvm ~]# yum install qemu-kvm

qemu/模擬器,具備模擬加速功能

libvirt:操作和管理KVM虛機的虛擬化 API,使用 C 語言編寫,可以
由 Python,Ruby, Perl, PHP, Java 等語言調用。可以操作包括 KVM,
vmware,XEN,Hyper-v, LXC 等 Hypervisor。
• Virsh:基於 libvirt 的 命令行工具 (CLI)
• Virt-Manager:基於 libvirt 的 GUI 工具

3.安裝虛擬化管理工具

[root@kvm ~]# yum -y install virt-manager libvirt libvirt-python python-virtinst bridge-utils

Markdown

yum -y install httpd(安裝Apache服務器) createrepo(創建私有云窗口的軟件) reposync(創建同步的軟件)

[root@kvm ~]# yum -y install httpd createrepo reposync

Markdown

[root@kvm ~]# netstat -natp

Markdown

3.1.查看yum源中倉庫

[root@kvm html]# yum repolist

Markdown

3.2.搭建本地yum源

3.2.1搭建本地yum源會節約大量的出口帶寬

[root@kvm yum.repos.d]# yum -y install yum-utils 
yum-utils中有個命令是同步命令reposync 用來同步遠程的yum repository

Markdown

3.2.2參考reposync的幫助,直接把想要同步的yum源直接定位到希望下載的某個目錄,

[root@kvm yum.repos.d]# reposync --help
-d 來刪除本地老舊, yum 源已經不存的安裝包

Markdown

3.2.3開始自動更新 yum 源到本地文件夾

[root@kvm html]# reposync --repoid=base
[root@kvm html]# reposync --repoid=epel

Markdown

3.2.4啓動Apache服務

[root@kvm ~]# service httpd start

Markdown

3.3.訪問本地YUM源

http://192.168.230.88/base/

Markdown

3.4.創建本地Yum源的倉庫

reposync自動同步想要的yum源到指定的路徑,因爲每次同步後,內容可能有所改變,所以需要重新執行createrepo命令重新創建YUM倉庫
[root@kvm ~]# createrepo --help

Markdown

[root@kvm ~]# cretaerepo --update /var/www/html/base/

3.5.使用本地Yum源

[root@kvm yum.repos.d]# vi /etc/yum.repos.d/CentOS-Base.repo

http://192.168.230.88/base/

4.Kvm內核模塊

kvm嵌入到了Linux內核中去
[root@kvm ~]# lsmod | grep kvm

Markdown

如果kvm沒有嵌入到Linux內核中
可以通過命令強制嵌入到Linux內核中
[root@kvm ~]# modprobe kvm
[root@kvm ~]# modprobe kvm-intel

5.在kvm中創建虛擬機

5.1.創建虛擬機磁盤

[root@kvm kvmtest]# qemu-img create -f qcow2 /kvmtest/centos-6.5.qcow2 10G

Markdown

5.2.上傳centos鏡像文件

Markdown

5.3.yum源刪除衝突軟件

[root@kvm kvmtest]# yum -y install virt-install
[root@kvm kvmtest]# yum -y remove virt-install

5.4.創建虛擬機

[root@kvm kvmtest]# virt-install --virt-type kvm --name centos-6.6 --ram 1024 \
> --vcpus 1 \
> --cdrom=/kvmtest/CentOS-6.6-x86_64-minimal.iso \
> --disk /kvmtest/centos-6.6.qcow2,format=qcow2 \
> --network network=default \
> --graphics vnc,listen=0.0.0.0 --noautoconsole \
> --os-type=linux --os-variant=rhel6
ERROR    Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory

出現錯誤

Markdown

5.4.1.出錯是因爲libvirted服務沒有啓動

[root@kvm kvmtest]# service libvirtd start
Starting libvirtd daemon:                                  [  OK  ]
[root@kvm kvmtest]# service libvirtd status
libvirtd (pid  1951) is running...
[root@kvm kvmtest]# chkconfig libvirtd on

Markdown

[root@kvm kvmtest]# virt-install --virt-type kvm --name centos-6.5 --ram 1024 \
> --vcpus 1 \
> --cdrom=/kvmtest/CentOS-6.5-x86_64-minimal.iso \
> --disk /kvmtest/centos-6.5.qcow2,format=qcow2 \
> --network network=default \
> --graphics vnc,listen=0.0.0.0 --noautoconsole \
> --os-type=linux --os-variant=rhel6

virt-install --virt-type kvm --name centos-6.5 --ram 1024 \
--vcpus 1 \
--cdrom=/kvmtest/CentOS-6.5-x86_64-minimal.iso \
--disk /kvmtest/centos-6.5.qcow2,format=qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--os-type=linux --os-variant=rhel6

Markdown

5.5.打開遠程網絡連接軟件

Markdown

5.6.進入虛擬機交互終端

[root@kvm kvmtest]# virsh

Markdown

5.6.1.啓動虛擬機

virsh # start centos-6.5

Markdown

virsh # list --all

Markdown

Markdown

Markdown

發現多了一個橋接設備
[root@kvm kvmtest]# brctl show

Markdown

Markdown

5.6.2.進入虛擬機交互終端

發現無法用鍵盤操作的原因是中文輸入法對這個工具產生了干擾

Markdown

5.6.3.編寫kvm虛擬機的配置文件

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

Markdown

Markdown

[root@localhost ~]# service network restart

Markdown

[root@localhost ~]# ifconfig

Markdown

5.6.4.virsh交互終端命令

• virsh list # 顯示本地活動虛擬機
• virsh start openSuse # 啓動名字爲ubuntu的非活動虛擬機
• virsh create ubuntu.xml # 創建虛擬機(創建後,虛擬機立即執行,成爲活
動主機)
• virsh suspend openSuse # 暫停虛擬機
• virsh resume ubuntu # 啓動暫停的虛擬機
• virsh shutdown ubuntu # 正常關閉虛擬機
• virsh destroy ubuntu # 強制關閉虛擬機
• virsh dominfo openSuse # 顯示虛擬機的基本信息
• virsh dumpxml openSuse # 顯示虛擬機的當前配置文件
• virsh setmem ubuntu 51200 # 給不活動虛擬機設置內存大小
• virsh setvcpus ubuntu 4 # 給不活動虛擬機設置cpu個數
• virsh edit ubuntu # 編輯配置文件(一般用在剛定義完VM)

[root@kvm kvmtest]# cd /etc/libvirt/
[root@kvm libvirt]# ll
total 48
-rw-r--r-- 1 root root   518 May 11  2016 libvirt.conf
-rw-r--r-- 1 root root 12963 May 11  2016 libvirtd.conf
-rw-r--r-- 1 root root  1176 May 11  2016 lxc.conf
drwx------ 2 root root  4096 Jan 14 09:38 nwfilter
drwx------ 3 root root  4096 Jan 14 16:55 qemu
-rw-r--r-- 1 root root 14998 May 11  2016 qemu.conf

Markdown

virsh # vcpuinfo 2

Markdown

virsh # edit 2

Markdown

Markdown

6.CPU虛擬化

一個 KVM 虛機即一個 Linux qemu-kvm 進程,與其他Linux 進程一樣被Linux 進程調度器調度。
• KVM虛機包括虛擬內存、虛擬CPU和虛機I/O設備,其中,內存和CPU的虛擬化由KVM內核模塊負責實現,I/O 設備的虛擬化由QEMU負責實現。
• KVM戶機系統的內存是qumu-kvm進程的地址空間的一部分。
• KVM虛機的vCPU作爲線程運行在qemu-kvm進程的上下文中。

Markdown

7.CPU硬件情況

[root@kvm libvirt]# numactl --hardware

Markdown

8.管理VM(重啓,關閉)

要通過xshell對kvm虛擬機進行管理的話
要在虛擬機上安裝acpid

[root@localhost ~]# yum install acpid

Markdown

[root@localhost ~]# service acpid start

Markdown

[root@localhost ~]# chkconfig acpid on

Markdown

virsh # shutdown 2

Markdown

Markdown

virsh # list
Id    Name                           State
----------------------------------------------------

virsh # list --all
Id    Name                           State
----------------------------------------------------
-     centos-6.5                     shut off

Markdown

virsh # vcpuinfo centos-6.5

Markdown

Markdown

Markdown

[root@kvm ~]# iptables -t nat -S

Markdown

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章