前言
实际在工作中,大家难免会遇到服务器磁盘故障的现象。遇事不要着急忙慌,这种现象也是避免不了的,尤其是针对企业数据库存储服务器来说,如果磁盘有损坏的现象,第一时间需要确认数据是否有做过备份?损坏的这块磁盘有没有影响到单台服务器或整个集群以及甚至对现有业务的影响是否严重?
在之前有简单整理过一些关于磁盘系列的相关文章。
《如何在线上环境挂载 LVM 磁盘?》
《Linux磁盘和文件系统管理》
《Linux磁盘扩容 | LVM逻辑卷使用手册》
1、如何判断确认是否磁盘已经损坏了?
先通过系统平台查看某个集群的设备运行状态情况;
远程连接到目标故障设备,执行命令ll /data6查看是否有报错现象;
ls: /data6: Input/output error
ls: reading directory /data6: Input/output error
total 0
需查看机房某设备的磁盘指示灯告警状态;
服务器硬盘的损坏,导致程序异常,以致于上传的数据将无法进行解析;
2、集群设备磁盘损坏,对数据的影响主要看哪些设置?
HDFS 如果没做其他特殊的设置,集群有副本,不会对数据造成影响;
kafka 需要确认创建 topic 的时候有没有副本,如果有副本不会有影响;
一般情况下,一块磁盘的卸载挂载,不会对集群产生影响。
3、集群设备磁盘损坏的解决方法
将集群的某一台故障设备中的数据导出到其他设备上,并更换新磁盘;
Linux 操作系统挂载大于 2T 的磁盘需要 GPT 格式;
具体操作步骤如下:
第一步:parted /dev/sdg # 查看具体情况盘符编号
第二步:print # 查看当前分区情况
第三步:mklabel gpt # 设置分区类型为 gpt
第四步:mkpart extended 0% 100% # 扩展分区 extended,主分区 primary ,并使用整个磁盘
第五步:print # 查看当前分区情况
第六步:mkfs.ext4 /dev/sdg1 # 格式化新硬盘
第七步:mount /dev/sdg1 /data6 # 将新添加的 /dev/sdg1 磁盘挂载到 /data6 目录下
第八步:vi /etc/fstab # 修改配置文件中的 UUID,或将 UUID 修改为磁盘目录 /dev/sdg1
第九步:reboot # 重启服务器
第十步:df -h # 执行命令 df -h 查看磁盘情况