openstack鏡像制作詳解


一:本地部署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
PasswordAuthentication yes

配置完成后重新啟動ssh服務

#systemctl restart sshd

配置完成后,可將本地 /home/kvm鏡像上傳至需要使用的遠程openstack的controller節點使用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM