XLog

Centos 7 LVM xfs文件系统修复

孤人 提交于 2020-08-08 21:54:33
情况1: [sda] Assuming drive cache: write through Internal error xfs XFS_WANT_CORRUPTED_GOTO at line 1662 of file fs/xfs/libxfs/xfs_alloc.c Caller xfs_free_extent+0x130 [xfs] Internal error xfs_trans_cancel at line 990 of file fs/xfs/xfs_trans.c.Caller xlog_recover_process_efi +0x16b/0x190 [xfs] Corruption of in-memory data detected. Shutting down filesystem Please umount the filesystem and rectify the problem(s ) Failed to recover EFIs Generating "/run/initramfs/rdsosreport.txt" 如果是LVM管理分区的 ls -l /dev/mapper xfs_repair /dev/mapper/cl_muban-root 若提示 xfs_repair -L /dev/mapper/cl_muban-root 最后重启

数据速率bit/s计算的简易法则

丶灬走出姿态 提交于 2020-08-06 06:53:03
1、数字通信中通常用码元传输速率和信息传输速率表示。 2、比特率=波特率 单个调制状态对应的二进制位数=B log2^N (相当于2的多少次立方等于N),比如log2^8=3 3、信噪比与分贝,通常用信号功率记为S,噪声功率记为N,则信噪比为S/N,常用logS/N的值,即分贝:1dB=10*logS/N 在无噪声的数据速率计算应依据尼奎斯特定理来计算最大数据速率=2Wlog2N=B log2N 其中W为带宽,B为波特率,N为码元总数 在有噪声的数据速率计算应依据香农公式来计算极限数据速率=W log2(1+S/N) 例 :信噪比S/N为30db,带宽W为4KHz,求信道的最大容量,我们可以根据香农公式计算得出:C =W log2(1+S/N) =4000xlog2(1+1000) =40Kbit/s 请记住:当S/N为30dB就是10log(S/N)=30,换算成10 log(1000)=10 3,此时信噪比S/N=1000 类似这种题目十分常见,需要你快速记算出答案,要明白分贝1db,log2的N立方,log的N次方的计算关系。 来源: oschina 链接: https://my.oschina.net/u/4323704/blog/4315568

PG库实现 t+1 同步

风流意气都作罢 提交于 2020-07-29 03:45:37
需求:业务场景中有很多需要查询t+1的数据,但又不想影响生产实时的业务,是否可以搭建一个延时的灾备库就可以解决这个问题呢。 问题:如何实现延时? 解决方向:recovery_min_apply_delay (integer) 这个参数可以实现从库的延时同步。 测试过程: 配置在备库recovery.conf中 recovery_min_apply_delay = 5min 主库插入一条数据,5分钟后从库可以查到该数据,在此期间,不影响从库的使用。 需要注意的是,如果从库配置了synchronous_commit 这个参数,一定要配为on,配为remote_apply时,在主库上插入一条数据,主库会hang住等待5min(等待从库完成apply操作)后,然后才能返回执行成功or失败的结果。 9.4版本之前存在bug,配置好这个参数后,马上重启standby库,连接数据库会报错如下:psql: FATAL: the database system is starting up,这时候需要等待配置时间,然后连接才可以正常使用数据库,但是目前这个bug已经修复了。高版本不存在这个问题。 从库放开给用户使用,带来的问题: 在进行主从复制的时候,如果从库放开给用户使用,很容易产生冲突。举个例子,从库有一个长事务或者长查询正在执行,此时,主库执行 UPDATE 并 VACUUM

postgresql , etcd , patroni 做failover

那年仲夏 提交于 2020-05-08 05:16:41
os: centos 7.4 etcd:3.2 主从IP信息 192.168.56.101 node1 master 192.168.56.102 node2 slave 192.168.56.103 node3 slave yum下载、安装 # yum install etcd # yum list installed |grep -i etcd etcd.x86_64 3.2.18-1.el7 @extras 建议使用yum来安装,简单,直接。 etcd 配置 使用 wget 方式 和 yum 方式,会在一些文件路径有有所差异。 以 wget 方式的所有文件都在 /usr/etcd-v3.2.18 下 下面是以yum方式为例配置, # cp /etc/etcd/etcd.conf /etc/etcd/etcd.conf.bak # vi /etc/etcd/etcd.conf # cat etcd.conf #[Member] #ETCD_CORS="" ETCD_DATA_DIR="/var/lib/etcd/node1.etcd" #ETCD_WAL_DIR="" ETCD_LISTEN_PEER_URLS="http://192.168.56.101:2380" ETCD_LISTEN_CLIENT_URLS="http://192.168.56.101:2379

PostgreSQL恢复误删数据

你。 提交于 2020-05-07 19:48:26
  在Oracle中;删除表或者误删表记录;有个闪回特性,不需要停机操作,可以完美找回记录。当然也有一些其他的恢复工具;例如odu工具,gdul工具。都可以找回数据。而PostgreSQL目前没有闪回特性。如何在不停机情况下恢复误删数据。还好是有完整的热备份。   本文描述的方法是:利用热备份在另一台服务器进行数据恢复;再导入正式环境;这样不影响数据库操作。这方法也适用在Oracle恢复。必须满足几个条件 有完整的基础数据文件备份和归档文件备份.所以备份是很重要的。 有一台装好同款Postgres软件的服务器 实例模拟讲解   过程模拟误删表tbl_lottu_drop后;后续进行dml/ddl操作;表明正式数据库还是进行正常工作。在另外一台数据库基于数据库PITR恢复。恢复表tbl_lottu_drop的数据。 Postgres201 : 线上数据库服务器 Postgres202 : 操作服务器 1. 创建一个有效的备份 postgres = # select pg_start_backup(now():: text ); pg_start_backup -- --------------- 0 / F000060 ( 1 row) [ postgres@Postgres201 ~ ] $ rsync - acvz - L -- exclude "pg_xlog" -

Centos 7 启动错误:XFS_WANT_CORRUPTED_GOTO 修复

一笑奈何 提交于 2020-05-03 21:12:42
Centos 7 启动错误:XFS_WANT_CORRUPTED_GOTO 修复 参考源 如果出现以下报错 [sda] Assuming drive cache: write through Internal error xfs XFS_WANT_CORRUPTED_GOTO at line 1662 of file fs/xfs/libxfs/xfs_alloc.c Caller xfs_free_extent+0x130 [xfs] Internal error xfs_trans_cancel at line 990 of file fs/xfs/xfs_trans.c.Caller xlog_recover_process_efi +0x16b/0x190 [xfs] Corruption of in-memory data detected. Shutting down filesystem Please umount the filesystem and rectify the problem(s) Failed to recover EFIs Generating "/run/initramfs/rdsosreport.txt" 修复方法: 如果是LVM管理分区的 ls -l /dev/mapper xfs_repair /dev/mapper/cl_muban

k8s集群部署Apollo分布式配置中心

泪湿孤枕 提交于 2020-04-06 15:09:49
先安装mysql,版本须在5.6以上: [root@hdss7-11 yum.repos.d]# cat MariaDB.repo [mariadb] name = MariaDB baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.1/centos7-amd64/ gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=1 [root@hdss7-11 yum.repos.d]# rpm --import https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB [root@hdss7-11 yum.repos.d]# yum install MariaDB-server -y 修改mysql配置文件: [mysqld] character_set_server = utf8mb4 collation_server = utf8mb4_general_ci init_connect = "SET NAMES 'utf8mb4'" [mysql] default-character-set = utf8mb4 [root@hdss7-11 ~]# systemctl

算法时间、空间复杂度分析

允我心安 提交于 2020-03-26 00:13:33
3 月,跳不动了?>>> 前言 衡量代码是否牛逼有两个非常重要的指标: 1、运行时间;2、占用空间。 数据结构和算法本质上是解决“快”和“省”(程序运行速度快,存储空间省)的问题,因此算法的执行效率尤其重要,那么如何来衡量代码的执行效率尼?时间、空间复杂度分析它就lei了。 数学题(自编) 例1 :春天来了,万物复苏,又到了。。。植树的时候了,给小萌10棵树,小萌种一棵树需要半天(0.5天),那么全部种完需要几天? 答案:10X0.5=5(天) 那么给小萌n棵树尼?0.5n(天) -----------------------我是分割线------------------- 例2 :柠檬树上柠檬果,而柠檬树下只有小萌,小萌数了下树上有8(好少)个果子,他准备每3天摘下树上一半的果子,问几天后树上只有1个果子? 分析:每次摘一半,就是不断的除以2,这里就需要用到对数(以2为底,8的对数)简写log8 答案:3Xlog8=3X3=9(天) 那么树上如果有n个柠檬果尼?3logn(天) -----------------------我是分割线------------------- 例3 :疫情期间学校延迟开学,小萌在家期间写了5篇作文,他写第一篇时用了1天,写第二篇用了2天,第三篇用了3天。。。每多写一篇就多花1天时间(可能他妈妈已经三天没打他了),问小萌5篇作文一共写了几天? 答案:1

OpenJDK 11 JVM日志相关参数解析与使用

心不动则不痛 提交于 2020-03-09 12:02:25
OpenJDK 11 是在 OpenJDK 8 之后的第一个长期支持版本,这一版本在JVM日志配置有了很大改动,主要是规范化,统一化了。在 OpenJDK 8 中,日志配置有很多状态位,让人摸不着头脑,并且比较难以维护与进一步迭代。在 OpenJDK 11终于将JVM日志相关的配置规范起来,统一配置。这篇文章会对于这些配置做一个基本的说明和解析。 一、JVM日志标签 JVM 日志和我们 java 代码中的日志,其实是类似。在 Java 代码中,我们一般使用 slf4j 记录日志,例如: Logger logger = LogFactory.getLooger("core-logger"); logger.info("this is core logger log"); 然后日志中就会输出类似于: 2020-02-05 10:50:52.670 INFO [core-logger] [22] [pool-13-thread-1]: this is core logger log 包括时间戳,日志级别,日志标签(core-logger),日志内容这些信息。JVM 日志也是包括这些元素。举个例子: [0.182s][debug][jit,compilation] 1 3 java.lang.StringLatin1::hashCode (42 bytes) [0.183s][debug]

php 日志库获取调用方的代码文件地址和代码行数

心已入冬 提交于 2020-03-01 14:32:57
在使用其他语言的打印日志的时候,经常能看到打印日志时带上文件地址和代码行数,对于调试和查找问题非常方便,但是 php 日志库里则很少见到这个功能,但这个功能还是可以实现的。 关键点就是用 php 的 debug_backtrace 函数 先看个例子 test.php function test() { print_r(debug_backtrace()); } test(); 输出 Array ( [0] => Array ( [file] => /path/test.php [line] => 7 [function] => test ) ) debug_backtrace 能获取整个调用链,所以,我们的日志库就可以根据这一条实现在日志中带上文件和行号的功能 function xlog(string $lv, string $format, ...$args) { $log = "%s\t%s:%s\t%s" . PHP_EOL; $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); return sprintf($log, $lv, trim($backtrace[0]['file']), $backtrace[0]['line'], sprintf($format, ...$args)); } echo xlog