001-OpenStack-基础环境
2024-09-04 19:15:45
OpenStack-基础环境
1、实验描述
通过搭建
OpenStack
的ocata
版,来学习虚拟化技术
2、实验环境
【你可能需要】【CentOS 7 搭建模板机】点我快速打开文章
【你可能需要】【VMware 从模板机快速克隆多台】点我快速打开文章
【你可能需要】【CentOS 7 命令行显示优化】点我快速打开文章
【你可看需要】【CentOS 7 配置yum源】点我快速打开文章
虚拟机:
- 系统:CenOS 7.6
- 内存:4G+
- 数量:2台
- 硬盘:50G+
物理机:Windows 10
3、实验工具
【OpenStack】【013-OpenStack】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:sgux 】
4、实验步骤
【官方文档】点我快速打开文章
4.1 修改主机名、IP地址与hosts文件
4.1.1 控制节点(controller)
1. 主机名
hostnamectl set-hostname controller
2. IP地址
ifconfig eth0|awk 'NR==2{print $2}'
IP=$(ifconfig eth0|awk 'NR==2{print $2}')
sed -i "s#$IP#10.0.0.11#g" /etc/sysconfig/network-scripts/ifcfg-eth0
grep 10.0.0.11 /etc/sysconfig/network-scripts/ifcfg-eth0
3. host文件
cat >>/etc/hosts <<EOF
# controller
10.0.0.11 controller
# compute1
10.0.0.31 compute1
EOF
tail /etc/hosts
systemctl restart network
若增加节点以下可参考
# block1
10.0.0.41 block1
# object1
10.0.0.51 object1
# object2
10.0.0.52 object2
4. 重连验证
ssh root@10.0.0.11
hostname
ifconfig eth0|awk 'NR==2{print $2}'
tail /etc/hosts
4.1.2 计算节点(compute1)
1. 主机名
hostnamectl set-hostname compute1
2. IP地址
ifconfig eth0|awk 'NR==2{print $2}'
IP=$(ifconfig eth0|awk 'NR==2{print $2}')
sed -i "s#$IP#10.0.0.31#g" /etc/sysconfig/network-scripts/ifcfg-eth0
grep 10.0.0.31 /etc/sysconfig/network-scripts/ifcfg-eth0
3. host文件
cat >>/etc/hosts <<EOF
# controller
10.0.0.11 controller
# compute1
10.0.0.31 compute1
EOF
tail /etc/hosts
systemctl restart network
若增加节点以下可参考
# block1
10.0.0.41 block1
# object1
10.0.0.51 object1
# object2
10.0.0.52 object2
4. 重连验证
ssh root@10.0.0.31
hostname
ifconfig eth0|awk 'NR==2{print $2}'
tail /etc/hosts
4.2 网络时间协议(NTP)
4.2.1 控制节点(controller)
1. 安装其软件包
【若没有yum源,相关博文】点我快速打开文章【CentOS 7 配置yum源】
yum install chrony -y &>/dev/null
echo $?
2. 修改配置文件
cp /etc/chrony.conf{,.bak}
sed -i -e '/#allow/a\allow 10.0.0.0/24' /etc/chrony.conf
grep allow /etc/chrony.conf
3. 启动和自启动
systemctl enable chronyd.service
systemctl start chronyd.service
4. 验证是否正常
netstat -lntup|grep chronyd
chronyc sources
4.2.1 计算节点(compute1)
1. 安装其软件包
【若没有yum源,相关博文】点我快速打开文章【CentOS 7 配置yum源】
yum install chrony -y &>/dev/null
echo $?
2. 修改配置文件
cp /etc/chrony.conf{,.bak}
sed -i 's#ntp5.aliyun.com#10.0.0.11#g' /etc/chrony.conf
grep ^server /etc/chrony.conf
3. 启动和自启动
systemctl enable chronyd.service
systemctl start chronyd.service
4. 验证是否正常
netstat -lntup|grep chronyd
chronyc sources
继续进一步的操作之前验证 NTP 的同步。有些节点,特别是那些引用了控制节点的,需要花费一些时间去同步。再次验证一下。
date
4.3 OpenStack包
4.3.1 所有节点
官方方案
【官方文档】点我快速打开文章,演示略
自我方案
1. 上传其软件包
ls
rz
ls
2. 解压其软件包
tar xf openstack_ocata_rpm.tar.gz -C /opt/
ls /opt/
3. 配置本地repo
mv /etc/yum.repos.d/*repo /tmp
mv /tmp/CentOS-Base.repo /etc/yum.repos.d/
cat >/etc/yum.repos.d/openstack.repo <<EOF
[openstack]
name=openstack
baseurl=file:///opt/repo
enable=1
gpgcheck=0
EOF
yum clean all &>/dev/null
echo $?
4. 安装其软件包
yum install python-openstackclient -y &>/dev/null
echo $?
rpm -qa python-openstackclient
4.4 SQL数据库
4.4.1 控制节点(controller)
1. 安装其软件包
yum install mariadb mariadb-server python2-PyMySQL -y &>/dev/null
echo $?
2. 修改配置文件
cat >/etc/my.cnf.d/openstack.cnf <<EOF
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
EOF
cat /etc/my.cnf.d/openstack.cnf
3. 启动和自启动
systemctl enable mariadb.service
systemctl start mariadb.service
netstat -lntup|grep mysqld
4. 设安全初始化
mysql_secure_installation
4.5 消息队列
4.5.1 控制节点(controller)
1. 安装其软件包
yum install rabbitmq-server -y &>/dev/null
echo $?
2. 启动和自启动
systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.service
3. 添加相关用户
rabbitmqctl add_user openstack RABBIT_PASS
用合适的密码替换
RABBIT_DBPASS
4. 修改相关权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
4.6 Memcached
4.6.1 控制节点(controller)
1. 安装其软件包
yum install memcached python-memcached -y &>/dev/null
echo $?
2. 修改配置文件
cp /etc/sysconfig/memcached{,.bak}
sed -i 's#127.0.0.1,::1#0.0.0.0#g' /etc/sysconfig/memcached
grep 0.0.0.0 /etc/sysconfig/memcached
3. 启动和自启动
systemctl start memcached
systemctl enable memcached
【后续文章】点我快速打开文章
【本文图片下载地址】【002-OpenStack】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:kse1 】
今天你学习了吗?若有疑问,请留言、私信或加QQ群:647033350,大家一起进步吧!
最新文章
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
- mysql 创建数据库和表格
- ccc 设置图片位置
- html如何绑定radio控件和label控件
- 戴尔PowerEdge服务器命名规则和型号分类
- 未能加载文件或程序集“XXXXXX”或它的某一个依赖项。试图加载格式不正确的程序。
- erlang reduction
- gulp构建工具的安装
- eclipse 必备
- PHP CI框架下,如果配置NGINX(根目录和子目录两种模式)
- App开发革命进阶路
- 日积月累系列之分页控件(js源码)
- 为 MariaDB 配置远程访问权限
- 2018/1/19 Netty学习笔记(一)
- TeamViewer试用期满转免费版本方法
- SpringBoot整合Shiro使用Ehcache等缓存无效问题
- moogodb 安装及简单介绍
- CentOS 6快捷安装RabbitMQ教程
- es6之更优雅的条件语句
- spark Pair RDD 基础操作