系統環境 VMware workstation
系統 CentOS-7-x86_64-DVD-1810
以下需注意:本文由多篇博客組成,作者爲了防止忘記而記錄,途中有些有誤地方,比如10.10.10.0/24網段的,應該改成10.1.1.0/24網段,爲了節省時間,部分圖取決於https://www.linuxprobe.com/chapter-22.html
安裝前需要修改 /etc/hosts文件,添加 127.0.0.1 op.sealin.top(op.sealin.top爲當前機器名)
# yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
# yum install -y openstack-packstack
# packstack --allinone //在執行此處報錯,一個是關於NetworkManager,關閉即可,但執行到control.pp報錯,後來把demo模塊關閉即可,命令如下:
# packstack --allinone --provision-demo=n
Welcome to Installer setup utility
Installing:
Clean Up [ DONE ]
Setting up ssh keys [ DONE ]
Discovering hosts' details [ DONE ]
Adding pre install manifest entries [ DONE ]
Preparing servers [ DONE ]
Adding AMQP manifest entries [ DONE ]
Adding MySQL manifest entries [ DONE ]
Adding Keystone manifest entries [ DONE ]
Adding Glance Keystone manifest entries [ DONE ]
Adding Glance manifest entries [ DONE ]
Adding Cinder Keystone manifest entries [ DONE ]
Adding Cinder manifest entries [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Adding Nova API manifest entries [ DONE ]
Adding Nova Keystone manifest entries [ DONE ]
Adding Nova Cert manifest entries [ DONE ]
Adding Nova Conductor manifest entries [ DONE ]
Creating ssh keys for Nova migration [ DONE ]
Gathering ssh host keys for Nova migration [ DONE ]
Adding Nova Compute manifest entries [ DONE ]
Adding Nova Scheduler manifest entries [ DONE ]
Adding Nova VNC Proxy manifest entries [ DONE ]
Adding Openstack Network-related Nova manifest entries[ DONE ]
Adding Nova Common manifest entries [ DONE ]
Adding Neutron API manifest entries [ DONE ]
Adding Neutron Keystone manifest entries [ DONE ]
Adding Neutron L3 manifest entries [ DONE ]
Adding Neutron L2 Agent manifest entries [ DONE ]
Adding Neutron DHCP Agent manifest entries [ DONE ]
Adding Neutron LBaaS Agent manifest entries [ DONE ]
Adding Neutron Metering Agent manifest entries [ DONE ]
Adding Neutron Metadata Agent manifest entries [ DONE ]
Checking if NetworkManager is enabled and running [ DONE ]
Adding OpenStack Client manifest entries [ DONE ]
Adding Horizon manifest entries [ DONE ]
Adding Swift Keystone manifest entries [ DONE ]
Adding Swift builder manifest entries [ DONE ]
Adding Swift proxy manifest entries [ DONE ]
Adding Swift storage manifest entries [ DONE ]
Adding Swift common manifest entries [ DONE ]
Adding Provisioning Demo manifest entries [ DONE ]
Adding MongoDB manifest entries [ DONE ]
Adding Ceilometer manifest entries [ DONE ]
Adding Ceilometer Keystone manifest entries [ DONE ]
Adding Nagios server manifest entries [ DONE ]
Adding Nagios host manifest entries [ DONE ]
Adding post install manifest entries [ DONE ]
Installing Dependencies [ DONE ]
Copying Puppet modules and manifests [ DONE ]
Applying 192.168.1.105_prescript.pp
192.168.1.105_prescript.pp: [ DONE ]
Applying 192.168.1.105_amqp.pp
Applying 192.168.1.105_mysql.pp
192.168.1.105_amqp.pp: [ DONE ]
192.168.1.105_mysql.pp: [ DONE ]
Applying 192.168.1.105_keystone.pp
Applying 192.168.1.105_glance.pp
Applying 192.168.1.105_cinder.pp
192.168.1.105_keystone.pp: [ DONE ]
192.168.1.105_glance.pp: [ DONE ]
192.168.1.105_cinder.pp: [ DONE ]
Applying 192.168.1.105_api_nova.pp
192.168.1.105_api_nova.pp: [ DONE ]
Applying 192.168.1.105_nova.pp
192.168.1.105_nova.pp: [ DONE ]
Applying 192.168.1.105_neutron.pp
192.168.1.105_neutron.pp: [ DONE ]
Applying 192.168.1.105_neutron_fwaas.pp
Applying 192.168.1.105_osclient.pp
Applying 192.168.1.105_horizon.pp
192.168.1.105_neutron_fwaas.pp: [ DONE ]
192.168.1.105_osclient.pp: [ DONE ]
192.168.1.105_horizon.pp: [ DONE ]
Applying 192.168.1.105_ring_swift.pp
192.168.1.105_ring_swift.pp: [ DONE ]
Applying 192.168.1.105_swift.pp
Applying 192.168.1.105_provision_demo.pp
192.168.1.105_swift.pp: [ DONE ]
192.168.1.105_provision_demo.pp: [ DONE ]
Applying 192.168.1.105_mongodb.pp
192.168.1.105_mongodb.pp: [ DONE ]
Applying 192.168.1.105_ceilometer.pp
Applying 192.168.1.105_nagios.pp
Applying 192.168.1.105_nagios_nrpe.pp
192.168.1.105_ceilometer.pp: [ DONE ]
192.168.1.105_nagios.pp: [ DONE ]
192.168.1.105_nagios_nrpe.pp: [ DONE ]
Applying 192.168.1.105_postscript.pp
192.168.1.105_postscript.pp: [ DONE ]
Applying Puppet manifests [ DONE ]
Finalizing [ DONE ]
**** Installation completed successfully******
Additional information:
irectory.
。。。。。
創建雲平臺的網卡配置文件: [root@op ~]# DEVICE=br-ex IPADDR=192.168.3.91 NETMASK=255.255.255.0 BOOTPROTO=static DNS1=192.168.3.1 GATEWAY=192.168.3.1 BROADCAST=192.168.3.254 NM_CONTROLLED=no DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no ONBOOT=yes DEVICETYPE=ovs TYPE="OVSIntPort" OVS_BRIDGE=br-ex 修改網卡參數信息爲: [root@openstack ~]# DEVICE="ens33" ONBOOT=yes TYPE=OVSPort DEVICETYPE=ovs OVS_BRIDGE=br-ex NM_CONTROLLED=no IPV6INIT=no 將網卡設備添加到OVS網絡中: [root@openstack ~]# [root@openstack ~]# 55501ff1-856c-46f1-8a00-5c61e48bb64d Bridge br-ex Port br-ex Interface br-ex type: internal Bridge br-int fail_mode: secure Port br-int Interface br-int type: internal Port patch-tun Interface patch-tun type: patch options: {peer=patch-int} Bridge br-tun Port patch-int Interface patch-int type: patch options: {peer=patch-tun} Port br-tun Interface br-tun type: internal ovs_version: "2.1.3" 重啓系統讓網絡設備同步: [root@op ~]# reboot
//登陸平臺http://192.168.3.91/dashboard
查看密碼
# cat /root/keystonerc_admin
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD=3b63bde2721349d0
export OS_AUTH_URL=http://192.168.1.105:5000/v2.0/
Openstack創建網絡:
點擊創建子網:
子網詳情:
創建私有網絡
增加路由信息
填寫路由名稱:
設置路由的網關信息:
設置網關:
在網絡拓撲中添加接口:
添加接口信息:
openstack安裝windown系統
原理,通過kvm安裝好,然後上傳到openstack,網上大多數都是以這種方式安裝,但是要先下載virtio的驅動,網上搜一下就有了
virt-install --connect qemu:///system --name win7 --ram 4080 --vcpus 2 --network=default,model=virtio --disk path=/tmp/win7.qcow2,format=qcow2,device=disk,bus=virtio --cdrom /tmp/win7.iso --disk path=/tmp/virtio-win-0.1.160.iso,device=cdrom --graphics spice,listen=0.0.0.0 --boot cdrom
在此遇到兩個問題,一個是無法讀取cdrom,原因是win7.iso和win-0.1.160.iso的設備名稱顛倒,把win7.iso設爲hda,win-0.1.160.iso設爲hdb即可。另一個是卡在start windows ,起初據網上說把 --video 值改爲cirrus,但毫無作用,後來才發現是仿真機的問題,由於我的環境是vmware所以仿真機要改
virsh destroy win7 停止win7
vi /etc/libvirt/qemu/win7.xml
dev選項互換即可,途中已經互換
virsh define /etc/libvirt/qemu/win7.xml
virsh destroy win7 && virsh start win7
進入系統正常驅動viostor對應的驅動,一開始我還以爲是vioscsi,還以爲驅動不行,之後就可以正常安裝了,安裝完還要再裝其他驅動,比如網卡,顯卡等
這時候就大功告成了,我們成功的製作了一個qcow2的鏡像。接下來部署到glance上去
glance image-create --name "windows7" --file home/house/windows7.qcow2 --disk-format qcow2 --container-format bare --visibility public --progress
錯誤:you must provide a username via either --os-username or env[OS_USERNAME]
由於我之前改了密碼
解決辦法 在root用戶下執行如下命令
source keystonerc_admin
再執行上傳命令
完成後就可以在openstack平臺看到該鏡像,然後就可以開始創建虛擬機了