我有一个 SATA 硬盘,说它支持热插拔。这是否意味着我可以在计算机运行时将其连接到电源和 SATA 插头?会很方便,但似乎有点可怕......
硬件细节:
或者可能是我读过的另一个硬盘驱动器是可热插拔的......不管怎样,我对这一切的理论而不是我的具体情况更感兴趣:p
我正在开发一个 linux 小工具。
如果我在启动后插入网络电缆或者拔掉并重新插入网络电缆,我希望它获得 DHCP。
一种解决方案是运行这样的脚本(它有效,顺便说一句):
#!/bin/bash
NET_STATUS='different'
while true
do
NEW_NET_STATUS=`ifconfig | grep RUNNING | grep -v LOOPBACK`
if [ "${NEW_NET_STATUS}" = "${NET_STATUS}" ]
then
echo "no change"
sleep 1
continue
fi
NET_STATUS=${NEW_NET_STATUS}
if [ "${NET_STATUS}" ]
then
echo "cable plugged in"
else
echo "cable unplugged"
fi
sleep 1
done
Run Code Online (Sandbox Code Playgroud)
然而,我的小脚趾深处有一种感觉,它告诉我有一种更好的方法来处理以太网电缆的热插拔事件。
在 Linux 中,您可以使用 echo 0 > /sys/devices/system/cpu/cpu1/online 关闭 CPU 内核(或物理 CPU) 假设硬件完全关闭 CPU 并切断其电源,禁用它不是更好内核完全而不是依赖于处理器的各种睡眠状态?
为了说明原理,我正在考虑针对具有四个 CPU 的系统的这些思路(伪代码):
if(loadavg > 3.00) echo 1 > /sys/devices/system/cpu/cpu3/online
if(loadavg < 3.00) echo 0 > /sys/devices/system/cpu/cpu3/online
if(loadavg > 2.00) echo 1 > /sys/devices/system/cpu/cpu2/online
if(loadavg < 2.00) echo 0 > /sys/devices/system/cpu/cpu2/online
if(loadavg > 1.00) echo 1 > /sys/devices/system/cpu/cpu1/online
if(loadavg < 1.00) echo 0 > /sys/devices/system/cpu/cpu1/online
Run Code Online (Sandbox Code Playgroud) 我正在考虑构建一个支持 VT-d 的系统,这样我就可以通过一个大功率的大视频卡到 Xen/KVM/任何 VM(主机将基于 Linux)。但是,当我不使用 VM 时,我想关闭视频卡,使其风扇不运行。当 VM 未运行时,将不会使用该卡。
有谁知道这是否可能?PCI-Express 热插拔规范允许切断特定插槽的电源,但我从未听说有人用视频卡这样做,而且我搜索的信息一无所获。
如果在启动前连接,我的外部显示器(通过 Thunderbolt 连接到我的笔记本电脑)工作正常。但是,一旦以任何方式拔下或断开连接,xrandr 将不再检测重新连接的显示器。
我正在运行Arch Linux,bumblebee用于图形卡处理。外卡通过 Thunderbolt 连接器连接。有人能告诉我这台机器出了什么问题,我怎样才能使热插拔工作?谢谢。
【调试细节】
在下面的多线程bumblebee和udevadm,我做了一些测试,并提出了热插拔脚本。然而问题仍然没有解决。结果发布如下。
对于大黄蜂,我没有做太多调整,因为第二台显示器在未热插拔时检测良好。
对于热插拔相关问题。我做了以下事情:
当显示器正常工作时,xrandr --query返回
Screen 0: minimum 8 x 8, current 2944 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
1920x1080 60.02*+
...
DP1 connected 1024x768+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*
...
Run Code Online (Sandbox Code Playgroud)
从 DP2 上拔下显示器并udevadm monitor --environment --udev …
我有一个 Debian sid 系统(Wheezy)(对于 arch 也有同样的问题),没有任何桌面环境(根本没有 Xorg)。
我可以使用 mount / umount 手动挂载我的 SD 卡、USB 记忆棒、外部硬盘驱动器,其中包含合适的条目,/etc/fstab但这很有吸引力,并且具有限制性:如果我希望将它们安装在/media/<LABEL>具有不同<LABEL>需求的每个设备中,则需要自己的条目,并且每个<LABEL>目录也需要手动创建/删除/media/)。
那么,/media/<LABEL>在插入时自动挂载它们的最佳方法是什么(并在拔出它们后立即从文件系统中卸载它们)?
理想的解决方案是:
/dev/为
sdax, sdbx, ... by udev)/media/根据它的标签(可移动媒体的标签)创建一个目录/media/<LABEL>以 RW 模式将其挂载到目录中(如果它的文件系统受支持)/media/(设备应以同步方式挂载,以免热拔时因缓存丢失数据)
我找到了一些关于autofs, HAL, udisks,udisks2等的信息,但不清楚哪个是弃用的或首选的,无论如何,我还没有想出如何在我的系统上轻松配置它们来做到这一点,直到现在......
极简主义、优雅、KISS、*nix 思想、没有疯狂的令人难以忍受的 XML 策略文件,以及最新的高度赞赏。
编辑:试图让我的问题更清楚
我想知道是否可以自动挂载并启动 rsync 以将 USB 驱动器与目录同步?具体来说,我想复制驱动器可以容纳的尽可能多的数据,并且仅在需要空间时才删除最旧的文件。我想我会用脚本做这样的事情,但我的问题是从哪里开始!
我有一个 Dell Precision M3800 和一个 OWC Thunderbolt 2 Dock。他们一起工作得很好,一切似乎都正常。我还没有尝试过 FireWire,但是以太网、USB3、DisplayPort 和声音开箱即用。
我的系统对拔出 Thunderbolt 电缆并不完全满意,并且在我卸下扩展坞时偶尔会挂起;其他时候一直很好。我想找到一种更安全的方法,并希望有一种机制可以告诉我的系统我要拔掉插头并首先优雅地取下接口。
我尝试在 Linux 中搜索有关 Thunderbolt 支持的软件包和信息,但只发现 Greg KH 的博客说它可以正常工作,但没有提到任何工具。
我在 15.10 安装的 Ubuntu 存储库中没有找到任何与 Thunderbolt 相关的软件包。
是否有我可以使用的工具或 /proc 或 /sys 节点?
在 Windows 处于睡眠(又名待机,又名挂起)模式时添加(插入)或移除(拔出)任何设备是否安全?可以通过这种方式添加或删除哪些类型的设备?您可以对所有类型的设备(如内置 PATA/SATA 硬盘驱动器、PATA/SATA 光盘驱动器、NIC(网卡)、声卡和 AGP/PCI-Express 视频卡,也就是图形卡)执行此操作吗?他们是否需要支持诸如热插拔之类的任何特定技术?
我知道有指定支持热插拔的硬盘驱动器。那么,如果您尝试以同样的方式使用普通硬盘会发生什么?
是否有明确支持热插拔的网卡、声卡、图形卡或任何其他类型的 PCI-Express 卡?我从未见过类似的东西。通常是为 RAID 阵列设计的内部硬盘驱动器,明确指定支持热插拔。
hard-drive graphics-card power-management optical-drive hotplug
我有一个硬盘驱动器插入移动机架。硬盘连接到SATA端口,该端口配置了Hot Plug ON. 但是,我看不到任何方法来刷新此驱动器的缓冲区或托盘中的某些东西。
为什么是这样?
操作系统:Windows 8.1 教授
MB:技嘉 GA-B85M-D3H,电缆插入连接器 5。
硬盘:西部数据WDC WD10EALS
我可以热插拔驱动器,但不能依赖我可以热插拔。
我如何克服这个限制?
我正在华硕主板的 EFI 设置屏幕中查找启用 SATA 热插拔的选项。我找不到这样的选项,但我确实在 PORT1\xe2\x80\x9d 上找到了一组标记为 \xe2\x80\x9cSATA ESP 的每端口选项,描述为 \xe2\x80\x9cSet SATA PORT1 to external SATA端口\xe2\x80\x9d。然而,每当我希望进行热插拔时,我只需将磁盘放入机箱中并使用普通的内部 SATA 连接器进行连接即可。我没有使用任何 eSATA 连接器/电缆。
\n\n
在我过去使用的另一台计算机上,SATA 热插拔开箱即可神奇地工作。我认为它会起作用,因为 SATA 应该从 SCSI\xe2\x80\x94 中获取好的东西,例如热插拔,并且它的行为完全符合我的预期。然而,在我现在正在使用其 BIOS 的计算机上,它无法开箱即用。但我怀疑这个奇怪的命名 \xe2\x80\x9cESP\xe2\x80\x9d 模式是启用热插拔的开关。
\n\n当我使用内部 SATA 电缆而不是 eSATA 电缆时,启用此选项是否会造成任何负面影响?为什么此设置以这种方式命名,而不是像 \xe2\x80\x9cenable hotplug\xe2\x80\x9d\xe2\x80\x94 这样的名称,如果是这样,为什么默认情况下它是关闭的?
\n\n编辑:我尝试为端口 5 和 6 打开 \xe2\x80\x9cSATA ESP\xe2\x80\x9d,并成功在两个端口之间热插拔设备。显然这是 SATA 热插拔配置选项。但我的问题仍然存在:为什么在 BIOS 中名为 \xe2\x80\x9cExternal SATA\xe2\x80\x9d 而不是 \xe2\x80\x9cSATA hotplug\xe2\x80\x9d?
\n我知道存在这样的问题,但答案不是我想要的。
vga/dvi 是否有螺丝,因为它们不可热插拔?为什么它们不能热插拔(浪涌问题?)此外,kvm 对计算机/显示器是否危险,因为它们不能热插拔?
hotplug ×13
linux ×5
hard-drive ×3
sata ×3
dvi ×2
thunderbolt ×2
automount ×1
cpu ×1
dhcp ×1
display ×1
esata ×1
pci-express ×1
performance ×1
powersave ×1
rsync ×1
ubuntu ×1
udev ×1
uefi ×1
usb ×1
vga ×1
video ×1
windows-8.1 ×1