docker 基本概念
Modify by lyc at 2019-8-1文章转自:1.初识docker
1.镜像 Imagedocker 镜像
我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:14.04 就包含了完整的一套 Ubuntu 14.04 最小系统的 root 文件系统。
Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
分层存储
因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union FS 的技术,将其设计为分层存储的架构。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组 ...
mysql性能优化:Innodb相关参数
Write by lyc at 2019-7-17参考博文:MySQL 优化系列(1)– InnoDB重要参数优化
一、内存相关innodb_buffer_pool_size
主要缓存innodb表的索引,数据,插入数据时的缓存。 是Innodb加速优化最重要的参数,默认分配只有8M,必须配置。
类似于MyISAM的key_buffer_size,但MyISAM只缓存索引,不缓存数据。
如果是一个专用DB服务器,建议分配到物理内存的60%-80%。
这个参数在5.6不能动态更改,在5.7可以在线更改,但需要在业务低估时更改。
1innodb_buffer_pool_size=物理内存60%~80%
innodb_buffer_pool_instances
InnoDB缓存池被分成的区域数
需配置成innodb_buffer_pool_size的整数倍,一般配置为4,8,最多不超过16
1innodb_buffer_pool_instances=8
innodb_buffer_pool_chunk_size
MySQL5.7新特性:innodb-buff ...
systemd服务管理(二):Systemd 的 Unit
Centos7 自定义systemctl服务脚本使用systemd来构建你的服务systemd添加自定义服务Systemd的Unit配置详解
Systemd 的 Unit1.Unit 概念Unit 也称为 “单元”、“服务” 等,Systemd 可以管理所有系统资源,将每个系统资源称为一个 Unit。Unit 是 Systemd 管理系统资源的基本单位,使用一个 Unit File 作为 Unit 的单元文件,Systemd 通过单元文件控制 Unit 的启动。
例如,httpd 服务被 Systemd 视为一个 Unit,使用一个 httpd.service 作为启动配置文件。
Unit File 是 “单元文件”、“单元配置文件”,单元文件中包含该单元的描述、属性、启动命令等。
2.Unit 文件位置和优先级
路径
说明
优先级
/etc/systemd/system
系统或用户提供的配置文件
高
/run/systemd/system
软件运行时生成的配置文件
中
/usr/lib/systemd/system
系统或第三方软件安装时添加的配置文件
低
...
Jenkins 参数化构建插件:Extended Choice Parameter 扩展参数化构建
Write by lyc at 2019-4-23参考博文:jenkins-参数化构建(二)插件:Extended Choice Parameter
参数化构建插件:Extended Choice Parameter 扩展参数化构建效果展示
1.安装插件插件管理 -> Available -> 搜索extended choice parameter
2.面板功能说明
Single Select 单选
Muti Select 多选
3.参数变量使用例1:配合build构建+shell 通过按钮执行脚本12345678910111213echo ${IMAGE}case ${IMAGE} in test) echo "this is test button" ;; prod) echo "this is test prod" ;; *) exit ;;esac
Jenkins 备份与恢复:ThinBackup
Write by lyc at 2019-4-19参考博文:Jenkins部署与备份恢复实战
Jenkins 备份与恢复:ThinBackupJenkins通过插件ThinBackup来完成自身的备份与恢复。
1.插件安装插件管理直接搜索ThinBackup安装。
2.Settings 备份设置
每日凌晨1点执行备份,备份包保存30天。
查看备份
12345678$ pwd/data/backup/jenkins$ lltotal 44576-rw-r--r--. 1 root root 45286477 Apr 19 12:03 BACKUPSET_2019-04-17_10-24_.zip-rw-r--r--. 1 root root 242632 Apr 19 12:03 BACKUPSET_2019-04-18_01-00_.zip-rw-r--r--. 1 root root 105308 Apr 19 12:03 BACKUPSET_2019-04-19_01-00_.zipdrwxr-xr-x. 6 root root 4096 Apr 19 ...
Jenkins 权限管理矩阵:Manage and Assign Roles
Write by lyc at 2019-4-19Modify by lyc at 2020-3-13参考博文:Jenkins-权限管理
Jenkins 权限管理矩阵:Manage and Assign RolesJenkins自带的权限管理,只能管控到用户,无法通过分组来管理用户和项目间的关系
Manage and Assign Roles,来实现不同用户分配到不同分组,对分组内的项目有构建权限。
1.插件安装插件管理 -> 在Available选项下搜索Role-based Authorization Strategy -> 安装插件
我这里已经安装过了,所以在installed选卡下了
2.启用插件
3.功能说明
Manage Roles 大权限与项目权限管控,如admin权限,user普通用户权限,某某组的权限
Assign Roles 实际用户账户的权限。
4.Manage RolesGlobal roles 全局权限增加两个大用户:
admin:所有权限
user:全局read权限
Project roles 工程权限
例如: Role-Sh ...
CentOS7 部署 dhcpd
Write by lyc at 2019-3-27参考博文:DHCP动态分配主机地址散尽浮华:linux下DHCP服务原理总结
1.dhcp 工作原理
dhcp运作方式:客户端传输广播包给整个物理网络段内的所有主机,如局域网内有DHCP服务器时,才会响应客户端的IP参数要求,所以DHCP服务器与客户端应该在同一个物理网段内。
如果网络中存在多个DHCP Server,则多个DHCP Server均会回复dhcp客户端发送的DHCP Discovery报文。
如果同一个 vlan 内没有DHCP Server,而该 VlanIf 配置了DHCP Relay 功能,则该 Vlanif 即为 DHCP中继,DHCP中继会将该DHCP报文的源IP地址修改为该 Vlanif 的IP地址,而目的地址则为DHCP Relay 配置的DHCP Server的IP地址。同时修改DHCP报文中,giaddress为 VlanIf 的IP地址。并以单播将DHCP Discovery 发送到DHCP Server端。
DHCP Client收到若干个DHCP Server响应的DHCP Offer 报文后 ...
Redis 慢查询
Write by lyc at 2019-3-7Redis慢查询设置和查询
1.Redis慢查询配置1234# 动态配置redis-cli > config set slowlog-log-slower-than 10000 # 阀值,单位ms,0.01秒redis-cli > config set slowlog-max-len 128 # 日志最多存个数 128-12800redis-cli > config rewrite # 写到文件
2.获取慢查询队列(n指定查询条数)1234567891011redis-cli > slowlog get n # n要获取的条数 2) 1) (integer) 15087 # id 2) (integer) 1551935311 # 时间戳 3) (integer) 11449 # 耗时 4) 1) "SELECT" ...
keepalived-2.0.20 安装
Write by lyc at 2019-3-4:编写Modify by lyc at 2021-1-21:文档优化keepalive官网骏马金龙-高可用之KeepAlived(一):基本概念和配置文件分析
1.keepalived-2.0.20 安装
KeepAlive Download
RPM安装的版本较旧,这里使用编译安装最新版。
12345678yum -y install libnl libnl-devel openssl openssl-develcd /usr/local/src/wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gztar xf keepalived-2.0.20.tar.gzcd keepalived-2.0.20./configure --prefix=/usr/local/keepalived-2.0.20make && make installln -s /usr/local/keepalived-2.0.20 /usr/local/keepal ...
分析Redis key大小的三种方式
Write by lyc at 2019-1-6分析redis key大小的几种方法
分析Redis key大小的三种方式
--bigKeys redis-cli 自带的一个参数,缺点是只能对 string类型的key获取bytes数,其他类型的只能获取到元素len()个数/长度
debug object key 登录redis下的某个db,获取key的信息。缺点是结果中的serializedlength是key的序列化长度,并不是key的实际bytes大小,不准确。
rdbtools 工具,生成内存报告。精确的获取redis实例下的所有key的内存报告,通过shell或excel排序。(推荐使用)
方法1:bigKeys 查看string类型key大小redis-cli 命令自带的一个参数,对整个redis实例进行扫描,寻找较大的key
该命令使用scan方式对key进行统计,所以使用时无需担心对redis造成阻塞。
输出大概分为两部分,summary之上的部分,只是显示了扫描的过程。summary部分给出了每种数据结构中最大的Key。
统计出的最大key只有string类型是 ...