一、Redis主从
使用赛项提供的 OpenStack 私有云平台,申请两台 CentOS7.9 系统的云主机(日常练习的话自己创两个虚拟机就可以),使用提供的 http 源(没有的话临时搭建个yum仓库),在两个节点安装 redis 服务并启动,配置 redis 的访问需要密码,密码设置为 123456。然后将这两个 redis 节点配置为 redis 的主从架构。
1.安装Redis服务
yum install redis -y #两个主机都要安装
2.配置Redis访问密码
在 Redis 配置文件 /etc/redis.conf
中设置密码:
vi /etc/redis.conf
找到 requirepass
配置项,并设置密码为 123456
:
requirepass 123456
重启 Redis 服务:
systemctl restart redis
3.配置主从关系
在主节点上,创建一个文件/etc/redis/sentinel.conf
,并添加以下内容:
sentinel monitor mymaster xxx.xxx.xxx.xxx 6379 2 #这里的xxx.xxx.xxx.xxx为主节点IP
在从节点上,创建一个文件 /etc/redis/sentinel.conf
,并添加以下内容:
sentinel monitor mymaster xxx.xxx.xxx.xxx 6379 2 #这里的xxx.xxx.xxx.xxx为从节点IP
在从节点设置从节点指向主节点的地址:
sentinel set master-address mymaster xxx.xxx.xxx.xxx 6379 #这里的xxx.xxx.xxx.xxx为主节点IP
启动Sentinel进程
systemctl start redis-sentinel
二、Linux系统调优-脏数据回写
Linux 系统内存中会存在脏数据,一般系统默认脏数据 30 秒后会回写磁盘,修改系统配置文件,要求将回写磁盘的时间临时调整为 60 秒。
在控制节点上,修改 /etc/sysctl.conf
文件,添加以下内容以调整脏数据回写磁盘的时间:
vm.dirty_ratio = 90
vm.dirty_background_ratio = 10
vm.dirty_writeback_centisecs = 6000
#vm.dirty_ratio 定义了系统内存中可以被标记为脏页(即已经被修改但尚未写入磁盘的页面)的最大百分比。当系统中脏页的比例达到这个值时,内核会开始强制进行大量的 I/O 操作,将脏页写回到磁盘,以确保系统内存中脏页的比例不会继续上升。
#vm.dirty_background_ratio 表示当系统中脏页的比例达到该值时,内核会启动后台守护进程(pdflush 或 flush 线程)开始将脏页异步地写回到磁盘。与 vm.dirty_ratio 不同,这是一个后台的、非阻塞的操作,不会像达到 vm.dirty_ratio 时那样强制进行大量的 I/O 操作。
#vm.dirty_writeback_centisecs 定义了内核多长时间(以厘秒为单位,1 厘秒 = 0.01 秒)检查一次是否有脏页需要写回到磁盘。简单来说,它控制了后台写回进程的检查频率。
sysctl -p #应用sysctl配置
三、Glance调优
在 OpenStack 平台中,glance-api 处理请求的子进程数量默认是 0,只有一个主进程,请修改相关配置文件,将子进程数量相应的配置修改成 2,这样的话有一个主进程加 2个子进程来并发处理请求。
修改Glance配置文件,在 OpenStack 控制节点上,修改 /etc/glance/glance-api.conf
文件,找到 [paste_deploy]
部分,并添加或修改以下内容:
将workers = <None>改为workers = 2 并且取消注释
重启Glance API服务
systemctl restart openstack-glance-api