声明:原创作品,严禁用于商业目的。 如有任何技术问题,欢迎和我交流:408797506(微信同号)。
文章目录
1. 在openstack私有云平台上,基于“cirros” 镜像、1vCPU/1G /10G 的flavor、 intsubnet的网络,绑定浮动IP,使用命令创建一台虚拟机VM1,启动VM1,并使用PC机能远程登录到VM1; 在openstack私有云平台上,创建一个名为“lvm”的卷类型,创建1块卷类型为lvm的40G云盘,并附加到虚拟机VM1上, 虚拟机VM1上,使用附加的云盘,划分为4个10G的分区,创建一个raid 5,其中1个分区作为热备。
准备工作: 安装cinder脚本、对compute节点挂载第二个磁盘并且分两个区,一个区给cinder使用,一个区给swift使用。
(1) lsblk 查看分区,使用fdisk /dev/vdb 命令对磁盘分区(以vdb为例): 必须全部设置为同一类型primary分区(输入p)。
(2) 安装mdadm工具包(配置ftp.repo本地源文件):
yum install mdadm
(3) 使用命令创建raid5:
mdadm -C -v /dev/md5 -n3 -l5 /dev/vdb[2-4] -x1 /dev/vdb1
(mdadm -C -v 目录 -l 级别 -n 磁盘数量 设备路径 -x1 备份区 )
(4) 查看raid5 状态
# cat /proc/mdstat
# mdadm -D /dev/md5
另外:格式化并挂载 mkfs.xfs /dev/md5 mount /dev/md1 /raid5/或者修改/etc/fstab: /dev/md5 /raid5/ xfs defaults 0 0
2. 使用centos7镜像创建三台云主机来搭建rabbitmq集群。使用普通集群模式,其中一台做磁盘节点,另外两台做内存节点,配置完毕后启动rabbitmq服务。
准备工作: 创建三台云主机mq1、mq2、mq3,
然后修改主机名:
hostnamectl set-hostname mq1 hostnamectl set-hostname mq2 hostnamectl set-hostname mq3
(1) 配置/etc/hosts文件,添加对应的主机名分别为mq1、mq2、mq3; 并检查防火墙和selinux安全模式。
[root@mq1 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.4 mq1
192.168.200.5 mq2
192.168.200.6 mq3
systemctl stop firewalld && systemctl disable firewalld 关闭防火墙状态
cat /etc/selinux/config 修改安全模式配置为SELINUX=permissive 或者disabled
(2) 三个节点配置repo源并安装rabbitmq服务,开机启动 :

scp /etc/yum.repos.d/ftp.repo mq2:/etc/yum.repos.d/ftp.repo
scp /etc/yum.repos.d/ftp.repo mq3:/etc/yum.repos.d/ftp.repo
yum install -y rabbitmq-server
systemctl start rabbitmq-server && systemctl enable rabbitmq-server //安装rabbitmq服务,开机启动
如果出现启动失败错误:Failed to start RabbitMQ broker.
删除rm -rf /var/lib/rabbitmq/mnesia/ 目录下所有文件,重新systemctl restart rabbitmq-server
(3) 添加管理服务(三个节点都进行操作)
用浏览器访问http://mq1_ip:15672;用户为guest 密码为guest;有界面出来说明安装rabbitmq服务成功。
如果不能访问页面,尝试添加管理服务然后重启rabbitmq-server:
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server
(4) 在三台服务器上构建Erlang的集群环境(保证三台服务器里的cookie一样)
停止rabbitmq服务(三个节点):
systemctl stop rabbitmq-server
chmod u+w /var/lib/rabbitmq/.erlang.cookie // 增加cookie的权限
在mq1云主机上执行拷贝erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie mq2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie mq3:/var/lib/rabbitmq/.erlang.cookie
(5) 加入集群:
开启rabbitmq服务(三个节点都要进行操作) :
systemctl start rabbitmq-server
在mq2, mq3上分别进行操作
rabbitmqctl stop_app //停掉rabbit应用
rabbitmqctl join_cluster --ram rabbit@mq1 //将mq2、mq3作为内存节点与mq1磁盘节点连接起来
rabbitmqctl start_app // 启动rabbit应用
rabbitmqctl cluster_status // 查看集群状态
3. 使用镜像 centos7,创建两台云主机master和slave,并分别绑定浮动IP;在这2台云主机上安装mysql据库系统并配置为主从数据库(master为主节点、slave为从节点);并在mater云主机的数据库中创建ChinaSkilldb库,在ChinaSkilldb库中创建表testable (id int not null primary key,Teamname varchar(50), remarks varchar(255)),在表中插入记录(1,“Cloud”,“ChinaSkill”)。
准备工作: 创建2台云主机master、slave;然后修改对应的主机名 hostnamectl set-hostname master hostnamectl set-hostname slave
配置本地源:
[root@localhost ~]# vim /etc/yum.repos.d/ftp.repo
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[openstack]
name=openstack
baseurl=ftp://192.168.100.10/openstack/iaas-repo
gpgcheck=0
enabled=1
(1)两台云主机都执行命令安装mysql:
yum install mariadb mariadb-server -y
并设置开机自启动:
systemctl start mariadb && systemctl enable mariadb
(2)两台云主机都执行命令初始化数据库: mysql_secure_installation
(3)配置master和slave的my.cnf:
[root@master ~]# vi /etc/my.cnf
[mysqld]
server-id=99 ID可以自定 但是不能与slave一样
log-bin=mysql-bin
[root@master~]# systemctl restart mariadb 重启服务
[root@slave~]# vi /etc/my.cnf
[mysqld]
server-id=22 ID可以自定 但是不能与master一样
log-bin=mysql-bin
[root@slave ~]# systemctl restart mariadb 重启服务
(4)在主节点上建立账户并且授权Slave:
grant all on *.* to 'slave'@'%' identified by '000000';
在master节点上: show master status; 显示File: mysql-bin.000001 Position: 493
(5)配置从节点SLAVE:
change master to master_host=
'主节点的IP地址',master_user='slave',master_password='000000',master_log_file='mysql-bin.000001',master_log_pos=493;
然后进入主从节点使用命令查看状态: show slave status\G 和show master status\G;
(6)主数据库操作:> create database ChinaSkilldb; use ChinaSkilldb;
create table testable (id int not null primary key,Teamname varchar(50), remarks varchar(255)); // 创建表testable
insert into testable values (1,"Cloud","ChinaSkill"); // 插入内容
在从数据库上验证上述数据库表是否成功。
4. 使用提供的云安全框架组件,将 http://192.168.100.10/dashboard 中的 keystone安全策略从http优化至 https。
参考:
https://blog.youkuaiyun.com/weixin_51788903/article/details/121574323
(1) 在controller节点执行命令安装ssl:
yum install -y mod_ssl
(2) 修改dashboard配置文件:
vi /etc/openstack-dashboard/local_settings
增加1行:USE_SSL = True
49 CSRF_COOKIE_SECURE = True --取消注释
50 SESSION_COOKIE_SECURE = True --取消注释
(3) 重启httpd服务
systemctl restart httpd
运维总结和解题方法(思路):
1.安装软件或者服务
2.服务关闭(可选)
3.配置文件或者服务
4.重启
该篇博客详细介绍了OpenStack的高级运维实战,包括磁盘分区与RAID5配置、创建并搭建rabbitmq集群、设置MySQL主从数据库以及将Keystone安全策略从HTTP优化至HTTPS。内容涵盖Linux命令操作、服务配置及安全策略调整。
2096

被折叠的 条评论
为什么被折叠?



