ubuntu&群辉USB外接硬盘挂载问题解决

缘起

最近在盘点之前的移动硬盘之类的设备,方便在现有的蜗牛星际、j3455主机上,充分利用这些资源,用来做临时的下载缓存、需要频繁访问的场景,这样能节省nas内自身硬盘的寿命。

这次我们折腾的设备,是希捷的一款桌面3.5存外置硬盘。

折腾过程

Ubuntu系统上的挂载

挂载在j3455的Ubuntu系统上是比较简单的,分区后直接在/etc/fstab增加以硬盘UUID或者PARTUUID加载即可。

注意: 由于挂载移动硬盘后,可能会导致主机内本身的硬盘设备名发生变化,比如从原来的/dev/sdc变成了/dev/sdd,因此所有的/etc/fstab加载,都需要使用UUID或者PARTUUID加载,否则会导致加载混乱。

而之前没加外置硬盘时,是不会出现设备名变化的,究其原因,是由于外置的移动硬盘加载的时间是不定的,主机启动时,可能外置硬盘比内置硬盘更早识别,也就打乱了原有顺序。

硬盘、分区的UUIDPARTUUID可以使用blkid查看

sudo blkid /dev/sda1

/etc/fstab内的加载类似这样

PARTUUID="xxxx"		/backup_disk1	ext4	defaults	0	2

另外,这里补充一点硬盘分区的小知识,由于现在的硬盘都比较大,默认的mkfs.ext4创建的分区,保留了5%的空间,同时默认的inode数很大,会降低可用空间。

可以使用如下的ext分区可用空间优化参数,创建节省硬盘空间,可用空间较大的。

sudo mkfs.ext4 /dev/sdd1 -T largefile -m 0 -N 40063296

其中 -m 0 表示不要保留空间,-N 表示需要的inode数,我们这里设置了4000w肯定够用了,-T 表示是大文件居多,可以一定程度降低在inode上的损耗。

外置硬盘休眠掉盘问题

完成在ubuntu上的挂载后,使用了一段时间,主要有个2个问题比较严重:

1、内置硬盘设备名变化

2、一段时间后移动硬盘掉盘,报``input output i/o error``

3、无法读取硬盘smart信息

其中问题1,一定程度上使用PARTUUID可以解决,但是涉及到dd if=/dev/sdd of=/xxx这种硬盘镜像操作就会受很大影响

其中问题2,使用了各种方法,比如使用hdparm设置硬盘不休眠,都没有得到解决,可能是希捷的兼容性问题,或者为了省电硬件内置了休眠策略。

其中问题3,可以通过关闭linux的uas解决,参考这里

经过上面的折腾,在ubuntu上挂载问题比较多,我最终是放弃了,根源可能就是休眠掉盘的问题,暂时无解。

群辉系统上的挂载

群辉上的挂载比较简单,插上移动硬盘,就会默认创建相关的共享文件夹,直接可以使用,在这里主要遇到了以下几个问题:

1、共享的文件夹不能在其他设备挂载,报Permission deny

这个问题折腾半天,各种加用户权限都没有解决,最后在一个帖子下发现了,作如下操作可以解决,参考这里

在共享文件夹的权限设置里,把群组权限admins开启读写,内部账户全部不勾选,用户权限全部不勾选

这个也是很神奇的,给用户开权限没有用,包括用户和群组都开。。。

2、群辉重启后移动硬盘没有正确挂载

这个问题看起是群辉的bug,挂载着移动硬盘重启,可能就会导致这个问题,运行时插入硬盘,就不会有这个问题,原因未知。

这个问题的解决,参考这里

在计划任务里,在开机后增加一个计划任务,输入如下的命令,即开机后重新加载一遍移动设备,这样就可以解决挂载问题了

for scsi_host in /sys/class/scsi_host/host*/scan; do echo "- - -" > ${scsi_host}; done

总结

其实,挂载移动硬盘很简单的,但是这次我是将它作为系统长期运行使用的设备来用,这样的话包括盘符、稳定性、重启挂载等,这些都很重要,因此才会这么折腾。

如果是临时用下移动硬盘,随便使用就好了没有这么多问题。

另外吐槽一点:linux系统下可能系统设计上没有考虑,不能固定设备的dev描述名字,这在一定程度上不方便使用

另外可以确定的是:linux对希捷的外置移动硬盘其实是兼容处理的,存在小问题。

参考文档

https://unix.stackexchange.com/questions/239782/connection-problem-with-usb3-external-storage-on-linux-uas-driver-problem

https://blog.51cto.com/kusorz/1748990

https://unix.stackexchange.com/questions/339822/preventing-external-hard-drive-from-sleeping

https://unix.stackexchange.com/questions/5211/prevent-a-usb-external-hard-drive-from-sleeping

https://qastack.cn/ubuntu/637450/cannot-perform-smart-data-and-self-test-on-external-hard-drive

https://www.smartmontools.org/wiki/SAT-with-UAS-Linux

https://zhuanlan.zhihu.com/p/350835904

https://unix.stackexchange.com/questions/397260/file-system-block-size-differs-between-different-ext4-partitions

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。