一:本地部署KVM
1.安裝KVM
1.1安裝須知
查看CPU是否支持kvm完全虛擬機。
[root@LINUX ~]# grep "flags" /proc/cpuinfoflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt xsave avx hypervisor lahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi ept vpid |
注釋:如果輸出的信息中有vmx,說明intel處理器支持完全虛擬化。如果顯示svm,說明是AMD的處理器支持虛擬化。
vmware workstation安裝kvm的時候,需要開啟CPU支持虛擬化。在BIOS界面設置
1.2在新機器上安裝KVM
安裝操作系統時選擇上虛擬包即可
安裝KVM包
1.3在現有機器上安裝KVM
(1)安裝kvm和其他虛擬化所需管理軟件包。
[root@LINUX ~]# yum install -y kvm virt-* libvirts bridge-utils qemu-img |
軟件包名稱介紹:
Kvm:軟件包中含有KVM內核模塊,它在默認linux內核中提供kvm管理程序
Libvirts:安裝虛擬機管理工具,使用virsh等命令來管理和控制虛擬機。
Bridge-utils:設置網絡網卡橋接。
Virt-*:創建、克隆虛擬機命令,以及圖形化管理工具virt-manager
Qemu-img:安裝qemu組件,使用qemu命令來創建磁盤等。
(2)加載kvm模塊,查看kvm模塊是否被加載
[root@LINUX ~]# modprobe kvm-intel [root@LINUX ~]# lsmod | grep kvm kvm_intel 54285 0 kvm 333172 1 kvm_intel |
(3)重啟確實KVM是否被加載
[root@LINUX ~]# reboot [root@LINUX ~]# lsmod | grep kvm kvm_intel 54285 0 kvm 333172 1 kvm_intel |
2.配置KVM
2.1. 關閉iptables和selinux
(1)關閉iptables防火牆和selinux。
[root@LINUX ~]# /etc/init.d/iptables stop [root@LINUX ~]# chkconfig iptables off [root@LINUX ~]# chkconfig --list iptables iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@LINUX ~]# vim /etc/sysconfig/selinux SELINUX=disabled [root@LINUX ~]# setenforce 0 |
2.2. 配置橋接
(1)配置eth0、br0網卡
[root@LINUX ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:33:B3:E5 TYPE=Ethernet UUID=142284ae-3173-4b0a-80d8-437c26a96719 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none BRIDGE=br0 [root@LINUX ~]# more /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 HWADDR=00:0C:29:33:B3:E5 TYPE=Bridge UUID=142284ae-3173-4b0a-80d8-437c26a96719 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=10.0.1.149 NETMASK=255.255.255.0 GATEWAY=10.0.1.1 [root@LINUX ~]# /etc/init.d/network restart |
(2)查看目前所有的網橋接口
[root@LINUX ~]# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c2933b3e5 no eth0 virbr0 8000.525400d969b8 yes virbr0-nic |
2.3. 配置VNC服務
(1)修改VNC服務端的配置文件
[root@LINUX ~]# vim /etc/libvirt/qemu.conf vnc_listen = "0.0.0.0" 第十二行,把vnc_listen前面的#號去掉。 |
(2)重啟libvirtd和messagebus服務
[root@LINUX ~]# /etc/init.d/libvirtd restart Stopping libvirtd daemon: [ OK ] Starting libvirtd daemon: libvirtd: initialization failed [FAILED] 解決辦法: [root@LINUX libvirt]# echo "export LC_ALL=en_US.UTF-8" >> /etc/profile [root@LINUX libvirt]# source /etc/profile [root@LINUX libvirt]# /etc/init.d/libvirtd restart Stopping libvirtd daemon: [FAILED] Starting libvirtd daemon: 2014-08-15 16:14:18.595+0000: 2429: info : libvirt version: 0.10.2, package: 29.el6_5.11 (CentOS BuildSystem <http://bugs.centos.org>, 2014-07-31-18:52:08, c6b8.bsys.dev.centos.org) 2014-08-15 16:14:18.595+0000: 2429: warning : virGetHostname:2294 : getaddrinfo failed for 'LINUX': Name or service not known [ OK ] [root@LINUX ~]# /etc/init.d/messagebus restart Stopping system message bus: [ OK ] Starting system message bus: [ OK ] |
3.安裝KVM上虛擬機
3.1. 創建鏡像文件目錄和虛擬磁盤存放目錄
[root@LINUX ~]# mkdir -p /home/iso [root@LINUX ~]# mkdir -p /home/kvm |
|
3.2. 把Centos6.5系統的鏡像文件拷貝到iso目錄下
此處將單機部署手冊中的sucunOs_anydisk.iso放置/home/iso目錄下
|
3.3. 創建kvm虛擬機的磁盤文件
本例創建的磁盤文件為10G,實際使用中應注意下/home的空間,可以設置為100G
[root@LINUX ~]# cd /home/kvm/ [root@LINUX ~]# qemu-img create -f qcow2 -o preallocation=metadata kvm_mode.img 10G Formatting 'kvm_mode.img', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 preallocation='metadata' |
|
3.4. 安裝虛擬機
bridge網絡模式(有獨立IP時使用這種方式)
[root@LINUX ~]# chmod -R 777 /etc/libvirt [root@LINUX ~]# chmod -R 777 /home/kvm [root@LINUX ~]#virt-install --name=kvm_test --ram 4096 --vcpus=4 -f /home/kvm/kvm_mode.img --cdrom /home/iso/sucunOs_anydisk.iso --graphics vnc,listen=0.0.0.0,port=7788, --network bridge=br0 --force --autostart |
Net模式(沒有獨立IP時使用這種方式)
[root@LINUX ~]# chmod -R 777 /etc/libvirt [root@LINUX ~]# chmod -R 777 /home/kvm [root@LINUX ~]#virt-install --name=kvm_test --ram 4096 --vcpus=4 -f /home/kvm/kvm_mode.img --cdrom /home/iso/sucunOs_anydisk.iso --graphics vnc,listen=0.0.0.0,port=7788 --force --autostart |
用VNC連接,進行創建kvm虛擬機(VNC連上之后,跟安裝linux Centos 6.5系統一樣,重新裝一次)
【注】出現上面頁面說明客戶端已經可以連接到kvm上安裝的服務器,點擊continue是如果出現閃退的情況,請修改Option->Expert->ColorLevel 的值為full
二:制作鏡像
用VNC連接上創建的虛擬后,以SUSE12鏡像為例,會進行重裝系統和修改一些系統中配置文件。
1.制作鏡像注意事項
1.1以suse鏡像安裝為例,在安裝時需要注意磁盤分區一定要自動分區(LVM),否則上傳到openstack環境還是無法識別硬盤。
2.修改相關配置文件
2.1.配置網卡
#vim /etc/sysconfig/network/ifcfg-eth0
按下圖進行配置相關參數
配置完成后重啟網絡配置
#systemctl restart network.service
2.2遠程登錄允許
#vim /etc/sysconfig/SuSEfirewall2
打開防火牆相關配置文件后,設置FW_SERVICES_EXT_TCP參數為ssh
FW_SERVICES_EXT_TCP="ssh" |
配置完成后重啟防火牆相關配置文件
#rcSuSEfirewall2 restart
2.3開啟密碼和秘鑰登錄
#vim /etc/ssh/sshd_config
打開文件后找到AuthorizedKeysFile和PasswordAuthentication相關配置
AuthorizedKeysFile .ssh/authorized_keys |
配置完成后重新啟動ssh服務
#systemctl restart sshd
配置完成后,可將本地 /home/kvm中鏡像上傳至需要使用的遠程openstack的controller節點使用。