云盘产品运维

(1)服务进程:

xserver服务:云盘服务端,负责云盘逻辑处理

nginx:云盘代理,负责转发请求

xserver guard:云盘服务的守护进程。负责企业网盘的健康检查以及常规服务恢复。

mysql:云盘数据库系统

uctr:云盘数据存储调度。实现存储节点的调度

unode:云盘数据存储节点。负责文件的加密传输

solr:云盘检索服务。负责云盘文件的搜索和进行全文检索

owa:云盘文档预览服务。负责云盘文件的在线预览和转码

preview:云盘图片预览服务。负责处理云盘的图片预览

(2)

检查云盘应用服务状态:xserver -d

检查数据库主从是否同步:

mysql -uroot -p -h127.0.0.1   

show slave status\G;

slave_IO_running 和slave_sql_running都是yes,服务就是正常,否则就是同步出现异常

(3)

xserver -d 服务启动失败

 

可能存在原因:

(1)   首次部署服务,未更换授权码。

(2)   授权码到期

解决办法:

    联系云盘厂商申请授权码。申请授权码之后在 /etc/xserver/server.properties中更新授权,并重启服务。

 

应用服务异常启动指令顺序:

   # /etc/init.d/uctr.server start

   # /etc/init.d/unode.server start

  # /etc/init.d/nginx start

  # /etc/init.d/xserver.server start

 

(4)云盘无法搜索文件

可能原因;

1solr服务没有启动

2没有构建索引

解决办法:

如果服务未正常启动。则启动solr服务。

         # cd /opt/Solr/apache-tomcat-8.0.26/bin &&sh startup.sh

构建文件索引。可联系云盘厂商进行该操作

(5)文件无法上传和下载

可能存在原因:

(1)   主机无法访问服务9091端口。

(2)   存储服务uctr和unode服务没有正常启动。

(3)配置出错。

 

(6)机房断电应用恢复紧急处理方案

操作步骤:

确认服务器电源接通。可以启动操作系统时。

先启动mysql(主)服务器。再启动mysql(备)服务器

启动基本应用服务器。基本应用服务器为:

启动存储服务uctr和unode服务器

启动云盘xserver服务器。

 

使用xserver –d 各个服务的状态是否都为“start”

测试文件上传、下载,搜索等基本功能是否正常。

联系云盘厂商做健康检查

 

(7)mysql主服务器故障,且无法恢复方案

1

修改所有xserver配置mysql的地址为从机mysql地址

vim /etc/xserver/server.properties

/etc/init.d/xserver.server restart

2

修改uctl配置mysql地址为从机mysql地址

vim /etc/uctl/uctl.conf

/etc/init.d/uctr.server restart

 

(8)

 检查unode主从是否同步(双机)

此检查是在设置了unode主从情况下操作

如果 unode 已经开启同步(unode.conf的 "NODE_SYNC"中的enable字段设成true),则需要检查同步是否正常:此项工作需要在主机上完成

(1).检查/var/log/unode/sync_err.log 是否有错误输出

(2).在 /var/lib/unode/ 目录下,运行

$ tail change.log push.log

查看这两个文件的最后一行是否相同,如果相同,则说明文件同步正常,否则不正常

 /var/lib/unode目录相当于mysql的binlog目录,里面存放着同步信息

change.log保存了需要同步到另外一台机器的数据块信息

push.log记录了哪些数据块已经同步

完全同步的情况下,change.log和push.log的最后一行都是相同的

如果同步有问题,会发现change.log里有内容,但是push.log里没有数据

从机里只有change.log起作用

 

(9)top后看到,xserver进程CPU占用率已经超过100%,说明xserver服务已出现异常。

解决办法:使用jstack查看xserver的堆栈信息,找出xserver正在执行或阻塞的代码块。一般情况下,导致此现象的原因可能是mysql服务异常或ufa服务异常致使xserver有大量的请求一直在等待响应

ps -ef | grep xserver | grep java  (获取进程号)

ps -mp xserver 进程号  -o THREAD,tid,time | sort -rn(获取xserver最占cpu的线程)

将线程值转为16进制值

然后使用 jstack xserver 16635  | grep 线程值16进制值 -A 30获取堆栈信息

 

posted @ 2018-06-22 16:57  王能武  阅读(305)  评论(0编辑  收藏  举报