文章 61
评论 0
浏览 35882
Ceph分布式存储

Ceph分布式存储

一、分布式存储概述 1.1 存储分类 单机存储 SCSI/SAS/USB/PCI-E、SSD/NVME(提升性能) 网络存储(带文件系统) NFS/Samba/NAS SAN:SAN(Storage Area Network,存储区域网络 块设备-块级别存储 ISCSI-Internet Small Computer System Interface(小型计算机系统接口,又称为 IP-SAN,是一种基于网络的的存储技术) FC-SAN 单机磁盘的空间问题、IO 问题、高可用问题- 商业解决方案-EMC、NetAPP、戴尔、华为、浪潮 分布式存储 Ceph,TFS,FastDFS,MogileFS,MooseFS,GlusterFS 常见分布式存储对比:https://www.cnblogs.com/yswenli/p/7234579.html 服务分为读数据和写数据,读可以在任何一个节点读,但是写只能写在特定的节点,如 Redis 的 master、zookeeper 的 leader、MySQL 的master等场景。 1.2 数据分类及存储分类 数据分为元数据和数据: 分布....

ELK日志系统

ELK日志系统

什么是ELK? 通俗来讲,ELK 是由 Elasticsearch、Logstash、Kibana 三个开源软件的组成的 一个组合体,ELK 是 elastic 公司研发的一套完整的日志收集、分析和展示的企业级解决方案,在这三个软件当中,每个软件用于完成不同的功能,ELK 又称为 ELK stack,官方域名为 elastic.co,ELK stack 的主要优点有如下几个: 处理方式灵活: elasticsearch 是实时全文索引,具有强大的搜索功能 配置相对简单:elasticsearch 的 API 全部使用 JSON 接口,logstash 使用模块配置,kibana 的配置文件部分更简单。 检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百 亿级数据的查询秒级响应。 集群线性扩展:elasticsearch 和 logstash 都可以灵活线性扩展 前端操作绚丽:kibana 的前端设计比较绚丽,而且操作简单 什么是 Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供 API....

消息队列与微服务

消息队列与微服务

一、MQ(Message queuing) Message Queue 的需求由来已久,在 19 世纪 80 年代金融交易中,美国高盛等公司采用Teknekron 公司的产品,当时的 Message queuing 软件叫做(the information bus(TIB),后来TIB被电信和通讯等公司采用,然后路透社收购了Teknekron 公司,再然后IBM公司开发了MQSeries,并且微软也开发了 Microsoft Message Queue(MSMQ),但是这些商业 MQ 供应商的问题是厂商锁定及使用价格高昂, 于是 2001 年,Java Message queuing 试图解决锁定和交互性的问题,但对应用来说反而更加麻烦了,于是 2004 年,摩根大通和 iMatrix 开始着手 Advanced Message Queuing Protocol (AMQP)开放标准的开发,2006 年,AMQP 规范发布,2007 年,Rabbit 技术公司基于 AMQP 标准开发的 RabbitMQ 1.0 发布。 MQ 定义 消息队列的目的是为了实现各个 APP 之间的通讯,AP....

Devops之基于Jenkins的CI与CD

Devops之基于Jenkins的CI与CD

一、DevOps 简介 Gdevops:http://dbaplus.cn/ DevOps 是 Development 和 Operations 的组合,也就是开发和运维的简写。 DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps 强调 整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。 DevOps 四大平台:代码托管(gitlab/svn)、项目管理(jira)、运维平台(腾讯蓝鲸/开源平台)、持续交付(Jenkins/gitlab) 1.1 什么是 DevOps 1.2 为什么要推广 DevOps DevOps 强调团队协作、相互协助、持续发展,然而传统的模式是开发人员只顾开发 程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标 而共同实现最终的目的,而 DevOps 则实现团队作战,即无论是开发、运维还是测试, 都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、 开发、测试和部署的良性循环,....

Zabbix监控服务

Zabbix监控服务

一 、监控服务介绍 1.1 逻辑布局 1.2 整体布局 1.3 常见的监控方案 开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等 Cacti https://www.cacti.net/ https://github.com/Cacti/cacti Cacti是基于LAMP平台展现的网络流量监测及分析工具,通过SNMP技术或自定义脚本从目标设备/主机获取监控指标信息;其次进行数据存储,调用模板将数据存到数据库,使用rrdtool存储和更新数据,通过rrdtool绘制结果图形;最后进行数据展现,通过Web方式将监控结果呈现出来,常用于在数据中心监控网络设备。 Nagios https://www.nagios.org/ Nagios用来监视系统和网络的开源应用软件,利用其众多的插件实现对本机和远端服务的监控,当被监控对象发生异常时,会及时向管理员告警,提供一批预设好的监控插件,用户可以之间调用,也可以自定义Shell脚本来监控服务,适合各企业的业务监控,可通过Web页面显示对象状态、日志、告警信息,分层告警机制及自定义监控相对薄弱 ....

Redis服务

Redis服务

一、缓存概念 缓存是为了调节速度不一致的两个或多个不同的物质的速度,在中间对速度较快的一方起到一个加速访问速度较慢的一方的作用,比如CPU的一级、二级缓存是保存了CPU最近经常访问的数据,内存是保存CPU经常访问硬盘的数据,而且硬盘也有大小不一的缓存,甚至是物理服务器的raid 卡有也缓存,都是为了起到加速CPU 访问硬盘数据的目的,因为CPU的速度太快了,CPU需要的数据由于硬盘往往不能在短时间内满足CPU的需求,因此PCU缓存、 内存、Raid 卡缓存以及硬盘缓存就在一定程度上满足了CPU的数据需求,即CPU 从缓存读取数据可以大幅提高 CPU的工作效率。 1.1 系统缓存 buffer与cache buffer:缓冲也叫写缓冲,一般用于写操作,可以将数据先写入内存在写入磁盘,buffer 一般用于写缓冲,用于解决不同介质的速度不一致的缓冲,先将数据临时写入到里自己最近的地方,以提高写入速度,CPU会把数据先写到内存的磁盘缓冲区,然后就认为数据已经写入完成看,然后由内核在后续的时间在写入磁盘,所以服务器突然断电会丢失内存中的部分数据。 cache:缓存也叫读缓存,一般用于读操作,....

Jumpserver堡垒机

Jumpserver堡垒机

一、Jumpserver 简介 Jumpserver 是一款使用 Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。 官方地址:http://www.jumpserver.org/ 二、部署环境 官方环境要求: 硬件配置: 2 个 CPU 核心, 4G 内存, 50G 硬盘(最低) 操作系统: Linux 发行版 x86_64 Python = 3.6.x Mysql Server ≥ 5.6 Mariadb Server ≥ 5.5.56 Redis 从 v2.5 开始, 要求 MySQL >= 5.7 MariaDB >= 10.2 从 v2.6 开始, 要求 Redis >= 5 推荐使用外置 数据库 和 Redis, 方便日后扩展升级 服务器准备 192.168.10.181 jumpserver 2c-4G 192.168.10.182 数据库/Redis 2C-2G 2.1 部署MYsql服务 外置数据库要求 mysql 版本需要大于等于 5.6 mariadb 版本需要大于等于 5.5.6 ....

Docker服务

Docker服务

统称来说,容器是一种工具,指的是可以装下其它物品的工具,以方便人类归纳放置物品、存储和异地运输,具体来说比如人类使用的衣柜、行李箱、背包等可以成为容器,但今天我们所说的容器是一种 IT 技术。 容器技术是虚拟化、云计算、大数据之后的一门新兴的并且是炙手可热的新技术,容器技术提高了硬件资源利用率、方便了企业的业务快速横向扩容、实现了业务宕机自愈功能,因此未来数年会是一个容器愈发流行的时代,这是一个对于 IT 行业来说非常有影响和价值的技术,而对于 IT 行业的从业者来说,熟练掌握容器技术无疑是一个很有前景的行业工作机会。 容器技术最早出现在 freebsd 叫做 jail 一、Docker 简介 1.1 Docker 简介 1.1.1 Docker 是什么 首先 Docker是一个在 2013年开源的应用程序并且是一个基于 go 语言编写是 一个开源的 PAAS 服务(Platform as a Service,平台即服务的缩写),go 语言是由 google 开发,docker 公司最早叫 dotCloud 后由于 Docker 开源后大受欢迎 就将公司改名为 Docker Inc,总....

虚拟化技术之KVM

虚拟化技术之KVM

二、虚拟化技术之KVM KVM 是Kernel-based Virtual Machine的简称,是⼀个开源的系统虚拟化 模块,⾃Linux 2.6.20之后集成在Linux的各个主要发⾏版本中,KVM⽬前 已成为学术界的主流 VMM (virtual machine monitor,虚拟机监视器,也称为(hypervisor)之⼀。 KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM(基于内核的虚拟机....

keepalived服务

keepalived服务

一、keepalived介绍 LB(Load Balance) #负载均衡 #lvs/HAProxy/nginx(http/upstream, stream/upstream ) HA(High Availability) #高可用集群,数据库、Zookeeper、Redis SPoF: Single Point of Failure,解决单点故障 HPC #高性能集群(High Performance Computing) https://www.top500.org 系统可用性:SLA(Service-Level 95%=(60*24*30)*(1-0.9995) (指标)=99.9%, ..., 99.999%,99.9999% 提升系统高用性的解决方案之降低MTTR- Mean Time To Repair(平均故障时间) 解决方案:建立冗余机制 active/passive 主/备 active/active 双主 active --> HEARTBEAT --> passive active <--> HEARTBEAT <--> ....

HAProxy服务

HAProxy服务

一、负载均衡简介 负载均衡(Load Balance,简称LB)是⼀种服务或基于硬件设备等实现的 高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的⼀个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。 https://yq.aliyun.com/articles/1803 阿⾥云SLB介绍 1.1为什么使用负载均衡 Web服务器的动态⽔平扩展-->对⽤户⽆感知 增加业务并发访问及处理能⼒-->解决单服务器瓶颈问题 节约公⽹IP地址-->降低IT⽀出成本 隐藏内部服务器IP-->提⾼内部服务器安全性 配置简单-->固定格式的配置⽂件 功能丰富-->⽀持四层和七层,⽀持动态下线主机 性能较强-->并发数万甚⾄数⼗万 1.2 负载均衡类型 四层(传输层): LVS(Linux Virtual Server) HAProxy(High Availability Proxy) Nginx(1.9) 七层: HAProxy Nginx 硬件: F5 #h....

nginx服务

nginx服务

一、Web服务基础介绍 正常情况下的单次web服务访问流程 1.1 互联网发展历程回顾 1993年3⽉2⽇,中国科学院⾼能物理研究所租⽤AT&T公司(美国电话电报公司)的国际卫星信道建⽴的接⼊美国SLAC国家实验室的64K专线正式开通,成为我国连⼊Internet的第⼀根专线。 http://www.ihep.cas.cn/kxcb/kpcg/jsywl/201407/t20140714_4156699.html 1.2 web服务介绍 Netcraft公司于1994年底在英国成⽴,多年来⼀直致⼒于互联⽹市场以及在线安全⽅⾯的咨询服务,其中在国际上最具影响⼒的当属其针对⽹站服务器,域名解析/主机提供商,以及SSL市场所做的客观严谨的分析研究。 https://news.netcraft.com/ 1.2.1 Apace-早期的web服务端 Apache起初由美国的伊利诺伊⼤学⾹槟分校的国家超级计算机应⽤中⼼开发,⽬前经历了两⼤版本分别是1.X和2.X,其可以通过编译安装实现特定的功能,⽬前⽀持三种不同的MPM(multi-processingmodule,多进程处理模块,官....

tomcat服务

tomcat服务

一、Tomcat 基础功能 1.1 JDK 1.1.1 JDK和JRE Java SE API: Java 基础类库开发接口 JRE:Java Runtime Environment缩写,指Java运行时环境, 包含 JVM + Java核心类库 JDK:Java Development Kit,即 Java 语言的软件开发工具包,JDK协议基于 JRL(JavaResearchLicense)协议 1.1.2 Oracle JDK版本 收费 从2019年1月份开始,Oracle JDK 开始对 Java SE 8 之后的版本开始进行商用收费,确切的说是8u201/202 之后的版本。如果你用 Java 开发的功能如果是用作商业用途的,如果还不想花钱购买的话,能免费使用的最新版本是 8u201/202。当然如果是个人客户端或者个人开发者可以免费试用Oracle JDK 所有的版本。 发版方式 在 JDK 9 发布之前,Oracle 的发版策略是以特性驱动的,只有重大的特性改变才会发布大版本,比如JDK 7 到 JDK 8,中间会发多个更新版本。而从 JDK 9 开始变为以时间驱动的....

LVS调度器

LVS调度器

一、Linux Virtual Server简介 1.1 LVS介绍 LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩(花名 正明), 阿里的四层SLB(ServerLoad Balance)是基于LVS+keepalived实现 LVS是全球最流行的四层负载均衡开源软件,由章文嵩博士(当前阿里云产品技术负责人)在1998年5月创立,可以实现LINUX平台下的负载均衡。 LVS 官网:http://www.linuxvirtualserver.org/ 阿里SLB和LVS: https://yq.aliyun.com/articles/1803 https://github.com/alibaba/LVS 1.2 LVS工作原理 VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS。LVS是内核级功能,工作在INPUT链的位置,将发往INPUT的流量进行“处理” 范例:查看内核支持LVS [20:27:28 root@centos8 ~]#grep -i ipvs /boot/config-4.18.0-193.el8....

网络文件共享服务

网络文件共享服务

一、FTP 文件传输协议 1.1 FTP工作原理介绍 文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构 数据传输格式:二进制(默认)和文本 双通道协议:命令和数据连接 两种模式:从服务器角度 主动(PORT style):服务器主动连接 命令(控制):客户端:随机port ---> 服务器:21/tcp 数据:客户端:随机port <---服务器:20/tcp 被动(PASV style):客户端主动连接 命令(控制):客户端:随机port ---> 服务器:21/tcp 数据:客户端:随机port ---> 服务器:随机port /tcp 范例:服务器被动模式数据端口 227 Entering Passive Mode (172,16,0,1,224,59) 服务器数据端口为:224*256+59 范例: windows 连接FTP服务器默认使用主动模式 C:\Users\zhangzhuo>ftp 192.168.10.81 连接到 192.168.10.81。 220 (vsFTP....

日志服务管理

日志服务管理

一、系统日志管理 1.1 系统日志介绍 将系统和应用发生的事件记录至日志中,以助于排错和分析使用: 日志记录的内容包括: 历史事件:时间,地点,人物,事件 日志级别:事件的关键性程度,Loglevel 1.1.1 sysklogd 系统日志服务 CentOS 5 之前版本采用的日志管理系统服务 syslogd: system application 记录应用日志 klogd: linux kernel 记录内核日志 事件记录格式: 日期时间 主机 进程[pid]: 事件内容 C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理 1.1.2 rsyslog 系统日志服务 rsyslog是CentOS 6 以后版本的系统管理服务.它提供了高性能,出色的安全性和模块化设计。 尽管rsyslog最初是常规的syslogd,但已发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。 当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。 即使在远程的目的地和更精细的处理中,性能....

MYSQL数据库服务

MYSQL数据库服务

一、关系型数据库理论 1.1 实体-联系模型E-R 实体Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体,在E-R图中用矩形框表示实体,把实体名写在框内 属性:实体所具有的特征或性质 联系:联系是数据之间的关联集合,是客观存在的应用语义链 实体内部的联系:指组成实体的各属性之间的联系。如职工实体中,职工号和部门经理号之有一种关联关系 实体之间的联系:指不同实体之间联系。例:学生选课实体和学生基本信息实体之间 实体之间的联系用菱形框表示 1.2 联系类型 一对一联系(1:1) 一对多联系(1:n):外键 多对多联系(m:n):增加第三张表 1.3 数据的操作 开发工程师 CURD (Create,Update,Read,Delete) 数据提取:在数据集合中提取感兴趣的内容。SELECT 数据更新:变更数据库中的数据。INSERT、DELETE、UPDATE 1.4 数据库规划流程 收集数据,得到字段 收集必要且完整的数据项 转换成数据表的字段 把字段分类,归入表,建立表的关联 关联:表和表间的关系 分割数据表并建立关联的优点 节省空间 减....

企业级VPN服务OpenVPN

企业级VPN服务OpenVPN

一、OpenVPN简介 1.1 VPN 介绍 专用网:专用网就是在两个网络(例如,北京和广州)之间架设一条专用线路,但是它并不需要真正地去铺设光缆之类的物理线路。虽然没有亲自去铺设,但是需要向电信运营商申请租用专线,在这条专用的线路上只传输自己的信息,所以安全稳定,同时也费用高昂 VPN:Virtual Private Network,虚拟私有网络,又称为虚拟专用网络,用于在不安全的线路上安全的传输数据。 1.2 OpenVPN OpenVPN:一个实现VPN的开源软件,OpenVPN 是一个健壮的、高度灵活的 VPN 守护进程。它支持SSL/TLS 安全、Ethernet bridging、经由代理的 TCP 或 UDP 隧道和 NAT。另外,它也支持动态 IP 地址以及DHCP,可伸缩性足以支持数百或数千用户的使用场景,同时可移植至大多数主流操作系统平台上。 官网:https://openvpn.net GitHub地址:https://github.com/OpenVPN/openvpn OpenVPN 示意图 二、OpenVPN 部署 2.1 准备 OpenVPN 部署环境....

域名系统DNS服务

域名系统DNS服务

一、名字解析介绍和DNS 当前TCP/IP网络中的设备之间进行通信,是利用和依赖于IP地址实现的。但数字形式的IP地址是很难记忆的。当网络设备众多,想要记住每个设备的IP地址,可以说是“不可能完成的任务”。那么如何解决这一难题呢?我们可以给每个网络设备起一个友好的名称,如:www.zhangzhuo.ltd,这种由文字组成的名称,显而易见要更容易记忆。但是计算机不会理解这种名称的,我们可以利用一种名字解析服务将名称转化成(解析)成IP地址。从而我们就可以利用名称来直接访问网络中设备了。除此之外还有一个重要功能,利用名称解析服务可以实现主机和IP的解耦,即:当主机IP变化时,只需要修改名称服务即可,用户仍可以通过原有的名称进行访问而不受影响。实现此服务的方法是多样的。如下面所述: 本地名称解析配置文件:hosts Linux: /etc/hosts windows: %WINDIR%/system32/drivers/etc/hosts #格式 122.10.117.2 www.magedu.org. 93.46.8.89 www.google.com. DNS:Domain Name....

运维自动化之系统部署

运维自动化之系统部署

一、系统安装过程 1.1 运维自动化发展历程及技术应用 1.2 系统安装过程 加载boot loader 加载启动安装菜单 加载内核和initrd文件 加载根系统 运行anaconda的安装向导 1.2.1 Linux安装光盘的安装相关文件 在系统光盘的isolinux目录下有和安装相关的文件 boot.cat: 相当于grub的第一阶段 isolinux.bin:光盘引导程序,在mkisofs的选项中需要明确给出文件路径,这个文件属于SYSLINUX项目 isolinux.cfg:启动菜单的配置文件,当光盘启动后(即运行isolinux.bin),会自动去找isolinux.cfg文件 vesamenu.c32:是光盘启动后的启动菜单图形界面,也属于SYSLINUX项目,menu.c32提供纯文本的菜单 memtest: 内 存 检 测 程 序 splash.png:光盘启动菜单界面的背景图 vmlinuz: 是 内 核 映 像 initrd.img:ramfs文件 1.2.2 安装菜单的内核参数 安装光盘的启动菜单配置文件:isolinux/isolinux.cfg中设置....

生而为人