4.GlusterFS 常见故障处理

  一般硬盘也要备用几块,因为随着发展,可能这些型号的硬盘不好买到了,一般的事故不会在开始一两年出,在硬件老化的时候出故障的频率高。

4.1 硬盘故障

如果底层做了 RAID 配置,有硬件故障,直接更换硬盘,会自动同步数据。
如果没有做 RAID,处理方法如下:

正常节点上执行 gluster volume status,记录故障节点 uuid
执行:getfattr -d -m ‘.*’ /brick 记录 trusted.gluster.volume-id 及 trusted.gfid

以下为故障模拟及修复过程:

在 VMware Workstation 上移除 mystorage1 主机的第三块硬盘(对应 sdc /storage/brick2),相当于硬盘故障

# 系统提示如下:
Message from [email protected] at Jul 30 08:41:46 ...
 storage-brick2[5893]: [2016-07-30 00:41:46.729896] M [MSGID: 113075] [posix-helpers.c:1844:posix_health_check_thread_proc] 0-gv2-posix: health-check failed, going down

Message from [email protected] at Jul 30 08:42:16 ...
 storage-brick2[5893]: [2016-07-30 00:42:16.730518] M [MSGID: 113075] [posix-helpers.c:1850:posix_health_check_thread_proc] 0-gv2-posix: still alive! -> SIGTERM

 # 查看卷状态,mystorage1:/storage/brick2 不在线了,不过这是分布式复制卷,还可以访问另外 brick 上的数据
[[email protected] ~]# gluster volume status gv2
Status of volume: gv2
Gluster process                             TCP Port  RDMA Port  Online  Pid
------------------------------------------------------------------------------
Brick mystorage1:/storage/brick2            N/A       N/A        N       N/A  

在 VMware Workstation 上新增 mystorage1 一块硬盘,相当于更换了新硬盘,下面先格式挂载新硬盘:

# mkfs.xfs -f /dev/sdc
# mkdir -p /storage/brick2
# mount -a
# df -h

# 新硬盘挂载后目录为空
[[email protected] ~]# ll /storage/brick2
total 0

开始手动配置新增硬盘的 gluster 参数

# 在 mystorage2 是获取 glusterfs 相关参数:
[[email protected] tmp]# getfattr -d -m ‘.*‘  /storage/brick2
getfattr: Removing leading ‘/‘ from absolute path names
# file: storage/brick2
trusted.gfid=0sAAAAAAAAAAAAAAAAAAAAAQ==
trusted.glusterfs.dht=0sAAAAAQAAAAAAAAAAf////g==
trusted.glusterfs.dht.commithash="3168624641"
trusted.glusterfs.quota.dirty=0sMAA=
trusted.glusterfs.quota.size.1=0sAAAAAATiAAAAAAAAAAAAAwAAAAAAAAAE
trusted.glusterfs.volume-id=0sEZKGliY6THqhVVEVrykiHw==

# 在 mystorage1 上执行配置 glusterfs 参数和上述一样

setfattr -n trusted.gfid -v 0sAAAAAAAAAAAAAAAAAAAAAQ== /storage/brick2
setfattr -n trusted.glusterfs.dht -v 0sAAAAAQAAAAAAAAAAf////g== /storage/brick2
setfattr -n trusted.glusterfs.dht.commithash -v "3168624641" /storage/brick2
setfattr -n trusted.glusterfs.quota.dirty -v 0sMAA= /storage/brick2
setfattr -n trusted.glusterfs.quota.size.1 -v 0sAAAAAATiAAAAAAAAAAAAAwAAAAAAAAAE /storage/brick2
setfattr -n trusted.glusterfs.volume-id -v 0sEZKGliY6THqhVVEVrykiHw== /storage/brick2

[[email protected] ~]# /etc/init.d/glusterd restart
Starting glusterd:                                         [  OK  ]

[[email protected] ~]# gluster volume heal gv2 info
Brick mystorage1:/storage/brick2
Status: Connected
Number of entries: 0

Brick mystorage2:/storage/brick2
/data
Status: Connected
Number of entries: 1        # 显示一个条目在修复,自动修复完成后会为 0

Brick mystorage3:/storage/brick1
Status: Connected
Number of entries: 0

Brick mystorage4:/storage/brick1
Status: Connected
Number of entries: 0

# 自动修复同步完成后,查看新硬盘的数据同步过来了
[[email protected] ~]# ll /storage/brick2
total 40012
-rw-r--r-- 2 root root 20480000 Jul 30 02:41 20M.file
-rw-r--r-- 2 root root 20480000 Jul 30 03:13 20M.file1
drwxr-xr-x 2 root root       21 Jul 30 09:14 data

4.2 一台主机故障

一台节点故障的情况包含以下情况:

  • 物理故障
  • 同时有多块硬盘故障,造成数据丢失
  • 系统损坏不可修复

解决方法:

找一台完全一样的机器,至少要保证硬盘数量和大小一致,安装系统,配置和故障机同样的 IP,安装 gluster 软件,
保证配置一样,在其他健康节点上执行命令 gluster peer status,查看故障服务器的 uuid

[[email protected] ~]# gluster peer status
Number of Peers: 3

Hostname: mystorage3
Uuid: 36e4c45c-466f-47b0-b829-dcd4a69ca2e7
State: Peer in Cluster (Connected)

Hostname: mystorage4
Uuid: c607f6c2-bdcb-4768-bc82-4bc2243b1b7a
State: Peer in Cluster (Connected)

Hostname: mystorage1
Uuid: 6e6a84af-ac7a-44eb-85c9-50f1f46acef1
State: Peer in Cluster (Disconnected)

修改新加机器的 /var/lib/glusterd/glusterd.info 和 故障机器一样

[[email protected] ~]# cat /var/lib/glusterd/glusterd.info
UUID=6e6a84af-ac7a-44eb-85c9-50f1f46acef1
operating-version=30712

在信任存储池中任意节点执行

# gluster volume heal gv2 full

就会自动开始同步,但在同步的时候会影响整个系统的性能。

可以查看状态

# gluster volume heal gv2 info
时间: 2024-10-13 21:52:54

4.GlusterFS 常见故障处理的相关文章

MSSQL 常见故障处理

MSSQL 常见故障处理以及维护办法1.数据库文件收缩1.1 释放未使用的空间1.2 在释放未使用的空间前重新组织页1.3 将指定文件中的所有数据迁移到同一文件组中的其他文件2.日志文件收缩2.1 设置简单模式直接收缩3.Sql Agent作业代理3.1 错误日志相关3.1.1 循环生成错误日志4.AlwaysOn问题相关4.1 备份以及日志收缩问题4.2 Error: 35285, Severity: 16, State: 15.数据库登录/启动问题5.1 数据库处于可疑状态5.2 客户端登录

linux运维系统故障排查思路及常见故障处理

一 linux系统故障的一般处理思路 报错信息--->查阅日志文件--->分析定位问题--->解决问题. 二 linux系统无法启动原因及解决 系统无法启动的原因很多,常见的有下面几种情况: 1 文件系统被破坏,常常因断电和非法关机引起文件系统结构不一致.修复方法是用fsck命名强制修复,进入单用户模式或者交互界面,按提示进入修改模式中,卸载对应的问题磁盘,然后用fsck命令修复,无法恢复的数据会存放在lost+found下.umount /dev/sda3    fsck.ext4 -

硬盘的常见故障处理步骤的顺序

常见故障一:系统不认硬盘 系统从硬盘无法启动,从A盘启动也无法进入C盘,使用CMOS中的自动监测功能也无法发现硬盘的存在.这种故障大都出现在连接电缆或IDE端口上,硬盘本身故障的可能性不大,可通过重新插接硬盘电缆或者改换IDE口及电缆等进行替换试验,就会很快发现故障的所在.如果新接上的硬盘也不被接受,一个常见的原因就是硬盘上的主从跳线,如果一条IDE硬盘线上接两个硬盘设备,就要分清楚主从关系. 常见故障二:硬盘无法读写或不能辨认 这种故障一般是由于CMOS设置故障引起的.CMOS中的硬盘类型正确

oracle系列(六)OEM与常见故障处理

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 前言:oracle除了使用命令操作以外,还可以使用OEM图形化管理,日常的管理工作都可以通过OEM操作,包括数据库对象的创建,用户权限的管理,数据文件和参数的配置.备份和恢复操作等. 一.OEM知识点 1.OEM简介 OEM是采用直观而且方便的图像化界面来控制和管理ORACLE数据库的工具集,它包含大量对DBA有用的工具.在oracle中

Oracle--OEM与常见故障处理

OEM简介OEM是采用直观而且方便的图像化界面来控制和管理ORACLE数据库的工具集,它包含大量对DBA有用的工具.在oracle中,数据库管理和操作都可以使用OEM来完成,如创建用户和角色,权限分配,创建方案对象,进行存储管理等. OEM架构OEM不仅能够管理本地数据库实例,也可以管理网络和RAC环境下数据库实例.无论是管理本地还是网络上的数据库,OEM都通过HTTP/HTTPS访问数据库,它的架构如图下图: 1)Management repository:存储要监控的数据库的管理数据及状态信

Oracle(OEM与常见故障处理)

一.OEM知识点 1.OEM简介OEM是采用直观而且方便的图像化界面来控制和管理ORACLE数据库的工具集,它包含大量对DBA有用的工具.在oracle中,数据库管理和操作都可以使用OEM来完成,如创建用户和角色,权限分配,创建方案对象,进行存储管理等. 2.OEM架构OEM不仅能够管理本地数据库实例,也可以管理网络和RAC环境下数据库实例.无论是管理本地还是网络上的数据库,OEM都通过HTTP/HTTPS访问数据库,它的架构如图下图: 1)Management repository:存储要监控

(转)GlusterFS 01 理论基础,企业实战,故障处理

https://jaminzhang.github.io/glusterfs/GlusterFS-01-Theory-Basis/--------GlusterFS 01 理论基础 https://jaminzhang.github.io/glusterfs/GlusterFS-02-Deploy-and-Config/------GlusterFS 02 部署配置 https://jaminzhang.github.io/glusterfs/GlusterFS-03-Build-Enterpr

GlusterFS分布式存储系统

一,分布式文件系统理论基础 1.1 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,已经不能满足目前的需求. 分布式文件系统可以有效解决数据的存储和管理难题,将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络.每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输.人们在使用分布式文件系统时,无需关心数据是存储在哪个节

linux运维之路

Linux入门必备内容 成为一个优秀的linux运维人员必要条件 如何能高标准的掌握linux运维实战技术 计算机硬件组成.工作原理 CPU.内存.磁盘.raid卡生产工作标准详解 企业生产主流品牌服务器及型号内部拆卸讲解 操作系统cache与buffer的原理及硬件设计哲学 结合企业生产实战运维场景如何利用硬件优化 操作系统.Unix及Linux介绍 linux操作系统种类及运维人员选择建议 CentOS Linux原理深入.安装 Linux入门知识进阶 远程连接工具原理及使用 编辑工具 比较