草庐IT

学习笔记:OpenStack安装和部署

红鼻子小黑嘿 2023-04-20 原文

目录

一、安装VMware虚拟机

1.下载安装VMware-workstation-full-14.1.1

2.创建虚拟网卡,更改虚拟网卡

3.创建虚拟机

        二、网络配置

1.Controller节点

2.Compute节点

三、基础服务 

1.上传镜像

2.关闭防火墙与安全策略

3.配置主机映射

4.配置yum源

5.安装ntp( 时间同步)服务

6.安装Openstack软件包 

7.安装数据库

8.安装并配置消息服务器和Memcached

9.安装Memcached


一、安装VMware虚拟机

1.下载安装VMware-workstation-full-14.1.1

centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 (aliyun.com)

2.创建虚拟网卡,更改虚拟网卡

打开VMware选择 编辑——虚拟网络编辑器——更改设置
添加一张虚拟网卡 VMnet2 并将其设置为NAT模式

将VMnet1的子网设置为 192.168.100.0 作为两台虚拟机的内网
VMnet2的子网设置为 192.168.200.0 作为两台虚拟机的外网
若未将VMnet2设置为NAT模式是无法连接外网的

3.创建虚拟机

CentOS 7 64位

添加镜像文件后,点击 添加 添加一个网络适配器

点击 网络适配器 选择自定义 VMnet1;网络适配器2 选择自定义 VMnet2

:这一步必须在开启虚拟机之前设置好,不然等你进入虚拟机后只有一张网卡或没有网卡,那时你就只能重新创建虚拟机。

然后自动分配磁盘并设置密码

密码设置为 123456 或者 000000 方便后面搭建

用户名为root

 虚拟机创建完成。

参考OpenStack双节点部署-M环境部署一 ——VMware虚拟机安装

二、网络配置

1.Controller节点

网口 ifcfg-ens33:作为管理网络使用,配置IP为 192.168.100.10/24
网口 ifcfg-ens34:作为外部网络使用,配置IP为 192.168.200.10/24 

# hostnamectl set-hostname controller       (将主机名改为controller,方便分辨虚拟机)

Ctrl+D 退出登录 、重新登录(或者输入bash命令)会发现主机名已经改为controller

不同的镜像,网卡名不同,所以需要进入 network-scripts 目录下去查看网卡名
由于我们添加了一个网络适配器,所以这里有两张网卡
第一张虚拟网卡:ifcfg-ens33对应虚拟机的网络适配器1
第二张虚拟网卡:ifcfg-ens34对应虚拟机的网络适配器2


修改第一张网卡(ifcfg-ens33)

# vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static       (dhcp动态IP地址,static静态IP地址)
ONBOOT=yes
IPADDR=192.168.100.10
PREFIX=24

:这一张为内网,所以不需要设置网关,
若设置网关将与第二张网卡冲突,无法连接外网
若使用内网搭建,网络适配器都为仅主机模式,则可以添加 GATEWAY=192.168.100.1

查看我们的第二张虚拟网卡的网关
点击 编辑——虚拟网络编辑器
点击VMnet2——NAT设置 可以发现我的VMnet2的网关为192.168.200.2

 

修改第二张网卡(ifcfg-ens34)

# vi /etc/sysconfig/network-scripts/ifcfg-ens34
BOOTPROTO=static(静态IP地址)
ONBOOT=yes
IPADDR=192.168.200.10
PREFIX=24
GATEWAY=192.168.200.2   (为VMnet2——NAT里的网关)

 在resolv.conf里添加如下内容(这里是让虚拟机能够进行域名解析)

# vi /etc/resolv.conf 
search localdomain
nameserver 119.29.29.29

:两个重启网卡的命令,选择一个就行

 #  systemctl restart network
 #  service network restart

在物理机中 Win+R 打开cmd 输入 ipconfig
查看自己物理机的ip地址 

然后用虚拟机ping物理机的ip地址

再在CMD中ping虚拟机的两个ip地址

当物理机和虚拟机可以互ping后就可以使用远程连接工具进行连接
比如XShell、SecureCRT等

2.Compute节点

网口 ifcfg-ens33:作为管理网络使用,配置IP为 192.168.100.20/24
网口 ifcfg-ens34:作为管理网络使用,配置IP为 192.168.200.20/24

配置网卡的步骤与controller节点相同
不同的是IP地址

ifcfg-ens33 为 192.168.100.20

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.20
PREFIX=24

 ifcfg-ens34 为 192.168.200.20

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.20
PREFIX=24
GATEWAY=192.168.200.2   (为VMnet2——NAT里的网关)

 在resolv.conf里添加如下内容(这里是让虚拟机能够进行域名解析)

 # vi /etc/resolv.conf 
search localdomain
nameserver 119.29.29.29
# service network restart  

重启网络服务并ping测试 

 参考OpenStack双节点部署-M环境部署二 ——网络配置

三、基础服务 

1.上传镜像

controller节点

双击 SecureFX 将Centos7 镜像与openstack-M版镜像上次至root目录

# mkdir -p /opt/centos /opt/mitaka
(创建centos、mitaka目录)
# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
(将centos镜像文件挂载到mnt目录下)
# cp -rvf /mnt/* /opt/centos/
(将mnt目录下挂载的内容拷贝至/opt/centos目录)
# umount /mnt/
(拷贝完成后取消挂载)
# mount -o loop Mitaka.iso /mnt/
(将openstack镜像文件挂载到mnt目录下)
# cp -rvf /mnt/* /opt/mitaka/
# umount /mnt/
(拷贝完成后取消挂载,mnt目录下的文件将会消失)

这样关闭虚拟机后不用重新挂载,可以继续使用yum 源。

2.关闭防火墙与安全策略

Controller 和 Compute节点 

关闭防火墙

# systemctl mask firewalld.service
注销防火墙服务
# systemctl stop firewalld.service
暂停防火墙服务
# systemctl disable firewalld.service
关闭防火墙开机自启

 关闭Selinux

# vi /etc/selinux/config
修改 SELINUX=permissive
# setenforce 0 临时关闭Selinux

3.配置主机映射

Controller 和 Compute节点 

# vi /etc/hosts 在hosts文件中添加如下内容
192.168.100.10 controller
192.168.100.20 compute

修改完成后两台虚拟机互ping主机名,例如 compute节点 ping controller
能ping通说明配置正确

 

4.配置yum源

Controller节点 

配置controller节点的yum源
注:baseurl=file://+centos文件的路径 /opt/centos
baseurl=file://+ Openstack -Mitaka文件的路径/opt/mitaka/Openstack-Mitaka
 

# mkdir /opt/repo
# mv /etc/yum.repos.d/*.repo /opt/repo/
[root@controller yum.repos.d]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[mitaka]
name=mitaka
baseurl=file:///opt/mitaka/Openstack-Mitaka
gpgcheck=0
enabled=1
# yum clean all (清理yum缓存)

# yum list
(列出yum源,检验yum是否配置成功)

 如图,yum源配置成功

Controller节点安装FTP服务

# yum install -y vsftpd
# vi /etc/vsftpd/vsftpd.conf
(在vsftpd.conf内添加)
anon_root=/opt (/opt为centos、mitaka文件的路径)
# systemctl start vsftpd.service (启动vsftpd服务)
# systemctl enable vsftpd.service (设置vsftpd服务开机自启)

 Compute配置yum源

# mkdir /opt/repo
# mv /etc/yum.repos.d/*.repo /opt/repo/
(离线安装,所以yum.repos.d目录下只能有你自己配置的repo文件)
# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[mitaka]
name=mitaka
baseurl=ftp://192.168.100.10/mitaka/Openstack-Mitaka
gpgcheck=0
enabled=1
# yum clean all
# yum list (检验yum是否配置成功)

5.安装ntp( 时间同步)服务

Controller 

# yum install -y ntp

 配置ntp.conf文件

[root@controller ~]# vi /etc/ntp.conf (server下添加)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# systemctl start ntpd.service
# systemctl enable ntpd.service
# ntpstat (查看ntp服务状态)

Compute节点 

# yum install -y ntp
# ntpdate controller

如图,表示ntp服务安装成功

6.安装Openstack软件包 

Controller和Compute节点

# yum install -y python-openstackclient openstack-selinux
# yum –y upgrade --skip-broken

 注:安装完成后可以重启两台虚拟机,使linux更新的内核生效

7.安装数据库

Controller节点

[root@controller ~]# yum install -y mariadb mariadb-server python2-PyMySQL

配置数据库
编辑/etc/my.cnf文件,在[mysqld]下添加如下内容

[mysqld]
bind-address=192.168.100.10 (controller节点的内网IP地址)
default-storage-engine=innodb
innodb_file_per_table
max_connection=4096 (最大连接时间4096s)
collation-server=utf8_general_ci
character-set-server=utf8 (使用UTF-8字符集)

# systemctl start mariadb.service
# systemctl enable mariadb.service
# mysql_secure_installation (初始化数据库并设置密码)

设置数据库密码 y

默认情况下,MariaDB安装有一个匿名用户,允许任何人使用
要登录MariaDB,无需创建用户帐户
删除匿名用户?  y

通常,root用户只能从“localhost”连接。
这确保某人无法从网络猜测根密码。
远程禁止root用户登录?  n

默认情况下,MariaDB附带一个名为“test”的数据库,任何人都可以使用访问。
这也只是为了测试,应该删除在进入生产环境之前。
删除测试数据库并访问它? y

重新加载特权表将确保到目前为止所做的所有更改将立即生效。
现在重新加载权限表? y

8.安装并配置消息服务器和Memcached

Controller节点

# yum install -y rabbitmq-server
# systemctl start rabbitmq-server.service
# systemctl enable rabbitmq-server.service
创建rabbitmq用户并设置权限
创建用户:openstack;密码:123456
# rabbitmqctl add_user openstack 123456
给openstack用户授予读/写访问权限
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"

 

 9.安装Memcached

# yum install -y memcached python-memcached
# systemctl enable memcached.service
# systemctl start memcached.service

 

参考OpenStack双节点部署-M环境部署三 ——基础服务

有关学习笔记:OpenStack安装和部署的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  7. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  8. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  9. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  10. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

随机推荐