# FTP无法访问故障排查(RAID5重建96.2%阶段)
## 一、核心原因总结⚠️
阵列处于`Degraded+Recovering+CreatVG`三重IO占用,**磁盘IO耗尽、LVM正在初始化卷组**,系统底层读写阻塞,导致FTP无法挂载/打开目录,是重建期高发问题。
### 关键诱因
1. **重建全盘条带校验 + VG卷初始化双重抢占磁盘带宽(当前仅28.64MB/s重建速度)**,磁盘IO打满,文件系统卡死,FTP进程读取目录阻塞超时。
2. RAID5降级状态下缺一块盘,所有缺失条带需要实时临时计算,读文件开销成倍上涨,小文件目录直接无法列举。
3. 若文件系统是XFS/EXT4,高负载下触发文件系统挂起(soft lock),操作系统无法响应FTP的文件请求。
---
## 二、分步应急处理(按顺序操作,优先保障重建不中断)
### 1. 优先临时降业务负载(立刻执行)
1. **暂停FTP上传任务,临时关闭FTP主动写入权限**,只保留必要读取,大批量下载任务暂缓;
2. 关闭服务器后台所有备份、同步、扫描、杀毒任务,释放磁盘IO。
> 禁止重启服务器、停止md重建,中断重建极易双盘损坏丢数据。
### 2. 查看系统磁盘IO占用(SSH登录执行)
```bash
#查看磁盘IO负载
iostat -x 2
#查看哪个进程疯狂占用磁盘
iotop
```
- %iowait 数值>70% → IO阻塞实锤,就是重建+VG初始化吃光IO导致FTP打不开。
### 3. 暂缓VG创建(关键,CreatVG是额外拖慢元凶)
后台正在创建LVM卷组,初始化PV会全盘清零扫描磁盘,和RAID重建抢IO:
1. 若VG尚未完成:**临时终止未完成的vgcreate/pvcreate任务**,等RAID100%重建完毕后再做卷组创建;
2. 切勿删除已有VG配置,仅停止新建操作。
### 4. 优化md重建速度,释放部分IO
```bash
#调高md重建空闲带宽,空闲时提速、业务运行自动降速
echo 100000 > /proc/sys/dev/raid/speed_limit_max
echo 30000 > /proc/sys/dev/raid/speed_limit_min
```
调高限速后,重建效率提升,缩短阻塞时长。
---
## 三、FTP分层临时方案💡
1. **只读应急**:若急需取少量关键文件,可本地SSH拷贝,避开FTP高并发目录遍历;
2. **批量业务**:大批量下载/上传**全部延后至重建100%完成**(剩余预估83min),阵列退出降级、VG做完后IO恢复,FTP自动恢复正常。
## 四、高危禁止操作⚠️
1. **绝对不要umount阵列分区、不要修复fsck文件系统**:重建中fsck扫描会直接打爆IO,大概率导致阵列崩溃;
2. 不能重启服务器、断电、拔硬盘,RAID5降级期重启有概率阵列离线丢数据。
---
## 五、预判
等同步100%结束后:
1. Recovering重建标记消失、阵列脱离Degraded降级;
2. 后台CreatVG卷组初始化结束;
磁盘IO负载暴跌,FTP目录、读写自动恢复正常。
需要我帮你逐条核对命令输出,定位具体IO占用进程吗?