Ceph集群文档 集群架构: 环境: 10.200.51.4 admin、osd、mon作为管理和监控节点 10.200.51.9 osd、mds 10.200.51.10 osd、mds 10.200.51.113~client节点 ceph1作为管理,osd.mon节点。前三台新增硬盘 [root@ceph1 ~]# mkfs.xfs /dev/sdb meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks.... ceph集群搭建 Linux
近来几天发现访问博客端文章间歇性报出502,一开始以为是solo博客端的配置问题,纠正排查后发现不是博客后台设置的问题。后来查看nginx的日志。发现如下报错: 2019/10/20 20:05:09 [error] 8539#0: *67 no live upstreams while connecting to upstream, client: 111.194.50.93, server: cjzshilong.cn, request: "GET /sw.js HTTP/1.1", upstream: "http://localhost/sw.js", host: "www.cjzshilong.cn", referrer: "www.cjzshilong.cn/sw.js" 2019/10/20 20:08:53 [notice] 8638#0: signal process started 2019/10/20 20:09:11 [error] 8659#0: *2 upstream sent too big header while reading resp.... 修复nginx报错:"upstream sent too big header while reading response header from upstream" Linux
horizon节点安装 yum install openstack-dashboard 编辑/etc/openstack-dashboard/local_settings文件 将仪表板配置为在控制器节点上使用OpenStack服务: OPENSTACK_HOST = "10.200.51.100" 允许主机访问仪表板: ALLOWED_HOSTS = ['*', 'localhost'] 配置memcached会话存储服务 SESSION_ENGINE = 'django.contrib.sessions.backends.cache' CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '10.200.51.100:11211', }, } 启用标识API版本3: OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST 启用对域的支持 OPENS.... openstack系列-dashboard部署 Linux
neutron 部署 mysql 库创建 CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'neutron'; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'neutron'; 创建服务凭据 创建 neutron 用户 [root@linux-node1 ~]# . admin-openrc [root@linux-node1 ~]# openstack user create --domain default --password-prompt neutron User Password: Repeat User Password: +---------------------+----------------------------------+ | Field | Value | +---------------------+---.... openstack系列-neutron系列安装部署 Linux
controller node nova节点 数据库部署 MariaDB [(none)]> CREATE DATABASE nova_api; MariaDB [(none)]> CREATE DATABASE nova; MariaDB [(none)]> CREATE DATABASE nova_cell0; MariaDB [(none)]> CREATE DATABASE placement; GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \ IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \ IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \ IDENTIFIED BY 'nova'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \ ID.... openstack系列-nova节点部署 Linux
glance 服务安装 glance库的创建 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \ IDENTIFIED BY 'glance'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ IDENTIFIED BY 'glance'; 注意注意:每一条配置要新建到文件中,尽量不要打开注释在原有的基础上修改 创建本地存储 1.一定要在opesntack-glance-api.service服务启动之前部署好存储设备,因为该服务在启动时会加载存储驱动检索存储设备,如果事先不存在,就意味着该服务没有识别到任何可用的存储设备,即便是后来你又新增了存储,仍然是无效的,最终导致你上传镜像失败; 2.一定要赋予opesntack-glance-api.service服务对存储设备的可写权限。 source管理凭据以获得对仅限管理的CLI命令的访问权限 创建glance用户 [root@linux-node1 ~]# . .... openstack系列- glance 服务部署 Linux
一、环境 基础环境设置 主机名修改: hostnamectl set-hostname linux-node1 修改host文件 10.200.51.100 linux-node1 linux-node1.limi.com 10.200.51.31 linux-node2 linux-node2.limi.com linux-node1 10.200.51.100 控制节点 linux-node2 10.200.51.31 计算节点 配置网络yum源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sed -i 's/$releasever/7.7.1908/g' /etc/yum.repos.d/CentOS-Base.repo NTP服务安装 yum install chrony -y timedatectl set-timezone Asia/Shanghai #配置时区 vim /etc/chrony.conf ... allow 10.200.... openstack系列- keystone部署文档 Linux
最近换了一款新皮肤solo-nexmoe,但是无奈一直间歇性报500,但是访问有时有时好的,所以找了一个脚本检测500出现的时间,第一时间去看情况。 shell脚本 #!/bin/bash URL=https://www.cjzshilong.cn DING_URL=https://oapi.dingtalk.com/robot/send?access_token=XXXXXXXXXXXXXXXXXXXXXXX function SendMessageToDingding(){ curl "{DING_URL}" -H 'Content-Type: application/json' -d " { \"actionCard\": { \"title\": \"o(╥﹏╥)o Solo故障啦\", \"text\": \"Web地址: URL\n\n状态码: $1\n\n响应时间:{REQUEST_TIME}秒\n\n当前时间:{DT}\n\n", "hideAvatar": "0", "btnOrientation": "0", "btn.... web状态码检测监控提醒 Linux
先把需要用的snmp的oid值获取到手。? 具体的MIB文件官网上查找即可: yum安装: zabbix运行脚本目录:/usr/lib/zabbix/externalscripts zabbix配置文件目录:/etc/zabbix/zabbix_agentd.d 本地源码编译安装: zabbix运行脚本目录:/usr/local/zabbix/share/zabbix/externalscripts zabbix配置文件目录:/usr/local/zabbix/etc/zabbix_agentd.conf.d 一、编写ap自动发现脚本: 输出样式: SNMPv2-SMI::enterprises.2011.6.139.13.3.10.1.5.0 = STRING: "3F-area07-0" shell脚本实例: [root@zabbix /usr/local/zabbix/share/zabbix/externalscripts]# cat apdiscovery.sh #!/bin/bash id=$(snmpwalk -v 2c -c limi@2018 10.200.250...... zabbix自动发现华为AC6605管理AP状态以及连接数 Linux
可以安装zsh美化界面,或者在bashrc配置自己的个性配置画面。 # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # cuijianzhe bashrc - START alias vi='vim' alias grep='grep --color' alias dstat='dstat -cdlmnpsy' export PROMPT_COMMAND='{ msg=(history 1 | { read x y; echo y; });user=(whoami); echo (date "+%Y-%m-%d %H:%M:%S"):user:`pwd`/:msg ---- $(who am i); } >> /tmp/hostname.whoami.histo.... 我的主机./bashrc定制自己环境,and推荐zsh美化linux界面 Linux
一、替换文本: 一个顺口令:%s###g(口头语:百分号sg三个#) :%s#$2#b#g 此命令是将文本中的$2替换成b 格式 : 范围(其中%所有内容) s分隔符 旧的内容 分隔符 新的内容 (分隔符可以自定义) 默认是每一行的第一个符合要求的词 (/g全部) :1,3 s/bin/test 替换第1到3行中出现的第一个bin进行替换为test :1,3 s/bin/test/g 替换第1到3行中查找到所有的bin进行替换为test :3 s/xue/aaaaa #只把第3行中内容替换了 :% s/do/test/g 将文本中所有的do替换成xuegod :% s/do/test/gi 将文本中所有的do替换成xuegod, 并且忽略do的大小写 :% s@a@b@g 将文本中所有的a替换成b 二、ctrl+v模式 V模式(列) 进入v模式 移动光标选择区域、 编程的时候需要进行多行注释: 1)、ctrl+v 进入列编辑模式 2)、向下或向上移动光标,把需要注释、编辑的行的开头选中起来 4)、然后按大写的I 5)、再插入注释符或者你需要插入的符号,比如"#" 6)、再按Esc,...... vim常用快捷键以及方法 Linux
现如今,无监控,不运维。能想到的尽量监控,拿到数据说话。这里的话,一套脚本拿下,直接输出 JSON 格式的数据,让系统自动发现。 1. 首先脚本功能要实现,怎么写出自动发现端口呢? #!/bin/python import os import JSON cmd=os.popen("""netstat -nltp| grep -v -w -|grep -v rpc|awk -F "[ :]+" '{if($4 ~ /0.0.0.0/ || $4 ~ /127.0.0.1/)print $5}'""") ports=[] for port in cmd.readlines(): r=port.strip() ports += [{'{#PORT}':r}] print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':')) 此脚本可以简单的实现端口发现,其实就是用的命令,然后切割拿到自己想要的。可在 Linux 中使用 netstat -nltp| grep -v -w -|grep -v rpc|aw.... zabbix监控端口自动发现功能 Linux
查看 CPU 信息(个数): [root@zabbix ~]# cat /proc/cpuinfo | grep "physical"| sort |uniq -c 32 address sizes : 46 bits physical, 48 bits virtual 16 physical id : 0 16 physical id : 1 两个 16 核 CPU 2.查看 CPU 型号: [root@zabbix ~]# cat /proc/cpuinfo |grep "name" |cut -f2 -d: |uniq -c 32 Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 3.查看服务器厂商: [root@zabbix ~]# dmidecode |grep Vendor Vendor: Dell Inc. 4.查看服务器型号: [root@zabbix ~]# dmidecode |grep Product Product Name: PowerEdge R430 Product Name: 03XKDV 5.查看服务器.... 通过命令查看服务器硬件信息 Linux
Quadro P4000显卡在centos7安装 官网下载对应redhat驱动: https://www.dell.com/support/home/cn/zh/cnbsd1/product-support/servicetag/2xhzrt2/drivers 执行: [root@localhost ~]# sh NVIDIA-Linux-x86_64-396.37.run 出现如下报错: ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding. Please consult the NVIDIA driver README and your Linux distribution's documentation for details on how to correctly disable the Nouveau kern...... centos7 安装NVIDIA P4000 Linux
Grafana官网相关:https://grafana.com/docs/ 1、首先把变量整到dashboard中,这次取zabbix的值由如下几个变量组成: 分别展示下变量的组成: 主机组: `` 主机: 应用监控项 监控项: 还有一个是网卡流量的监控取值 Query:.$host.Network interfaces. Regex:/(?:Incoming|Outgoing) network traffic on (.*)/ 看下监控仪表盘模板展示,会应用到各个主机: 添加变量后期更改数据只改变量即可,其他参数不用改变。 然后设置主机组匹配规则: 主机匹配: 添加ROWS模板 相关配置: /CPU (user|system|iowait)/ 记一次grafana变量取值的过程 Linux