基于CentOS的OpenStack環(huán)境部署詳細(xì)教程(OpenStack安裝)
效果展示:
環(huán)境準(zhǔn)備controller節(jié)點(diǎn):
6GB
4H
60GB/30GB/30GB
compute節(jié)點(diǎn)
6GB
4H
60G/60G
admin節(jié)點(diǎn)(ceph admin管理節(jié)點(diǎn))
2GB
4H
60GB/6GB
OpenStack簡(jiǎn)介
OpenStack是一個(gè)開(kāi)源的云平臺(tái)管理項(xiàng)目,可以用于構(gòu)建公有云或私有云平臺(tái),提供了基礎(chǔ)設(shè)施及服務(wù)(Iaas)的解決方案,OpenStack是一個(gè)云操作系統(tǒng),通過(guò)數(shù)據(jù)中心可控制計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源池,OpenStack覆蓋了網(wǎng)絡(luò)、虛擬化、操作系統(tǒng)、服務(wù)器等各個(gè)方面,通過(guò)OpenStack可以啟動(dòng)、分配和管理虛擬機(jī)資源,所有的管理也都可以通過(guò)前端界面完成。
OpenStack核心組件Nova
計(jì)算管理服務(wù),管理虛擬機(jī)實(shí)例的整個(gè)生命周期,負(fù)責(zé)虛擬機(jī)的創(chuàng)建、開(kāi)機(jī)、關(guān)機(jī)、掛起、暫停、調(diào)整、遷移、重啟、銷毀,資源分配等操作,通過(guò)API對(duì)外提供服務(wù),使用KeyStone來(lái)進(jìn)行身份驗(yàn)證,使用Horizon作為其管理接口,使用Glance提供其鏡像,這樣使得Nova可管理計(jì)算資源、網(wǎng)絡(luò)和認(rèn)證。
Neutron
網(wǎng)絡(luò)管理服務(wù),為多租戶環(huán)境下的每個(gè)租戶提供獨(dú)立的網(wǎng)絡(luò)環(huán)境,Neutron為整個(gè)OpenStack環(huán)境提供網(wǎng)絡(luò)支持,可以定義Network,Subent(子網(wǎng)),Router(路由),配置DHCP、DNS、負(fù)載均衡、L3服務(wù),網(wǎng)絡(luò)支持GRE、VLAN等,并且支持眾多流行的網(wǎng)絡(luò)管理插件,如:OpenvSwitch。
Cinder
塊存儲(chǔ)服務(wù),支持不同的存儲(chǔ)后端,包括ceph,glusterfs等,它是存儲(chǔ)虛擬機(jī)以及虛擬機(jī)使用的數(shù)據(jù)的基礎(chǔ),Cinder提供了塊存儲(chǔ)設(shè)備的訪問(wèn)以及管理,對(duì)OpenStack主機(jī),存儲(chǔ)以塊設(shè)備的形式出現(xiàn),使用ISCSI,NFS,ceph或其他一些專門(mén)協(xié)議作為后端的連接;Cinder的接口指定了一系列的獨(dú)立的功能,包括創(chuàng)建卷、刪除卷、掛載卷等基本功能,還有一些高級(jí)功能如擴(kuò)展卷、快照、從VM鏡像克隆等。
Swift
對(duì)象存儲(chǔ)服務(wù),為OpenStack集群提供跨節(jié)點(diǎn)的分布式大規(guī)模對(duì)象存儲(chǔ)服務(wù),它是通過(guò)RESTful接口來(lái)存儲(chǔ)和檢索非結(jié)構(gòu)化的數(shù)據(jù)對(duì)象,它是一個(gè)高容錯(cuò)可伸縮的存儲(chǔ)架構(gòu)。對(duì)象存儲(chǔ)是將相應(yīng)的數(shù)據(jù)存儲(chǔ)為二進(jìn)制對(duì)象,而不是文件,一般通過(guò)一條指令就可以存儲(chǔ)或檢索到整個(gè)對(duì)象。
Keystone
認(rèn)證管理服務(wù),是OpenStack框架中負(fù)責(zé)管理身份驗(yàn)證、服務(wù)規(guī)則和服務(wù)令牌功能的模塊,管理Domains、Project、Users、Groups、Roles,使用MySQL作為統(tǒng)一的數(shù)據(jù)庫(kù),用戶訪問(wèn)資源需要驗(yàn)證用戶的身份和權(quán)限,服務(wù)執(zhí)行操作也需要進(jìn)行權(quán)限檢測(cè),這些都需要通過(guò)Keystone來(lái)處理,OpenStack服務(wù)通過(guò)Keystone來(lái)注冊(cè)其Endpoint(服務(wù)訪問(wèn)的URL),任何服務(wù)之間的相互調(diào)用,都需要先經(jīng)過(guò)KeyStone的身份驗(yàn)證,獲得到目標(biāo)的Endpoint,然后再調(diào)用。
Glance
鏡像管理服務(wù),提供了對(duì)虛擬機(jī)部署的時(shí)候所能提供的鏡像的管理,包括鏡像的查找,注冊(cè),檢索,導(dǎo)入,格式,以及制作相應(yīng)的模板,它支持多種虛擬機(jī)鏡像格式,有創(chuàng)建鏡像、刪除鏡像、編輯鏡像基本信息的功能,Glance提供RESTfulAPI可以查詢虛擬機(jī)鏡像的metadata以及獲取鏡像,Glance可以將鏡像保存到多種后端存儲(chǔ)上,比如簡(jiǎn)單的文件存儲(chǔ)或者對(duì)象存儲(chǔ)。
Horizon
用戶交互界面,是OpenStack中各種服務(wù)的Web管理門(mén)戶,用于簡(jiǎn)化用戶對(duì)服務(wù)的操作,例如:?jiǎn)?dòng)實(shí)例、分配IP地址、配置訪問(wèn)控制等
安裝CentOS
yum install vim
在cmd窗口輸入以下命令查看網(wǎng)段
ipconfig /all
修改網(wǎng)卡信息
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.12.18 PREFIX=24 GATEWAY=192.168.12.1 DNS1=192.168.111.2
重啟網(wǎng)絡(luò)服務(wù)
service network restart
controller
ens33 192.168.12.18(提供浮動(dòng)IP,出網(wǎng)地址)
ens34 192.168.12.118(內(nèi)網(wǎng)之間通信)
compute
ens33 192.168.12.140(提供浮動(dòng)IP,出網(wǎng)地址)
ens34 192.168.12.240(內(nèi)網(wǎng)之間通信)
# 立即重啟 shutdown -r now
初始化各節(jié)點(diǎn)
yum -y install wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release lrzsz openssh-server
關(guān)閉防火墻、networkmanager,iptables,selinux(各個(gè)節(jié)點(diǎn)操作)
systemctl stop firewalld && systemctl disable firewalld && systemctl stop NetworkManager && systemctl disable NetworkManager systemctl stop iptables && systemctl disable iptables
修改selinux
vim /etc/sysconfig/selinux
SELINUX=disabled
修改hosts
vim /etc/hosts
192.168.12.118 controller 192.168.12.240 compute
修改主機(jī)名
hostnamectl set-hostname controller
hostnamectl set-hostname compute
時(shí)間同步
ntpdate cn.pool.ntp.org
配置無(wú)密碼登陸,各個(gè)節(jié)點(diǎn)操作
ssh-keygen -t rsa #一直回車即可 ssh-copy-id -i .ssh/id_rsa.pub controller ssh-copy-id -i .ssh/id_rsa.pub computer
用xftp上傳openstack離線軟件包到root目錄下(在controller和compute節(jié)點(diǎn)操作)
在root下創(chuàng)建一個(gè)目錄openstack,然后把軟件包解壓到這個(gè)目錄下
mkdir /root/openstack && cd /root/openstack && tar zxvf /root/openstack_N.tar.gz
把openstack目錄整體移動(dòng)到/下(controller和computer節(jié)點(diǎn)操作)
mv openstack /
重新配置yum源(controller和computer節(jié)點(diǎn)都操作)
cd /etc/yum.repos.d/ mkdir bak mv CentOS-* bak/ mv epel* bak/ cp bak/CentOS-Base.repo ./
生成一個(gè)新的openstack的yum源
cat <<EOF > /etc/yum.repos.d/openstack.repo [openstack] enable=1 gpgcheck=0 baseurl=file:///openstack EOF
清緩存
yum makecache
openstack應(yīng)答文件安裝(controller節(jié)點(diǎn)操作)
yum install centos-release-openstack-newton -y
cd /etc/yum.repos.d mv *.repo bak/ cp bak/openstack.repo ./ cp bak/CentOS-Base.repo ./
清緩存
yum makecache
yum install openstack-packstack -y cd /root packstack --gen-answer-file=openstack.txt
結(jié)束后會(huì)生成一個(gè)應(yīng)答文件openstack.txt
修改openstack.txt文件
修改的內(nèi)容如下
CONFIG_DEFAULT_PASSWORD=123456 CONFIG_SWIFT_INSTALL=n CONFIG_NAGIOS_INSTALL=n CONFIG_CINDER_VOLUMES_SIZE=10G CONFIG_PROVISION_DEMO=n CONFIG_LBAAS_INSTALL=y CONFIG_NEUTRON_FWAAS=y CONFIG_NEUTRON_VPNAAS=y CONFIG_CONTROLLER_HOST=192.168.12.118 CONFIG_COMPUTE_HOSTS=192.168.12.240 CONFIG_NETWORK_HOSTS=192.168.12.240
基于應(yīng)答文件安裝組件
packstack --answer-file=openstack.txt
安裝過(guò)程需要查看iptables狀態(tài),在controller和computer節(jié)點(diǎn)
systemctl status iptables
如果發(fā)現(xiàn)iptables處于active狀態(tài),需要停掉
systemctl stop iptables
看到如下說(shuō)明安裝成功
Installation completed successfully
啟動(dòng)rabbitmq的管理界面(controller節(jié)點(diǎn)操作)
rabbitmq-plugins enable rabbitmq_management
在瀏覽器訪問(wèn)
192.168.124.200:15672
賬號(hào):guest
密碼:guest
登陸openstack的dashboad界面
在瀏覽器輸入:
192.168.124.200
賬號(hào):admin
密碼:
獲取密碼
cd /root cat keystonerc_admin
KeyStone配置優(yōu)化
在controller節(jié)點(diǎn)操作
修改keystone.conf
vim /etc/keystone/keystone.conf
在default字段下面添加如下一行
memcache_servers = 192.168.12.118:11211
重啟服務(wù)
systemctl restart httpd
如果OpenStack可以正常訪問(wèn)則代表配置成功
glance配置優(yōu)化
修改glance-api.conf
vim /etc/glance/glance-api.conf
在頂部添加
memcache_servers = 192.168.12.118:11211
修改glance-registry.conf
vim /etc/glance/glance-registry.conf
在頂部添加
memcache_servers = 192.168.12.118:11211
重啟服務(wù)
systemctl restart openstack-glance-api systemctl restart openstack-glance-registry
nova配置優(yōu)化在controller節(jié)點(diǎn)修改
修改nova.conf
vim /etc/nova/nova.conf
在頂部添加memcahce緩存
memcache_servers = 192.168.12.118:11211
原來(lái)是只有地址,沒(méi)有http協(xié)議,需要加上http協(xié)議
api_servers=http://192.168.12.118:9292
在第一行[DEFAULT]下面加上這行
transport_url=rabbit://guest:guest@192.168.12.118
原來(lái)的ip改成這個(gè),并且打開(kāi)注釋
my_ip=192.168.12.118
原來(lái)是0.0.0.0,現(xiàn)在改成這個(gè)
vncserver_listen=192.168.12.118
原來(lái)是主機(jī)名,改成這個(gè)主機(jī)IP
vncserver_proxyclient_address=192.168.12.118
上面修改好之后重新啟動(dòng)服務(wù)
systemctl restart openstack-nova-api.service \ openstack-nova-consoleauth.service openstack-nova-scheduler.service \ openstack-nova-conductor.s:ervice openstack-nova-novncproxy.service
在compute節(jié)點(diǎn)修改
修改配置文件nova.conf
vim /etc/nova/nova.conf
在第一行[DEFAULT]字段加如下一行
memcache_servers=192.168.12.118:11211
這行注釋打開(kāi),變成這個(gè)ip地址
transport_url=rabbit://guest:guest@192.168.12.118
這行注釋打開(kāi),ip變成這個(gè)主機(jī)ip
api_servers=http://192.168.12.118:9292
這行注釋打開(kāi),變成這個(gè)ip地址
my_ip=192.168.12.240
這行注釋打開(kāi),變成這個(gè)ip地址
vncserver_proxyclient_address=192.168.12.240
這行注釋打開(kāi),變成這個(gè)ip地址
novncproxy_base_url=http://192.168.12.118:6080/vnc_auto.html
這行注釋打開(kāi)
virt_type=qemu
上面修好好了之后重新啟動(dòng)服務(wù)
systemctl enable libvirtd.service openstack-nova-compute.service systemctl restart libvirtd.service openstack-nova-compute.service
查看日志,沒(méi)有報(bào)錯(cuò)
cat /var/log/nova/nova-compute.log
啟動(dòng)之后在controller節(jié)點(diǎn)查看日志
cat /var/log/nova/nova-api.log
如果沒(méi)有報(bào)錯(cuò)即可
Neutron配置優(yōu)化
在controller節(jié)點(diǎn)操作
修改配置文件neutron.conf
vim /etc/neutron/neutron.conf
新增加一行
memcache_servers = 192.168.12.118:11211
找到transport_url,新增加一行(消息隊(duì)列rabbit地址在controller節(jié)點(diǎn)上)
transport_url = rabbit://guest:guest@192.168.12.118
找到lock_path,改為絕對(duì)路徑
lock_path=/var/lib/neutron/tmp
修改ml2_conf.ini
vim /etc/neutron/plugins/ml2/ml2_conf.ini
修改vni_ranges
vni_ranges = 10:10000
上面兩個(gè)文件修改好之后重啟服務(wù)
systemctl restart neutron-server
新開(kāi)一個(gè)端口查看日志,沒(méi)有報(bào)錯(cuò)即可
tail -f /var/log/neutron/server.log
在compute節(jié)點(diǎn)操作
創(chuàng)建一個(gè)橋接網(wǎng)卡,橋接到能夠訪問(wèn)外網(wǎng)的那個(gè)網(wǎng)卡,也就是ens33
cd /etc/sysconfig/network-scripts mkdir bak cp ifcfg-ens33 bak/ vim ifcfg-br-ex
復(fù)制內(nèi)容到ifcfg-br-ex
DEVICE=br-ex BOOTPROTO=static ONBOOT=yes TYPE=OVSBridge DEVICETYPE=ovs USERCTL=yes PEERDNS=yes IPV6INIT=no IPADDR=192.168.12.140 NETMASK=255.255.255.0 DNS1=192.168.111.2 GATEWAY=192.168.12.1
vim ifcfg-ens33
將原有內(nèi)容刪除,替換為如下內(nèi)容
# 設(shè)備名 DEVICE=ens33 # 是否開(kāi)啟開(kāi)機(jī)自啟 ONBOOT=yes TYPE=OVSPort DEVICETYPE=ovs #橋接到哪個(gè)網(wǎng)卡上 OVS_BRIDGE=br-ex
重啟網(wǎng)卡
service network restart
修改配置文件neutron.conf
vim /etc/neutron/neutron.conf
新增加一行配置文件
transport_url = rabbit://guest:guest@192.168.12.118
新增加一行
memcached_servers=192.168.12.118:11211
原來(lái)的路徑變成這個(gè)
lock_path=/var/lib/neutron/tmp
修改三層的和浮動(dòng)ip相關(guān)的配置文件
cd /etc/neutron
vim l3_agent.ini
這行注釋去掉
ovs_integration_bridge = br-int
這行注釋打開(kāi)
availability_zone = nova
修改配置文件metadata_agent.ini
vim metadata_agent.ini
這行注釋打開(kāi)
nova_metadata_port = 8775
這行注釋打開(kāi)
nova_metadata_protocol = http
新增加一行
memcached_servers=192.168.12.118:11211
修改配置文件dhcp_agent.ini
vim dhcp_agent.ini
這行注釋打開(kāi)
ovs_integration_bridge = br-int
原來(lái)是False,需要變成True
enable_metadata_network = True
新增加一行
dhcp_domain = test.localdomain
原來(lái)的注釋打開(kāi),修改成外網(wǎng)的dns地址
dnsmasq_dns_servers = 192.168.111.2
這行注釋打開(kāi)
dnsmasq_lease_max = 16777216
這行注釋打開(kāi)
availability_zone = nova
上面修改好了之后重啟服務(wù)
systemctl restart neutron-ovs-cleanup.service neutron-openvswitch-agent.service neutron-metering-agent.service neutron-metadata-agent.service neutron-lbaasv2-agent.service neutron-l3-agent.service neutron-dhcp-agent.service
到此這篇關(guān)于基于CentOS的OpenStack環(huán)境部署(OpenStack安裝)的文章就介紹到這了,更多相關(guān)CentOS的OpenStack環(huán)境部署內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。