前几天还在得意于50GB的数据加密保存,实时远程备份,通过rsync把变化的数据增量备到各地,然后放在加密的卷标里面。今天却又碰到一件意想不到的事情。
SVN的历史版本太多了,加上每天的导入数据,迅速把50GB空间占满,下午一查,只有700MB左右,再一刷新就只有600MB,眼见着迅速降低下去,原来规划的空间一点点地消失。
赶紧删除无用的工具软件类,delete一番后,发现一点儿改善也没有。网上一搜,全是执行删除操作后,如何进行恢复的技巧说明。但查一查如何彻底删除、真正删除,却 丁点儿有效的信息也找不到。我是第一次接触这东西,原来没想到还有这么多道道,删除后文件根本找不到了,却没有真正删除,还存在某个地方等着删除。想想也是,SVN本来就是为了方便回朔地某个版本,肯定保存了每个版本的变化信息,有什么新旧东西,都会存起来。linux下的估计有一堆办法,windows下的VisulaSVN如何彻底删除,真是找不到任何有用的资料。
急切间,身边人来人往,有问服务器为什么不能访问的,有问更新出错的,有问无法下载的,有问连不上服务器的,各种各样的,思路总是打断,每个人来问,都要抬头应付一下。
最着急如何恢复,打电话问了经常折腾SVN的同事。办法是全部下载了数据,再建个新的,再上传上去。只保留最后一个版本。或者把旧服务器数据DUMP,再import到新服务器。这些方法都太费时间,如何更快解决呢?
原来备一个镜像。直接在另一台服务器上面,把VisualSVN资源目录指向本地镜像数据。start后,成功打开。在IE及SVN客户端上访问正常,能打开所有文件,权限也都正常。但在本地修改后,再进行commit,出现报错:
POST 。。。。XML 3 line,(valide token)
具体错误信息忘了,好像是说非法token,无法更新。
于是开始了下面的折腾过程。共试过如下方法:
两台服务器上面数据是一致的,唯一不同的VisualSVN的安装后参数。于是查看有哪些不同。有个server.pem不同。同步后,仍然失败。
rsync 加上delete参数,然后再加上update参数,还是失败。同样错误又出现。
是否是文件权限问题呢?rsync同步时,把文件属性、属组、权限、时间等,全是同步过来。仍然失败。
再回头折腾旧服务器。新加入磁盘,将其作为SVN服务器上的一个目录文件,这办法也不妥当。全是小文件,接进去也无法有效扩展容量。况且全是加密的VOL,要接进去也有难题。失败。
在网上寻找命令行下删除旧版本数据,失败。
双回头折腾新服务器,重点检查文件权限问题。终于在打开文档数据时,弹出一个权限错误的提示。把VisualSVN server admin的用户加入读写权限后,一切运行正常,太让人高兴了。
至此,通过rsync镜像,然后设置权限,顺利完成到大硬盘空间服务器的迁移。太棒了,一切恢复正常,一切可以继续。
没有评论:
发表评论