glusterfs trash 功能引起进程崩溃退出处理

glusterfs trash 功能引起进程崩溃退出 glusterfs 的 trash 功能类似回收站, 用户删除的文件保存到指定的回收目录里, 该功能可以用于数据恢复. 系统环境: Centos 6.4 Glusterfs-3.7.11 错误日志: 每隔几分钟, gluster 进程退出, 相应的报错信息如下: [2016-06-30 15:59:59.281498] I [MSGID: 115036] [server.c:552:server_rpc_notify] 0-gv0-server: disconnecting connection from gw108.sysop.zongheng.com-22273-2016/06/30-16:00:00:221452-gv0-client-1-0-0 [2016-06-30…

Continue reading

有效的升级 MySQL 库中所有表的字段属性

背景介绍 本文基于一个 discuz 论坛表的需求描述 — 将论坛中所有表为 mediumint(8) 的字段升级为 int(10), 以存储更大的用户 id 信息; 通过批量升级字段的方式也适用于其它相关的需求. 顺便吐槽下 discuz 这么多年以来对基础表的优化接近于无, 在用户较多或访问较频繁的场景下, 基础表的结构依然缺乏比较完善的设计. 步骤 考虑到论坛运行一段时间后, 一些表会比较大, 如果业务需要持续运行的话, 不太适合直接 alter table 的方式更新表, 下文会介绍使用 percona 的工具完成修改, 所以在整个流程中分为以下步骤操作:…

Continue reading

MySQl schema 表变更版本管理

https://github.com/nomad-software/snap https://github.com/chenzhe07/snap 注: 笔者新启 snap 分支项目后, 做了以下改动: 修复 cli 命令行需要返回 error 信息的错误; 增加 clear 选择删除指定库的版本控制信息; 更多信息参见 snap 链接 snap 用途概述 在开发过程中, 我们经常需要对核心的库表结构进行调整, 新建表, 增删字段等都需要记录以便和线上的环境区别开, 亦可以和相关的代码对应起来方便功能的追溯. 在交叉开发的环境中, 多名开发者共同更新一个表的情况很容易引起开发和部署的混乱, 可以通过版本管理的方式避免此类问题. 1. 适用范围…

Continue reading

Common utilities for sysadmin/dba

sys-toolkit Some useful scripts to sysadmins/dbas. read more from: https://github.com/chenzhe07/sys-toolkit toolkit lists: sys-genpass sys-nton sys-pubip sys-ascii sys-ipton sys-lock-run sys-repeat sys-checkport sys-echo-stderr sys-php-chroot sys-tcp-port-proxy sys-shell-type sys-memory-maps sys-mem-redis-summary sys-mysql-summary sys-mysql-adj sys-mysql-kill-blocked-thread sys-mysql-kill-long-query…

Continue reading