gluster的迁移
来源:互联网 发布:mac磁盘工具抹掉win7 编辑:程序博客网 时间:2024/05/21 10:57
分布式文件系统迁移
首先,遇到的问题是分布式文件系统的迁移,因为当时在环境搭建的时候并没有考虑到机房可能会出现搬迁,更没有想到机房搬迁之后IP地址等网络设置会发生变化,所以在安装配置GlusterFS文件系统的时候都是采用IP地址添加peer以及建立Volume的。接到迁移任务之后,我们首先开始考虑基础数据的问题,考虑各种潜在的数据风险,于是预先就把GlusterFS内的文件拷贝出来以防万一。
在这里特别要称赞GlusterFS文件系统的一个特性,那就是文件在GlusterFS上不会切块进行存储,也不会进行数据格式转换,而是数据文件按照原样存储,这样一旦GlusterFS系统不工作,可以在相应的数据文件目录下将相关的文件拷出直接使用。
如果数据量比较小,那么可以考虑在将数据文件拷出之后,对集群各节点采取以下步骤进行迁移:
1 停止,删除卷
2 删除节点
3 修改IP地址
4 添加节点
5 创建,开始卷
6 拷回数据
但是由于我们的GlusterFS存储了云主机镜像文件以及云硬盘的数据,大约有几个TB的数据,所以将数据拷出再拷回来的方法显然不太现实。下面就是如何在不重装,不删卷(Volume),不重加节点(peer)的情况下更改GlusterFS的地址。
GlusterFS在进行peer probe操作以及create volume的操作之后,会将相应的IP地址信息写入配置文件中,并且某的些文件的文件名也会包含IP地址信息,经过grep以及find命令的查找,需要修改的地方如下(对于编译安装的GlusterFS):
1 修改 /var/lib/glusterd 下配置文件,peer 在 /var/lib/glusterd/peers/* 下,卷在 /var/lib/glusterd 下
2 修改 /var/lib/glusterd/vols/ 下的卷配置文件,配置文件的名字上带有HOSTNAME要改
3 通过debug模式执行看是否有问题
如果没有问题,开启服务并验证
这下算是将分布式文件系统迁移完毕,这给后面的韵味提个醒,最好在搭建之初就想到可能会有系统迁移的情况,因此在peer probe和volume create的时候尽量选用主机名标记各节点,这样如果不幸需要搬迁,只需要修改/etc/hosts文件即可无缝迁移。
3. 总结
首先,底层文件系统的安装,请尽量使用主机名和域名,这会为迁移带来很大的便利。
然后,OpenStack的安装也尽量使用主机名或域名,将对IP地址的依赖减少到最小。
再然后,万不得已别直接修改数据库,如果非要改请先备份,再加一万分认真。
新的网络规划尽量保证与原网络环境的一致,能做到批量修改最好。
最后,不到万不得已,正式环境不要做如此的环境迁移,即便要迁移环境,请尽量保持网络环境跟之前是一致的,如果连这个也无法保证,那么我只能祝您好运了,我在此提到的只是我们所遇到的一些问题,很可能在不同的情况下会遇到不同的问题,请冷静分析解决。
- gluster的迁移
- gluster文件锁的实现
- Gluster升级遇到的问题
- 关于Gluster稳定性的一个BUG
- gluster 删除数据的扩展属性
- 关于gluster数据不同步的处理
- Gluster添加自定义简单xlator的步骤
- 如何在gluster的源码中添加自己的xlator
- 红帽的大数据:Gluster全方位解读
- 红帽的大数据:Gluster全方位解读
- Gluster 部署上的 unknown error 107 问题
- Gluster vs Ceph:开源存储领域的正面较量
- Ceph vs Gluster之开源存储力量的较量
- CentOS7上Glusterfs的安装及使用(gluster/heketi)
- Gluster简单加密xlator rot-13模块的测试
- gluster简介
- Gluster fs
- Gluster ABC
- 数据库事务隔离级别
- CI problem:
- Java&&持有对象(容器小结)
- 单片机与安卓(java)字符串与字节,ascii之间的相互转换
- 为什么要使用EJB?
- gluster的迁移
- 简单,是一种大美
- mysql 编号生成
- g++编译中遇到undefined reference to `GetAdaptersInfo@8'处理方法
- C#学习笔记之初识LINQ查询
- 适配器模式
- ibus五笔造词、删词功能
- Infobright高性能数据仓库
- between and 函数