这是我的第一个问题,所以如果我没有遵循正确的格式,我提前道歉。我在网上广泛搜索过,但没有找到任何答案。提前感谢您的帮助。那么,开始解决问题吧……
设置
我已经在我的 Intel NUC (NUC6i7KYK) 上设置了一个 Ubuntu 17.10 桌面,打算将其用作我的个人家庭服务器。我已在其上安装了 Seafile-server-6.2.2,但由于空间不足,已将 seafile-data 文件作为符号链接指向我的 Western Digital 3TB 外置 USB 3.0 HDD 上的某个位置。首先,我尝试简单地链接到 中的自动安装版本/media/Jason\ Stuff
,但它抱怨权限问题。因此,我使用/etc/fstab
以下行将其安装:
UUID=C6B89CABB89C9B8D /mnt/seafile ntfs-3g permissions,locale=en_US.utf8 0
这在启动时出现了问题(我知道,这是单独的问题),但由于它现在具有权限,因此 seafile 很乐意与其交互。
问题
经过一段随机的时间后,驱动器会报告“输入/输出”错误。虽然很烦人,但我可以通过运行 轻松修复它sudo mount -a
。
jason@jason-server:~$ ls /mnt/seafile/
ls: reading directory '/mnt/seafile/': Input/output error
jason@jason-server:~$ sudo mount -a
Using default user mapping
jason@jason-server:~$ ls /mnt/seafile/
22cf6ba959c9fab923049c M8H.CAP
backup msdownld.tmp
cyberlink $RECYCLE.BIN
db89ef3f6183c6567ed6def3 System Volume Information
eclipseAndroid-20140702 WD Stuff
我最初以为外部硬盘的旋转可能存在一些问题,但使用sudo sdparm --clear=STANDBY /dev/sda -S
并没有解决问题。然而,我多次注意到我的外部硬盘会从 Linux 中完全消失。我使用几个命令搜索都无济于事,它甚至再也没有出现过/dev
。这些是我发现的确切结果(第一个是驱动器存在时,第二个是驱动器消失时):
blkid
前:
jason@jason-server:~$ sudo blkid
/dev/nvme0n1p3: LABEL="System Reserved" UUID="AC3C58B63C587D70" TYPE="ntfs" PARTUUID="1a3a42c8-03"
/dev/nvme0n1p4: UUID="509E26619E264038" TYPE="ntfs" PARTUUID="1a3a42c8-04"
/dev/nvme0n1p5: UUID="b5081df8-5a84-4faf-8da4-bbcefe2b2d4c" TYPE="ext4" PARTUUID="1a3a42c8-05"
/dev/nvme0n1: PTUUID="1a3a42c8" PTTYPE="dos"
/dev/sdd1: LABEL="Jason Stuff" UUID="C6B89CABB89C9B8D" TYPE="ntfs"
blkid
后:
jason@jason-server:~$ sudo blkid
/dev/nvme0n1p3: LABEL="System Reserved" UUID="AC3C58B63C587D70" TYPE="ntfs" PARTUUID="1a3a42c8-03"
/dev/nvme0n1p4: UUID="509E26619E264038" TYPE="ntfs" PARTUUID="1a3a42c8-04"
/dev/nvme0n1p5: UUID="b5081df8-5a84-4faf-8da4-bbcefe2b2d4c" TYPE="ext4" PARTUUID="1a3a42c8-05"
/dev/nvme0n1: PTUUID="1a3a42c8" PTTYPE="dos"
fdisk
前:
jason@jason-server:~$ sudo fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1a3a42c8
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 2046 195311615 195309570 93.1G 5 Extend
/dev/nvme0n1p3 * 195311616 196028415 716800 350M 7 HPFS/N
/dev/nvme0n1p4 196028416 500115455 304087040 145G 7 HPFS/N
/dev/nvme0n1p5 2048 195311615 195309568 93.1G 83 Linux
Partition table entries are not in disk order.
Disk /dev/sdd: 2.7 TiB, 3000558944256 bytes, 732558336 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000246c6
Device Boot Start End Sectors Size Id Type
/dev/sdd1 256 732558335 732558080 2.7T 7 HPFS/NTFS/exFA
fdisk
后:
jason@jason-server:~$ sudo fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1a3a42c8
Device Boot Start End Sectors Size Id Type
/dev/nvme0n1p1 2046 195311615 195309570 93.1G 5 Extend
/dev/nvme0n1p3 * 195311616 196028415 716800 350M 7 HPFS/N
/dev/nvme0n1p4 196028416 500115455 304087040 145G 7 HPFS/N
/dev/nvme0n1p5 2048 195311615 195309568 93.1G 83 Linux
Partition table entries are not in disk order.
lsusb
前:
jason@jason-server:~$ lsusb
Bus 002 Device 010: ID 1058:1140 Western Digital Technologies, Inc. My Book Essential (WDBACW)
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 005: ID 1038:0100 SteelSeries ApS Ideazon Zboard
Bus 001 Device 004: ID 06a3:0ccd Saitek PLC
Bus 001 Device 002: ID 03eb:3301 Atmel Corp. at43301 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsusb
后:
jason@jason-server:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 005: ID 1038:0100 SteelSeries ApS Ideazon Zboard
Bus 001 Device 004: ID 06a3:0ccd Saitek PLC
Bus 001 Device 002: ID 03eb:3301 Atmel Corp. at43301 4-Port Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
/dev
前:
jason@jason-server:~$ ls /dev | grep sd
sdd
sdd1
/dev
后:
jason@jason-server:~$ ls /dev | grep sd
我还检查了 /var/log/syslog,发现唯一可疑的就是这个日志(它也在中出现多次dmesg
):
Oct 30 13:58:05 jason-server kernel: [261107.413132] usb 2-4: reset SuperSpeed USB device number 13 using xhci_hcd
我发现,当外部硬盘驱动器处于这种状态时,修复它的唯一方法是物理拔下/关闭电源,重新打开,然后sudo mount -a
再次运行命令。
我还注意到,每次我必须手动重置外部硬盘驱动器时,它都会被分配一个不同的设备路径。它开始于/dev/sda1
,现在位于/dev/sdf1
/dev/sdf1: LABEL="Jason Stuff" UUID="C6B89CABB89C9B8D" TYPE="ntfs"
问题
为什么驱动器会因 IO 错误而变得不可用?为什么它会随机地从操作系统中完全消失?sudo sdparm --clear=STANDBY /dev/sda -S
让外部硬盘保持旋转不是正确的命令吗?驱动器设备路径的更改是否符合预期?
我现在没有任何主意,任何帮助都将非常有帮助。
答案1
- 启动挂载问题可能是参数后需要 2 个数字,因此我建议将 /etc/fstab 行更改为
UUID=C6B89CABB89C9B8D /mnt/seafile ntfs-3g permissions,locale=en_US.utf8 0 1
- 您的外部驱动器不是 SCSI,因此我建议使用
hdparm
。标志-S 0
就可以解决问题。 - 如果您将该外部驱动器插入另一台计算机(并等待更长时间)会怎样?它也会消失吗?乍一看,这似乎是省电问题。
- /dev/sdxx 可能会发生变化。特别是如果系统认为之前的磁盘可能会重新出现...
这就是为什么(在脚本中)明智的做法是使用 /dev/disk/by-* 路径而不是 /dev/sd*
答案2
我建议尝试重置 USB 控制器。以下是一些指南,具体取决于您使用的操作系统。
http://www.zedt.eu/tech/linux/restar...system-centos/
有许多脚本使用类似的方法。
http://billauer.co.il/blog/2013/02/u...ci-uhci-linux/ http://marc.info/?l=linux-usb&m=121459435621262&w=2 http://www.clearchain.com/blog/posts...us-under-linux
从https://www.linuxquestions.org/questions/linux-general-1/rescan-for-usb-devices-754916/ https://www.linuxquestions.org/questions/red-hat-31/usb-mount-not-listed-in-fdisk-4175550470/page2.html
https://unix.stackexchange.com/questions/7412/how-to-reconnect-a-logically-disconnected-usb-device