AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1049808
Accepted
oshirowanen
oshirowanen
Asked: 2018-06-27 00:25:21 +0800 CST2018-06-27 00:25:21 +0800 CST 2018-06-27 00:25:21 +0800 CST

外置硬盘一直断电

  • 772

是否可以防止外部硬盘驱动器断电?我在晚上打开驱动器进行大量下载,但是当我早上检查时,下载失败并显示消息unable to access the drive。

我能够很好地读/写驱动器,小下载很好,但是需要更多时间的下载似乎由于一些 i/o 错误而失败。

我已经badblocks对驱动器进行了扫描,没有发现任何错误。


无法启动 SMART 自检:

在此处输入图像描述


断开连接,然后重新连接外部 USB 驱动器。dmesg 结果如下:

[  289.881673] usb 1-1.1: USB disconnect, device number 5
[  305.182474] usb 1-1.1: new high-speed USB device number 6 using ehci-pci
[  305.275807] usb 1-1.1: New USB device found, idVendor=152d, idProduct=2338
[  305.275812] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[  305.275825] usb 1-1.1: Product: USB to ATA/ATAPI bridge
[  305.275828] usb 1-1.1: Manufacturer: JMicron
[  305.275830] usb 1-1.1: SerialNumber: 000001D91CA8
[  305.276594] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[  305.276914] scsi host5: usb-storage 1-1.1:1.0
[  306.275373] scsi 5:0:0:0: Direct-Access     WDC WD25 00KS-00MJB0           PQ: 0 ANSI: 5
[  306.275787] sd 5:0:0:0: Attached scsi generic sg3 type 0
[  306.276317] sd 5:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/233 GiB)
[  306.277429] sd 5:0:0:0: [sdc] Write Protect is off
[  306.277435] sd 5:0:0:0: [sdc] Mode Sense: 28 00 00 00
[  306.278429] sd 5:0:0:0: [sdc] No Caching mode page found
[  306.278433] sd 5:0:0:0: [sdc] Assuming drive cache: write through
[  306.288959]  sdc: sdc1 sdc2
[  306.292063] sd 5:0:0:0: [sdc] Attached SCSI disk

使用驱动器时输出“blkid”。我在将 500MB 的文件复制到驱动器时​​截取了该屏幕截图。

在此处输入图像描述


下面的输出lsblk:

userone@userone:~$ lsblk
NAME                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                       8:0    0 232.9G  0 disk  
├─sda1                    8:1    0   487M  0 part  /boot
├─sda2                    8:2    0     1K  0 part  
└─sda5                    8:5    0  59.2G  0 part  
  └─sda5_crypt          252:0    0  59.2G  0 crypt 
    ├─ubuntu--vg-root   252:1    0  43.2G  0 lvm   /
    └─ubuntu--vg-swap_1 252:2    0  15.9G  0 lvm   [SWAP]
sdb                       8:16   0 232.9G  0 disk  
├─sdb1                    8:17   0   500M  0 part  
├─sdb2                    8:18   0   232G  0 part  
└─sdb3                    8:19   0   470M  0 part  
sdc                       8:32   0 232.9G  0 disk  
├─sdc1                    8:33   0 232.4G  0 part  /media/userone/New Volume
└─sdc2                    8:34   0   470M  0 part  
sr0                      11:0    1  1024M  0 rom   
loop0                     7:0    0  86.6M  1 loop  /snap/core/4571
loop1                     7:1    0  90.3M  1 loop  /snap/coolreader3/1
loop2                     7:2    0  86.7M  1 loop  /snap/simplescreenrecorder/1
loop3                     7:3    0 236.5M  1 loop  /snap/pycharm-community/64
loop4                     7:4    0  86.9M  1 loop  /snap/core/4830
loop5                     7:5    0    85M  1 loop  /snap/simplescreenrecorder-mardy/4
loop6                     7:6    0  86.6M  1 loop  /snap/core/4650
userone@userone:~$ 
downloads external-hdd drive 16.04 badblocks
  • 4 4 个回答
  • 4461 Views

4 个回答

  • Voted
  1. Simon Sudler
    2018-06-27T00:48:16+08:002018-06-27T00:48:16+08:00

    获取设备名称blkid或检查dmesg连接的设备。然后用 关闭电源管理hdparm。

    # get device name
    $ sudo blkid
    /dev/sda1: UUID="..." UUID_SUB="..." TYPE="somefs" PARTUUID="..."
    /dev/sdb1: UUID="..." UUID_SUB="..." TYPE="someotherfs" PARTUUID="..."
    
    $ sudo dmesg
    ...
    [  305.276914] scsi host5: usb-storage 1-1.1:1.0
    [  306.275373] scsi 5:0:0:0: Direct-Access     WDC WD25 00KS-00MJB0           PQ: 0 ANSI: 5
    [  306.275787] sd 5:0:0:0: Attached scsi generic sg3 type 0
    [  306.276317] sd 5:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/233 GiB)
    [  306.277429] sd 5:0:0:0: [sdc] Write Protect is off
    ...
    

    从命令输出中可以看到,您的 USB 磁盘已注册为/dev/sdc。所以禁用此设备的电源管理。

    # disable power management
    $ sudo hdparm -B 255 /dev/sdc
    

    有关详细信息,请参阅hdparm ArchWiki 。

    更新:添加sudo到命令,因为需要超级用户权限。

    • 5
  2. Best Answer
    WinEunuuchs2Unix
    2018-07-01T10:13:52+08:002018-07-01T10:13:52+08:00

    不仅下载量大,而且将大文件从 HDD 复制到外部 HDD 也存在一个将近五年前的错误:Ubuntu 在从/向 USB 复制文件时速度变慢并挂起。

    许多用户发布的解决方案是检查您的回写缓存:

    $ cat /proc/vmstat | egrep "dirty|writeback"
    nr_dirty 15
    nr_writeback 0
    nr_writeback_temp 0
    nr_dirty_threshold 261131
    nr_dirty_background_threshold 130406
    

    此处接受的答案(有 66 票赞成):stackexchange.com - 为什么我的电脑在将文件复制到 pendrive 时冻结?

    建议使用:

    echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
    echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes
    

    公认的答案是使用间接数学为脏背景字节设置 16 MiB,为脏字节设置 48 MiB。

    不过,从第一个链接(错误报告)来看,评论 #83 建议对脏字节使用更激进的 200 MB 值。要使设置永久编辑/etc/sysctl.conf并添加此行:

    vm.dirty_bytes = 200000000
    

    然后运行systctl -p或重新启动。

    第一个链接中还有许多其他建议,如果此通用解决方案不起作用,您可能需要尝试其他建议。

    顺便说一句,脏并不意味着任何邪恶。这意味着保存在 RAM 中的数据等待写入磁盘。因此,当您的下载正在运行时,信息被保存在 RAM 中,而不是写入您的外部硬盘驱动器。不活动可能是它关机的原因。

    同样,正如我在评论中提到的那样,blkid在 Ubuntu 18.04 中什么也没有显示,但lsblk显示了包括外部驱动器在内的所有内容。

    • 3
  3. Simon Sudler
    2018-07-02T23:13:07+08:002018-07-02T23:13:07+08:00

    只是另一个想法:如果 USB 设备的供应商不支持禁用电源管理,您可以使用 cronjob 使其保持活动状态。

    为 root 用户创建一个 cronjob,每分钟创建一个文件,同步文件系统并在之后将其删除。

    # Edit the crontab as root user (it will open the crontab with your favorite editor)
    $ sudo crontab -e
    
    # add the following line, save and close the editor
    * * * * * touch /media/userone/New\ Volume/keepalive; sync; rm -f /media/userone/New\ Volume/keepalive
    

    这应该使 USB 设备保持运行

    • 0
  4. pintergabor
    2019-02-26T13:56:15+08:002019-02-26T13:56:15+08:00

    对我来说,前两个答案的组合有效。我每分钟在 cronjob 中执行“/sbin/hdparm -B 255 /dev/sdc”。

    # Edit the crontab as root user (it will open the crontab with your favorite editor)
    $ sudo crontab -e
    
    # add the following line, save and close the editor
    * * * * * /sbin/hdparm -B 255 /dev/sdc >/dev/null 2>&1
    
    • 0

相关问题

  • 解决多个linux安装使用外置EXT4硬盘时的权限问题

  • 你能推荐一个好的现代 GUI 下载管理器(wget 包装器吗?)[关闭]

  • 9.10 中下载管理器的视频下载问题

  • PPA 软件包下载分析?[复制]

  • 在哪里可以找到 Ubuntu ISO 映像的校验和?[复制]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve