找回密码
 立即注册
查看: 1682|回复: 6

[教程] 不硬改,从用户空间制造我家云/粒子云“不掉盘”假象,...

[复制链接]

1

主题

10

回帖

64

积分

初级渣柚V2

积分
64
QQ
 楼主| 发表于 2022-1-14 15:06:18 | 显示全部楼层 |阅读模式
本帖最后由 cjchome 于 2022-1-19 21:32 编辑

这个掉盘云够我折腾的了,换了一圈的硬盘,只有固态硬盘不掉,机械硬盘只要硬盘休眠后唤醒,都会出现掉盘现象
掉盘主要表现在硬盘休眠后,重新唤醒时访问硬盘会有个延迟。这点只要是机械硬盘,主轴电机启动时都会有这个问题,我们在台式电脑的硬盘上也可以感觉到这个延迟
在掉盘云ArmBian系统下只有用“dmesg -T | grep xhci”指令可以看到有几条Timeout的日志,不去看日志有些人基本也不会觉得这是掉盘
我也接受粒子云掉盘,这是硬件问题,不硬改也解决不了。
但掉盘后有一定的小概率sda盘符会漂移成sdb,这点就影响使用了
如果解决了盘符漂移问题,硬盘的小延迟是不是就可以忽略了?

昨天发现可以用udev来绑定盘符,拿来试试
udev 是一个用户空间的设备管理器,用于为事件设置处理程序。作为守护进程, udev接收的事件主要由 linux 内核生成,这些事件是外部设备产生的物理事件。总之, udev 探测外设和热插拔,将设备控制权传递给内核,例如加载内核模块或设备固件。

操作如下:
一、通过fstab配置文件以UUID方式挂载分区
1. 先用"blkid"或"lsblk -f"或"ls -l /dev/disk/by-uuid/"指令查看硬盘分区sda1的uuid,注意是分区的UUID,不是磁盘的
2. 编辑/ect/fstab,增加一行,其中UUID=后面的字串要替换成上述指令查到的UUID
  1. UUID=69a37020-6e7c-455e-9c2d-2d9daf2c3041 /ext ext4 defaults,rw,noexec 0 0
复制代码


二、使用udev绑定SATA接口下硬盘盘符(此法无效:udev只能修改Linux 网口名称,无法修改/dev目录下的设备名称)
1. 用"udevadm info -q path -n /dev/sda"指令查看/dev/sda的DEVPATH
2. 在/etc/udev/rules.d/增加一个规则文件如01-Disk-DriveLetter.rules,硬件有变动时Linux会自动根据此文件夹下的规则命名设备
3. 编辑/etc/udev/rules.d/01-Disk-DriveLetter.rules,增加一行,其中DEVPATH==""后面的字串要替换成上述指令查到的你的DEVPATH,字串最后的sda改成sd*
  1. DEVPATH=="/devices/platform/usb@ff600000/ff600000.dwc3/xhci-hcd.7.auto/usb5/5-1/5-1.1/5-1.1:1.0/host0/target0:0:0/0:0:0:0/block/sd*", NAME="sda", MODE="0660"
复制代码
   上面这条规则的意思是,只要DEVPATH值等于"/devices/.../sd*"时(*号为通配符),都把设备命名为"sda"。反正掉盘云只有一个内置SATA接口,这一系列DEVPATH下同时也只会有一块硬盘,应该是不会有盘符冲突问题吧
4. 编辑完成后保存,用指令"/sbin/udevadm trigger --type=devices --action=change"或"/sbin/udevadm control --reload-rules && udevadm trigger"让新规则生效。
以上操作的目的就是,当掉盘发生又重新挂载硬盘后,系统都会将该硬盘命名为sda,盘符不变,这样在用户看来是不是就感觉不到有掉盘发生,有了“不掉盘”的假象?

现在我在ArmBian这么设置了,系统运行起来是没什么错误出现
我的疑问是:
1. 这个方法有效果吗?毕竟盘符漂移的现象比较少,设置了不知道效果怎么样,需要时间验证
2. 如果再外接一个USB存储设备的话,U盘盘符会不会和内置硬盘sda冲突?
我现在还在验证中,请各位也看看这个设想是否可行,欢迎指正~~
--------------------------------------------------------------------------------------------------------------------------
得出结论了,UUID挂载有效,udev命名方法无效
udev只能修改Linux网口名称,无法修改/dev目录下的设备名称
NAME: The name to use for a network interface. The name of a device node can not be changed by udev, only additional symlinks can be created.


4

主题

764

回帖

2420

积分

中级渣柚V3

积分
2420
发表于 2022-1-14 21:12:51 | 显示全部楼层
感谢分享。。。。

1

主题

19

回帖

393

积分

中级渣柚V1

积分
393
发表于 2022-1-20 17:34:01 | 显示全部楼层
外接2.5硬盘盒装sata固态挂了十个月了 没出过问题 别折腾了。。。买个五年质保的sata 我装的480g下载中转啥也是挺够用的

1

主题

10

回帖

64

积分

初级渣柚V2

积分
64
QQ
 楼主| 发表于 2022-1-21 11:19:52 | 显示全部楼层
eggheyi 发表于 2022-1-20 17:34
外接2.5硬盘盒装sata固态挂了十个月了 没出过问题 别折腾了。。。买个五年质保的sata 我装的480g下载中转啥 ...

我试过内置的SATA挂固态,也不会掉盘
就是觉得固态给这破机器用太浪费了,而且容量又小
折腾这些纯属兴趣,想让它完美一点

1

主题

98

回帖

235

积分

中级渣柚V1

积分
235
发表于 2022-1-31 07:42:59 | 显示全部楼层
eggheyi 发表于 2022-1-20 17:34
外接2.5硬盘盒装sata固态挂了十个月了 没出过问题 别折腾了。。。买个五年质保的sata 我装的480g下载中转啥 ...

当时,可不就是图它可以装3.5硬盘吗,没想到这么怂。

0

主题

12

回帖

66

积分

初级渣柚V2

积分
66
发表于 2022-5-23 08:10:26 | 显示全部楼层
为什么我家云刷网心云第三方固件就不会掉盘,是什么原理?

0

主题

10

回帖

170

积分

初级渣柚V2

积分
170
QQ
发表于 2022-6-8 07:55:48 | 显示全部楼层
我的机器内置2TWD蓝盘 外置6T日立盘。 使用上 硬盘盘符会自己对换,sda变sdb。但挂载的路径还是一样。使用上没感觉。可以当做不掉盘处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2024-4-28 16:15 , Processed in 0.051752 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表