- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Linux系统SCSI磁盘扫描机制解析及命令详细介绍由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
介绍 Linux系统扫描SCSI磁盘有几种方式?Linux新增LUN之后,能否不重启主机就认出设备?如果安装了PowerPath,动态添加/删除LUN的命令是什么?本文总结了Linux主机对磁盘设备进行重新配置的方式,并附加命令实例。 更多信息 Linux系统提供多重机制以重新扫描SCSI总线并重认系统中加入的SCSI设备。在2.4内核方案中,由于动态LUN扫描机制不具备一致性,往往需要中断I/O。 2.6内核里,LUN扫描有了显著改进并添加了动态LUN扫描机制。Linux目前缺乏像drvconfig或ioscan那样允许动态SCSI通道重配的命令。 Linux主机对磁盘设备进行重新配置的方式包括: ◦重启系统 ◦卸载并重新加载HBA驱动模块 ◦Echo /proc下的SCSI设备列表 ◦通过/sys下的属性设置运行SCSI扫描 ◦通过HBA厂商脚本运行SCSI扫描 系统重启 重启主机是检测新添加磁盘设备的可靠方式。在所有I/O停止之后方可重启主机,同时静态或以模块方式连接磁盘驱动。系统初始化时会扫描PCI总线,因此挂载其上的SCSI host adapter会被扫描到,并生成一个PCI device。之后扫描软件会为该PCI device加载相应的驱动程序。加载SCSI host驱动时,其探测函数会初始化SCSI host,注册中断处理函数,最后调用scsi_scan_host函数扫描scsi host adapter所管理的所有scsi总线。 重新加载HBA驱动 通常情况下,HBA驱动在系统中以模块形式加载。从而允许模块被卸载并重新加载,在该过程中SCSI扫描函数得以调用。通常,在卸载HBA驱动之前,SCSI设备的所有I/O都应该停止,卸载文件系统,多路径服务应用也需停止。如果有代理或HBA应用帮助模块,也应当中止。 命令示例: 例如,rac节点上某台服务器执行fdisk –l命令看不到共享磁盘,可尝试执行如下命令: # modprobe -r lpfc(卸载驱动) # modprobe lpfc(加载驱动) /proc下SCSI扫描 2.4内核中,/proc文件系统提供了可用SCSI设备的列表。如果系统中SCSI设备重新配置,那么所有这些改变通过echo /proc接口反映到SCSI设备中。添加一个设备,主机,channel,target ID,以及磁盘设备的LUN编号会被添加到/proc/scsi/,需指定scsi编号。 命令示例: # echo "scsi add-single-device 0 1 2 3" > /proc/scsi/scsi 0:主机ID 1:channel ID 2:target ID 3:LUN编号 该命令会将新磁盘设备添加到/proc/scsi/scsi文件中。如果没有找到相应文件,需为/dev路径下新增磁盘设备创建设备文件名。 如果要删除一个磁盘设备,使用适当的主机,channel,target ID及LUN编号运行如下格式命令: # echo "scsi remove-single-device 0 1 2 3" > /proc/scsi/scsi 0:主机ID 1:channel ID 2:target ID 3:LUN编号 /sys下SCSI扫描 2.6内核中,HBA驱动将SCAN功能导出至/sys目录下,可用来重新扫描该接口下的SCSI磁盘设备。命令如下: # cd /sys/class/scsi_host/host4/ # ls -al scan # echo ‘- - -’ > scan ‘- - -’代表channel,target和LUN编号。以上命令会导致hba4下所有channel,target以及可见LUN被扫描。 RHEL5 或SUSE10: echo ‘- - -’ > /sys/class/scsi_host/host0/scan /sys/class/scsi_host/ 下面有几个host 就扫描几次 RHEL4 或SUSE9: echo 1 >> /sys/class/scsi_host/host0/issue_lip 同样是/sys/class/scsi_host/ 下面有几个host 就执行几次 echo ‘- - -’ >> /sys/class/scsi_host/host0/scan 。
最后此篇关于Linux系统SCSI磁盘扫描机制解析及命令详细介绍的文章就讲到这里了,如果你想了解更多关于Linux系统SCSI磁盘扫描机制解析及命令详细介绍的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在寻找特定于供应商的 SCSI 命令的引用。我主要关心以下几点: 0xD4 0xD5 0xD8 据我所知,这些命令是一些“特殊”的读取命令,用在某些 Plextor 驱动器上。但是,我无法在任何地
windows 是否有特定的接口(interface),我可以通过它发送特定的 scsi 命令,如查询到 scsi 设备?我在网上搜索,找到了对 SCSI Pass Through 接口(interf
我尝试发出 scsi read(10)和 write(10)到 SSD。我用 this example code作为引用/基本代码。 这是我的 scsi 读取: #define READ_REPLY_
我想知道将错误代码映射到字符串的最佳方法是什么,例如在 SCSI 协议(protocol)中,错误总是以数字形式返回。像这样: 00h GOOD 02h CHECK CONDITION 04h CON
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 8 年前。 Improve th
有两个服务器:导出 5TB 磁盘的 Openfiler(v. 2.99) 和通过 iscsi 协议(protocol)使用该磁盘的 Proxmox(v. 3.4)。 使用此磁盘时,我在/var/log
我一直在使用 scsi 命令,我可以发送一些基本命令,例如不同的查询等。 我一直在使用这个示例来生成我的查询。我正在努力使这个示例能够使用不同的 scsi 命令。 http://www.tldp.or
我用了libaums访问我的自定义 USB 的私有(private)分区。现在我想知道如何读取 USB 的隐藏区域。为了访问隐藏区域,我知道 USB 隐藏地址的扇区范围,以及用于读取和写入隐藏区域的供
我有一个程序,其中未安装或以任何其他方式使用的驱动器需要降速。 我注意到在我关闭文件描述符后驱动器会自动加速。 我还没有找到任何信息,这是为什么,有什么办法可以禁用它吗? 这里有一个小程序可以自己测试
给定一个 SCSI 设备作为输入,我正在尝试实现一个内核模块,它可以: 获取发送到该特定设备的 SCSI 命令列表并计算该命令的发出次数。 我该如何实现? 我是内核模块编程的初学者,事实上我到目前为止
如何在 linux & c 上获取 SCSI 设备的供应商名称? 最佳答案 如果您知道设备/总线 ID,您可以阅读/sys 文件,同时检查 lsscsi . -> cat /sys/bus/scs
我正在尝试编写一个程序来阻止使用 SCSI 2 保留的 LUN。 在 SCSI 2 预留中,LUN 可以由具有不同路径的同一主机预留,还是 I-T-L 联结只有一条路径。 例如:假设主机尝试从同一目标
我在 Mac 上,正在尝试导入虚拟机镜像(.ova 文件)。我尝试在 VM 上导入文件并收到以下错误。 找不到名为“SCSI Controller ”的存储 Controller 任何已经存在的针对此
SCSI 是标准电子接口(interface),允许个人计算机与磁盘驱动器、磁带驱动器等外围硬件进行通信。 外围组件互连(PCI),顾名思义,是一种描述如何以结构化和受控方式将系统的外围组件连接在一起
SCSI 是标准的电子接口(interface),允许个人计算机与外围硬件(如磁盘驱动器、磁带驱动器等)进行通信。 外围组件互连 (PCI),顾名思义,是一种标准,描述了如何以结构化和受控的方式将系统
我正在使用 C/C++ 在 Windows 中进行开发,我想知道是否有可能获得适当的 \\.\SCSI设备名称 \\.\PhysicalDrive ?.. 例如,很高兴知道如何获得 \\.\Physi
我有一个应用程序可以同时执行 SCSI READ10 和 WRITE10 操作。当他们到达我的代码的较低级别时,他们调用 write(),然后调用/dev/sgXX 上的 read()。不过,我在接收
我是 SCSI CDB 编程的新手。我有一些使用 6byte CDB 为写命令编写的代码 ccb = (Exec_IO_CCB *)(buffer + header_size); ccb->ccb
我已经阅读了phison的源代码(关于badusb,python文件)。但我无法理解程序向 SCSI 设备发送什么命令。在阅读了有关 SCSI 命令的内容后,我仍然找不到以“06h”开头的操作码(存在
我正在使用 Linux LIO 包为后台存储创建环回设备。我正在使用“targetcli”实用程序来发出站点中提到的以下命令 - http://linux-iscsi.org/wiki/Loopbac
我是一名优秀的程序员,十分优秀!