FastDFS 磁盘空间不足(tracker_query_storage fail,error no : 28,error info : No space left on device)
背景:生产环境多个应用同时用的同一个fastDFS,今天上传文件时失败。
1、在文件服务器上中用fastDFS自带命令测试,返回空间不足。
2、查看了data所在路径磁盘大小,发现当前挂载磁盘空间剩余10%(fastDFS默认预留10%的磁盘空间)
3、查询了该服务器所有挂载磁盘大小,都不足支撑当前服务,服务器管理人员已下班,但系统第二天还要继续使用,所以这剩余的10%磁盘空间要用起来。
4、在tracker.conf中,将reserved_storage_space的值修改为5%,预留5%的磁盘空间。
5、重启fastDFS
启动Tracker
service fdfs_trackerd start
启动Storage
service fdfs_storaged start
关闭Tracker
service fdfs_trackerd stop
关闭Storage
service fdfs_storaged stop
6、用自带命令测试是否能上传成功,测试上传正常。
fastDFS上传文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf file
7、必须申请挂载大容量磁盘,不然预留空间越小系统扛不住啊。
两天后,新增1T硬盘,以下为fastDFS迁移过程
1、通过fdisk -l查询出多出来1000G磁盘空间
fdisk -l
2、格式化此空间
mkfs -t ext4 /dev/xvde
3、新建目录用来挂载磁盘(未在原有的磁盘上扩容,直接重新设置目录)
mkdir -p /mnt/home
4、使用mount将磁盘挂载在新建目录,查看已挂载成功。
mount /dev/xvde /mnt/home
5、设置开机挂载,在/etc/fstab末尾添加 /dev/xvde /mnt/home ext4 defaults 1 2 保存
/dev/xvde /mnt/home ext4 defaults 1 2
6、修改storage.conf中的store_path0,指向新目录(store_path0表示存储路径为M00,store_path1表示M01,以此类推)
7、将原来的文件拷贝至新路径(由于文件较大,后台运行)
nohup cp -rf /usr/local/fastdfs/file/data/ /mnt/home/fastdfs/file/ &
8、拷贝完成后可对原路径文件删除节约磁盘空间,至此fastDFS扩容完成(伪扩容,实为更换路径,怕把原来文件搞坏)。
补充: lsblk 可以查看所有磁盘的挂载情况,可以看到磁盘vdb未挂载到任何磁盘,大小为1T