- 博客(75)
- 收藏
- 关注
原创 ansible-playbook
Ansible Playbook 是设定自动化任务的一种蓝图,可在无需人工干预或有限干预的前提下执行复杂的 IT 操作。Ansible Playbook 对一组或一类共同构成 Ansible 清单的主机执行。Ansible Playbook 本质上是一些框架,是一些预先编写的代码,开发人员可以用作临时模板或起始模板。Ansible Playbook 常被用于自动化 IT 基础架构(例如,操作系统和 Kubernetes 平台)、网络、安全系统,以及开发人员角色(例如 Git)。
2024-02-21 00:23:51
694
原创 ansible及其模块
比如执行 systemctl stop xxx 命令来停止服务,当发现要停止的目标服务已经处于停止状态,它什么也不会做, 所以多次停止的结果仍然是停止,不会改变结果,它是幂等的,而 systemctl restart xxx 是非幂等的。,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块, 比如copy模块用于拷贝文件到远程主机上,service模块用于管理服务的启动、停止、重启等。dest: 打包压缩后的包文件路径(包文件的父目录必须存在);
2024-02-20 17:22:54
1056
原创 docker私有库
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
2024-01-31 20:44:11
1269
原创 docker-compose
docker-compose 是一个可以实现在单机上对容器集群编排管理的工具。它允许用户使用docker-compose.yml 配置模板文件来定义应用程序的配置,包括容器的数量、容器之间的依赖关系、环境变量、端口映射以及数据卷等设置。然后,用户使用docker-compose命令根据指定配置模板文件的配置来启动和管理容器集群。使用 Docker Compose命令可以方便地管理多个容器;
2024-01-30 15:34:46
787
原创 Docker镜像
但是当编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。(5)镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件,只是这个文件在 Docker 容器中不可见了。(3)当Dockerfile 的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效;
2024-01-27 00:31:08
1073
原创 docker的资源限制(cgroup)
Docker 通过 Cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面, 基本覆盖了常见的资源配额和使用量控制。Cgroup 是 ControlGroups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如 CPU、内存、磁盘 IO 等等) 的机制,被 LXC、docker 等很多项目用于实现进程资源控制。Cgroup 本身是提供将进程进行分组化管理的功能和接口的基础结构,I/O 或内存的分配控制等具体的资源管理是通过该功能来实现的。
2024-01-25 22:34:56
1284
原创 docker网络
直接使用bridge模式,是无法支持指定IP运行docker的,例如执行以下命令就会报错创建自定义网络,再指定ip运行docker#可以先自定义网络,再使用指定IP运行dockerdocker network create --subnet 自定义网段 --opt "com.docker.network.bridge.name"="自定义网桥名" 自定义网络模式名docker run --network 自定义网络模式名 --ip 自定义容器IP ....
2024-01-24 23:13:01
1124
原创 Docker简介
Docker客户端则扮演着Docker服务端的远程控制器,可以用来控制Docker的服务端进程。docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。并且容器所运行的程序不能结束。注意:容器是一个与其中运行的 shell 命令/进程共存亡的终端,命令/进程运行容器运行, 命令/进程结束容器退出。
2024-01-23 22:58:16
1211
1
原创 zabbix补充
zabbix 自动发现(对于 agent2 是被动模式) zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。
2024-01-18 14:11:49
1168
原创 zabbix客户端配置及自定义监控
案列:自定义监控客户端服务器登录的人数 需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息明确需要执行的 linux 命令创建 zabbix 的监控项配置文件,用于自定义 key#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中#自定义监控项的格式如下1.创建模板点击左边菜单栏【配置】中的【模板】,点击【创建模板】【模板名称】设置成 this is dsb【可见的名称】设置成 this is dsb【群组】选择 Templates。
2024-01-17 21:18:54
749
原创 zabbix
作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。利用一个优秀的监控软件,我们可以:●通过一个友好的界面进行浏览整个网站所有的服务器状态(并且是实时展示)●可以在 Web 前端方便的查看监控数据●可以回溯寻找事故发生时系统的问题和报警情况。
2024-01-16 23:20:04
1205
1
原创 rsync远程同步服务
在Linux内核中,默认的inotify机制提供了三个调控参数:max_queue_events(监控事件队列,默认值为16384)、max_user_instances(最多监控实例数,默认值为128)、max_user_watches(每个实例最多监控文件数,默认值为8192)。使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。rsync:远程文件同步,可以实现跨主机增量同步文件数据,同时还能对传输的文件进行压缩,并且支持软连接硬连接文件传输。
2024-01-15 12:26:21
1239
原创 nginx和CDN应用
通常对于静态资源,即较少经常更新的资源,如图片,css或js等进行缓存,从而在每次刷新浏览器的时候,不用重新请求,而是从缓存里面读取,这样就可以减轻服务器的压力。代理服务器是一个位于客户端和原始(资源)服务器之间的服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。在最接近用户网络边缘的位置,增加一层CDN缓存代理服务器,将源站点的内容发布到CDN节点,可以使用户就近取得所需的内容,提高用户的访问响应速度。
2024-01-11 19:03:36
1378
原创 Redis主从复制、哨兵及集群
主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。
2024-01-10 14:51:03
803
原创 Redis的持久化
1、工作方式:RDB是定时将内存中的数据快照,压缩保存到硬盘中;而AOF则是以命令追加的形式,将命令写到缓冲区,然后再根据文件同步策略将文件写入和同步到磁盘中;2、实时性:RDB的实时性不如AOF3、磁盘占用:RDB的磁盘占用较少,AOF的文件体积大;
2024-01-09 00:09:22
1042
原创 数据库高可用mha
组件,最后在 MHA-manager 节点上安装 manager 组件,因为 manager 依赖 node 组件。对于每个操作系统版本不一样,这里 CentOS7.4 必须选择 0.57 版本。在所有服务器上必须先安装。
2024-01-06 04:03:04
697
原创 MySQL主从复制与读写分离
读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。
2024-01-04 00:15:54
987
原创 数据库存储引擎
死锁是指两个或多个事务在同一个资源上相互占用,并请求对方的锁定资源,从而导致恶性循环的现象,业务阻塞。设置事务超时等待时间,innodb_lock_wait_timeout开启死锁检测,innodb_deadlock_detect使用更合理的业务逻辑,尽量按照顺序去处理表的操作,避免同时锁定两个资源;保持事务剪短,减少对资源的占用时间和占用范围;为表添加合理的索引,减少表锁发生的概率;首先如果是由索引的情况下修改或删除数据使用where限定条件字段为索引字段,只会进行行级锁定。
2024-01-01 14:36:06
1349
原创 事务的简介
事务是一组数据库的操作序列,包含一个或多个sql操作命令(增删改),事务将所有的操作命令看做一个不可分割的整体,向数据库系统提交或撤销操作,所有操作要么执行要么不执行。●事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。●事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时,事务是最小的控制单元。●事务适用于多用户同时操作的数据库系统的场景,如银行、保险公司及证券交易系统等等。
2023-12-27 23:51:59
966
原创 索引的使用
索引是一种排序的表,它记录着索引字段的值以及对应行记录的数据所在的物理位置;●索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。●使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据,因此能加快数据库的查询速度。●索引就好比是一本书的目录,可以根据目录中的页码快速找到所需的内容。●索引是表中一列或者若干列值排序的方法。
2023-12-26 22:36:24
1642
原创 MySQL基本操作
数据库:database表:table,行:row 列:column索引:index视图:view存储过程:procedure存储函数:function触发器:trigger事件调度器:event scheduler,任务计划用户:user权限:privilege。
2023-12-25 23:40:51
1169
原创 数据库基本概念与安装MySQL数据库
使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库具有以下特点。可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。可以有效地保持数据信息的一致性、完整性,降低数据冗余。可以满足应用的共享和安全方面的要求。数据库技术是计算机科学的核心技术之一,具有完备的理论基础。对数据库基本概念的掌握,将有助于对数据库的理解。关系Relational :关系就是二维表,其中:表中的行、列次序并不重要行row:表中的每一行,又称为一条记录record。
2023-12-22 23:35:58
1067
原创 LVS+Keepalived 高可用集群
控制组件:提供keepalived.conf 的解析器,完成Keepalived配置IO复用器:针对网络目的而优化的自己的线程抽象内存管理组件:为某些通用的内存管理功能(例如分配,重新分配,发布等)提供访问权限。
2023-12-19 21:17:04
1244
原创 nginx
一款高新能、轻量级Web服务软件系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30000~50000个并发请求是一款轻量级的高性能的web服务器/反向代理服务器/电子邮件(IMAP/POP3)代理服务器ApacheApache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适用于多处理器环境,因此,在一个apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
2023-12-10 22:26:12
1059
原创 web,Apache简述
LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言。
2023-12-10 18:39:32
1087
原创 snat与dnat
局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由)在Internet中发布位于局域网内的服务器。
2023-12-01 00:15:26
517
原创 shell---免交互
可以理解为这是标准输入的一种替代品,可以帮助脚本开发人员不必使用临时文件来构建输入信息,可以直接产生一个文件,输入文件信息,常与非交互程序和命令一起使用注意事项:1、表示可以使用任意的合法字符(通用的字符是EOF表示end of file)2、结尾的标记是一定要顶格写,前面不能有任何字符(包括空格)3、结尾的标记后面也不能有任何字符(包括空格)4、开头标记前后空格会被省略掉5、单引号变量双引号。
2023-11-29 16:05:02
866
原创 文本三剑客(grep,awk)
注意事项:使用正则表达式必须加引号。表示字符[:alnum:] 字母和数字[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z[:lower:] 小写字母,示例:[[:lower:]],相当于[a-z][:upper:] 大写字母[:blank:] 空白字符(空格和制表符)[:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围广[:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
2023-11-28 00:01:15
1060
原创 函数与数组
①function 函数名 () {函数内容②function 函数名 {函数内容③函数名 () {函数内容与大部分编程语言类似,数组元素的下标由 0 开始Shell 数组用括号来表示,元素用"空格"符号分割开在shell语句中,使用、遍历数组的时候,数组格式要写成 ${arr[@]} 或 ${arr[*]}
2023-11-23 23:07:23
1291
原创 shell基础
由于Shell脚本“批量处理”的特殊性,其大部分操作过程位于后台,不需要用户进行干预,因此要学会提取、过滤执行信息变得十分重要,所以我们需要重定向和管道。bash(sh)执行脚本, 系统会创建一个子shell环境,并在这个子shell环境中执行这个脚本 ,脚本执行结束后系统就会自动退出bash环境。默认情况下,新定义的变量只在当前的shell环境中有效,因此称为局部变量,当进入子程序或新的shell环境中,局部变量将无法再起作用。常见的Shell解释器程序有很多种,使用不同的Shell时,其内部指令、
2023-11-20 22:15:44
388
原创 pxe与Kickstart
是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合,TFTP服务默认由xinetd服务进行管理,使用UDP69端口。2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址,还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)第一种:u启动安装,在优盘中下载相关的安装系统和镜像文件,优盘插入即可安装,将想要的操。第二种:光驱安装,将相关的安装系统镜像放入光盘,插入电脑服务器中,即可按照引导进行装。
2023-11-19 16:36:25
362
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人