linux 主机名显示不全
由于主机名比较长,在登录到服务器的时候显示的主机名会被截断,可以通过修改ps1变量的方式进行显示完整的主机名
123echo 'PS1="[\u@\H \W]\\$"' >> /root/.bashrcsource ~/.bashrc
vmware中增加磁盘容量
vmware创建的虚拟机直接增大原来分配的磁盘空间,可以通过修改分区表来使用新增的空间,但是操作会有风险,通过growpart工具能够比较安全实现空间扩容。
1、系统重读磁盘
1echo 1>/sys/class/block/sda/device/rescan
2、扩大指定分区
1234567891011121314yum install cloud-utils-growpartgrowpart /dev/sda 2# 这里可能会有如下报错#nexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]# 运行以下命令切换 ECS 实例的字符编码类型,可能需要重启LANG=en_US.UTF-8# 如果重启 ECS 实例后仍未解决问题,尝试运行以下命令修改本地化环境变量,然后再次重启实例。localectl set-locale LANG=en_US.UTF-8如果使用 CentOS 8 镜像,可以尝试使用以下命令修改字符编码类型export LANGUAGE=en_US.UTF-8
3、刷新pv大小
1p ...
openvpn 证书续签
安装openvpn的时候使用了easyrsa创建了证书,证书默认有效时间是两年半,这里记录下证书续签过程。原有的ca证书还在,因此直接进行续签操作,否则需要从创建ca证书从头开始证书的相关操作。
123456789# 进入easyrsa目录[root@master193 EasyRSA-3.0.7]# lsChangeLog COPYING.md doc easyrsa gpl-2.0.txt mktemp.txt openssl-easyrsa.cnf pki README.md README.quickstart.md vars vars.example x509-types# 续签证书./easyrsa renew server nopass # 如果openvpn 不需要客户端证书就不用这一步./easyrsa renew clientname nopass
新生成的证书会在pki中issued和private目录中,接下来将证书文件拷贝到openvpn配置的证书目录,重启openvpn即可
123456789101112131415161718192 ...
Mysql 8_0 主从同步 传统模式和 GTID 模式相互切换
传统mysql主从在从库意外关机情况下,从库可能会失败,因此想将传统的mysql主从模式切换到Gtid模式下,测试下从库的健壮性。
本文,测试一下基于 mysql 8.0 版本,主从同步中,传统模式和 GTID 模式之间相互切换。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485--1)查看主从版本都是8.0mysql> select version();+-----------+| version() |+-----------+| 8.0.22 |+-----------+1 row in set (0.00 sec)mysql> show master status;+-------------------+----------+--------------+----------------- ...
prometheus监控具体目录大小
node_exporter默认是只能监控挂载的硬盘的总大小,如果想知道具体某个目录的大小,并不能简单通过配置实现。查找了一下文档,只能通过脚本将磁盘大小输出到.prom文件中,配置node_exporter从文件中获取指标方式来实现该需求,因为都跑k8s了,所以我打算通过daemonset来运行一个pod,实现上述工作。
准备镜像这里使用alpine作为基础镜像,安装了几个常用的工具,其中只有moreutils是必须的,不然没有后续定时任务中的sponge命令,不想装的话将定时任务中sponge改成mv也行, 然后修改了下时区以及启动crond,都是为了定时任务做准备。
1234567FROM alpine:3.18.4RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositoriesRUN apk add --no-cache bash openssh curl mysql-client moreutilsRUN apk add tzdata \& ...
mysql修改binlog保存时间
mysql默认保存一个月的binlog日志,可能会占用大量磁盘空间,可以考虑设置少一点。
修改配置文件修改配置文件需要重启数据库,知道改哪里,方便后续检查。编辑 / etc/my.cnf
123# 只是单个文件的大小,控制总的磁盘空间大小没什么用max_binlog_size = 500Mexpire_logs_days = 15
通过sql修改1234567# mysql8.0以下版本查看当前数据库日志binlog保存时效 以天为单位,默认0 永不过期,最多只能设置99天show variables like 'expire_logs_days';set global expire_logs_days=60;# mysql8.0以上版本通过设置全局参数binlog_expire_logs_seconds修改binlog保存时间 以秒为单位;默认2592000 30天 14400 4小时;86400 1天;259200 3天show variables like '%binlog_expire_logs_seconds% ...
Linux 前台任务转后台运行
有时候在终端敲了个命令,例如备份还原mysql数据,结果突然发现这玩意完成要好久,这时候就很尴尬,如果断开了连接,命令就退出了,那么下面的命令就很实用。
暂停任务1234567# 这里运行了一个mysql导入命令,就是想转后台运行的命令,这里按了ctrl+z, 亲测mac上也是control+zmysql -uroot -p'ZAQ!2wsx'< dbdump.dbmysql: [Warning] Using a password on the command line interface can be insecure.^Z[1]+ Stopped mysql -uroot -p'ZAQ!2wsx' < dbdump.db
任务转后台1234567# jobs命令查看暂停的任务I have no name!@mysql-secondary-0:/bitnami/mysql$ jobs[1]+ Stopped mysql -uroot -p'ZAQ!2ws ...
mysql 导入提速
导出增加参数–compress和–single-transaction
1234# 导出整个实例mysqldump -h mysql-primary -P 3306 --all-databases --master-data -u root -p'ZAQ!2wsx' --compress --single-transaction > dbdump.db
导入 在 MySQL 中,有一对大名鼎鼎的 “双一” 参数,即 innodb_flush_log_at_trx_commit 与 sync_binlog 。为了安全性这两个参数默认值为 1,为了快速导入脚本,我们可以临时修改下这两个参数,下面简单介绍下这两个参数:
innodb_flush_log_at_trx_commit:
innodb_flush_log_at_trx_commit 默认值为 1,可设置为 0、1、2
如果 innodb_flush_log_at_trx_commit 设置为 0,log buffer 将每秒一次地写入 log file 中,并且 log file ...
bitnami-mysql 恢复从库
我用bitnamicharts/bitnami/mysql at main · bitnami/charts (github.com) 安装的mysql主从,但是从库会因为各种问题失效,甚至可能pod都无法启动,因为bitnami对mysql容器进行了一些封装加了部分脚本,因此与常规mysql修复步骤有些许差异,这里分享下个人修复步骤。
启动从库实例如果你的mysql从库还能启动,只是slave 状态异常,那可以跳过这部分直接看备份恢复数据章节。这一段是为了让mysql-secondary pod以及pod中的mysql进程能够正常起来。bitnami的从库会在启动时尝试创建主从,而如果主库中binlog文件有缺失或者别的什么原因,都会启动失败。
修复pod有两种方案,一种是直接拷贝主库的数据,一种是在无数据情况下启动从库,通过修改启动参数方式让mysql进程能起来,第二种方式随bitnami镜像更新可能失效,在docker.io/bitnami/mysql:8.0.32-debian-11-r21下测试成功。
拷贝数据方式修复这种方式 ...
k8s 修改节点的pod cidr
突然发现公司测试集群内有两台机器的podcidr和其他机器不同,导致路由出现问题,因此计划修改单个节点的pod cidr值,如果需要修改整个集群的,可以参考cilium修改网段 | 运维晕晕的小本本 (hylove.site)
一、变更节点cidr配置1234567891011121314151617181920212223242526272829kubectl edit cn/节点名spec: addresses: - ip: 136.168.10.248 type: InternalIP - ip: 10.0.0.151 type: CiliumInternalIP alibaba-cloud: {} azure: {} encryption: {} eni: {} health: ipv4: 10.0.0.151 ipam: podCIDRs: - 10.0.0.0/24删除 - ip: 10.0.0.151 type: CiliumIntern ...
