标签: hot-plug

如何安全地从正在运行的系统中移除 SATA 磁盘?

我有时需要将磁盘插入磁盘托架。在其他时候,我有一个非常奇怪的设置,即使用笔记本电脑上的 SATA-eSATA 电缆连接 SSD,同时从台式机上取电。

如何安全地从系统中移除 SATA 磁盘?这个Phoronix论坛帖子有一些建议:

justsumdood 写道:

An(noymous)droid 写道:
那么在拔掉插头之前你在软件方面做了什么?它是一个简单的“umount /dev/sd”[驱动器号]吗?卸载设备后,要“关闭”(或休眠)设备:

hdparm -Y /dev/sdX
Run Code Online (Sandbox Code Playgroud)

(其中 X 代表您要关闭的设备。例如:/dev/sdb)

这将使驱动器断电,以便在没有电压浪涌风险的情况下将其移除。

这是否意味着磁盘缓存会在此后正确刷新并关闭电源?

来自同一线程的另一个建议:

chithanh 写道:
所有 SATA 和 eSATA 硬件都可以在物理上进行热插拔(即如果插入/拔出插头不会损坏)。

芯片组和驱动程序如何处理这是另一个问题。某些驱动程序/芯片组组合不能正确处理热插拔,需要一个热插拔命令,例如以下命令:

echo 0 - 0 > /sys/class/scsi_host/hostX/scan
Run Code Online (Sandbox Code Playgroud)

将 X 替换为适合您的 SATA/eSATA 端口的编号。

我怀疑这样做是否正确,但我也找不到一些证据来反对它。

那么,从系统中删除附加磁盘的正确方法是什么?假设我已经卸载了磁盘上的每个分区并运行了sync. 如果可能,请指向一些官方文档,我在 Linux 文档树或Linux ATA wiki 中找不到任何内容。

ssd sata hot-plug disk

75
推荐指数
4
解决办法
9万
查看次数

插入 USB 驱动器时会发生什么?

USB 事件从内核空间到用户空间的流程是怎样的?当我插入 USB 驱动器时,我的桌面上会出现一个弹出窗口——从检测到新的 USB 驱动器到安装它并显示该弹出窗口的事件顺序是什么?

usb hot-plug

23
推荐指数
2
解决办法
2万
查看次数

插入 USB 键盘时防止键盘布局重置

每当我插入 USB 键盘时,所有键盘的布局都会重置为某些系统默认值(美国布局,没有我想要的修饰符和其他键)。我已经在许多 Debian 和 Ubuntu 系统上观察到了这一点,包括 Ubuntu 16.04 和 18.04。这种行为已经存在很长时间了

我在没有桌面环境的情况下使用 X11(尽管一些 Gnome 恶魔往往会开始使用)。我… | xkbcomp - "$DISPLAY"在登录时使用 XKB(特别是)设置了我的键盘布局。

当我插入 USB 键盘时,我希望它具有我的布局,而不是系统布局。事实上,我希望系统能够继续使用我当前的布局来处理已经存在的键盘(如果有的话)和新插入的键盘。如果这是不可能的,我会满足于重新应用选择的布局。

同样,两个键盘上的重复率都设置为登录时的默认值,而不是我用xset r.

如何防止键盘热插拔重置键盘布局和重复率?或者失败了,我怎样才能至少让它重置为我选择的布局?

有一种相当笨拙的方式,即udev 规则。它很笨拙,因为它假定只有一个 X 服务器,而且最有问题的是,它假定用户具有 root 权限。我没有 root 权限,所以任何涉及设置 udev 规则或编辑的Xorg.conf方法在这里都不适用。

keyboard x11 hot-plug not-root-user keyboard-layout

11
推荐指数
1
解决办法
2508
查看次数

如何在插入 USB 耳机后自动切换到我的 USB 耳机?

我正在运行Funtoo Linux,它是Gentoo 的衍生产品。我的两个新 Plantronics USB 耳机(一个有线,一个无线)运行良好。我插入一个,ALSA 注意到它,如果我手动设置一个应用程序来使用它而不是默认设备,它会。

我更愿意让耳机在出现时成为我的默认输入/输出,否则将默认恢复到我的板载扬声器。我如何自动化这种开关?

linux usb alsa hot-plug funtoo

9
推荐指数
1
解决办法
1万
查看次数

如何检查驱动器是否支持热插拔?

并非所有SATA 驱动器都支持热插拔。尤其是较旧的型号似乎无法正常工作,并且需要重新启动系统,尽管控制器与较新的驱动器配合良好。

问题:如何在不拔插的情况下检查驱动器是否支持热插拔?

我想可以使用它来实现,hdparm但我找不到它。也许还有其他可用的方法?有人可以建议吗?

sata hard-disk hot-plug hdparm

8
推荐指数
1
解决办法
2060
查看次数

VirtualBox 来宾:检测到 16 个 CPU,但只有 1 个在线

我正在运行 VirtualBox(使用 Qiime 图像http://qiime.org/install/virtual_box.html

物理硬件是一台 32 核的机器。VirtualBox 中的虚拟机拥有 16 个内核。

启动时我得到:

Ubuntu 10.04.1 LTS
Linux 2.6.38-15-server

# grep . /sys/devices/system/cpu/*
/sys/devices/system/cpu/kernel_max:255
/sys/devices/system/cpu/offline:1-15
/sys/devices/system/cpu/online:0
/sys/devices/system/cpu/possible:0-15
/sys/devices/system/cpu/present:0
/sys/devices/system/cpu/sched_mc_power_savings:0

# ls /sys/kernel/debug/tracing/per_cpu/
cpu0  cpu1  cpu10  cpu11  cpu12  cpu13  cpu14  cpu15  cpu2  cpu3  cpu4  cpu5  cpu6  cpu7  cpu8  cpu9

# ls /sys/devices/system/cpu/
cpu0  cpufreq  cpuidle  kernel_max  offline  online  possible  present  probe  release  sched_mc_power_savings

# echo 1 > /sys/devices/system/cpu/cpu6/online 
-su: /sys/devices/system/cpu/cpu6/online: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以看起来它检测了16个CPU的资源,但它只设置了一个在线。

我已经用另一个镜像进行了测试,VirtualBox 主机可以运行一个 16 核的来宾。那个有效。所以问题是麻烦拍摄 Qiime 图像以找出为什么这个访客图像只检测到 …

cpu kernel virtualbox hot-plug smp

7
推荐指数
1
解决办法
4812
查看次数

是否可以在 Linux 上模拟/强制/伪造 USB 设备的拔出和重新插入?

所以我遇到了一个奇怪的问题。我有一个比特币 USB 矿工 Bitfury,我正在使用 CGMiner 进行挖矿。

当我以 root 身份启动应用程序时,不会自动检测到 USB 设备。CGMiner 仅在重新插入时检测到棒(它检测到热插拔事件,然后按预期工作)

我想设置一个无头迷你服务器,因此,我宁愿每次服务器重新启动时都不会站起来拔掉然后重新插入设备,因为我太懒了,这样做有点困难当我不在家时。

那么,是否可以关闭USB系统并重新启动它?或者有没有更好的方法来做到这一点?

目前,我在 HP t5730 终端上运行 Fedora 20,但我在 Raspberry PI 上的 Raspbian 上遇到了这个问题,所以我认为这不是操作系统方面的问题。也许是设备本身的问题,或者 CGMiner 的错,但我还没有找到关于该主题的任何内容。

fedora usb devices hot-plug

6
推荐指数
1
解决办法
3278
查看次数

如何防止内核或任何广播消息泛滥 TTY?

由于一些热插拔问题,类似于这里讨论的内容,TTY 显示显示连续的消息流(这些消息也记录在 /var/log 目录中)。我键入的每个文本都在视觉上流走,但它确实需要输入(我可以登录并运行命令)。

有没有办法防止此类错误和/或任何其他广播消息泛滥 TTY?

更新:这是请求文件的内容/etc/rsyslog.conf

#  /etc/rsyslog.conf    Configuration file for rsyslog.
#
#           For more information see
#           /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
#
#  Default logging rules can be found in /etc/rsyslog.d/50-default.conf


#################
#### MODULES ####
#################

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP …
Run Code Online (Sandbox Code Playgroud)

kernel tty hot-plug linux-kernel broadcast

6
推荐指数
1
解决办法
1657
查看次数

查找何时在 FreeBSD 上连接了新硬件

如何知道设备何时连接到我的 FreeBSD 机器?假设我插入了 USB 设备、HDMI 设备、蓝牙或类似设备。

我可以有一个控制台输出来说明 [device] 并提供有关该设备的一些输出吗?

freebsd devices hot-plug

6
推荐指数
2
解决办法
1万
查看次数

在 Linux 上,(如何)我可以“热拔出”内存吗?

这是我尝试过的:

sudo zsh -c 'echo offline >/sys/devices/system/memory/memory109/state'`
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

zsh:echo:1: write error: device or resource busy
Run Code Online (Sandbox Code Playgroud)

我是否可能需要先确保我即将脱机的内存模块是空的?

如果是这样,我该怎么做?


背景:

我正在运行一个基于 Ubuntu 的发行版,由 VMWare 虚拟化为来宾。

我希望减少来宾系统的内存使用量,释放更多资源以供主机使用,而无需重新启动来宾系统。

以防万一。


编辑 2016-09-29:

受到@Gilles 的评论和链接的鼓舞,说理论上应该是可能的,我想到可能memory109包含一些不可移动的页面。所以我决定在其他一些模块上尝试它(?)。

起初我手动尝试了其他一些。但由于这些都不成功,我想我会尝试所有这些:

for i in /sys/devices/system/memory/memory*/state;
  do echo -n "Trying "$i" \t";
  sudo zsh -c "echo offline > $i";
done
Run Code Online (Sandbox Code Playgroud)

警告:小心上面的脚本,因为它可能会在您的机器上成功,这可能会使您的大部分内存(如果不是全部)脱机,从而使您的系统饿死和挂起。

这是我得到的最多的:

...
Trying /sys/devices/system/memory/memory44/state        zsh:echo:1: write error: device or resource busy
Trying /sys/devices/system/memory/memory45/state        zsh:echo:1: write error: device or resource busy
Trying /sys/devices/system/memory/memory46/state        zsh:echo:1: write error: device or resource busy …
Run Code Online (Sandbox Code Playgroud)

memory virtual-machine hot-plug

6
推荐指数
1
解决办法
1106
查看次数