无需重启 在Linux下热添加或移除SCSI硬盘

实验环境 一台运行Centos 7的虚拟机在线添加一块4G硬盘

[关键命令]
添加:
echo "scsi add-single-device 1 2 3 4" >/proc/scsi/scsi

移除:
echo "scsi remove-single-device 1 2 3 4" > /proc/scsi/scsi

命令行解释:
命令行中的 1 2 3 4 需要自行修改成相应的参数:

1 : SCSI HBA ID
2 : SCSI Channel
3 : SCSI ID
4 : LUN ID

添加也可以使用 echo "- - -" > /sys/class/scsi_host/host2/scan
‘- - -‘代表channel,target和LUN编号。以上命令会导致host2下所有channel,target以及可见LUN被扫描

通过 lsscsi 命令可以查看对应参数

[root@localhost ~]# lsscsi
[1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0
[2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda

[root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00
  Type:   CD-ROM                           ANSI  SCSI revision: 05

[root@localhost ~]# ls /sys/class/scsi_host/
host0  host1  host2
#可以看到scsi硬盘使用的总线是host2
[root@localhost ~]#  echo "- - -" > /sys/class/scsi_host/host2/scan
[root@localhost ~]# lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[2:0:1:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sdb
#或者使用 echo "scsi add-single-device 2 0 1 0" >/proc/scsi/scsi 也可以发现设备
[root@localhost ~]# lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb    8:16   0   4G  0 disk
[root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 01 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision: 02

现在移除添加的硬盘

[root@localhost ~]# echo "scsi remove-single-device 2 0 1 0 " > /proc/scsi/scsi
[root@localhost ~]# lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[root@localhost ~]# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00
  Type:   CD-ROM                           ANSI  SCSI revision: 05

[root@localhost host2]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3

原文地址:https://blog.51cto.com/1012682/2360215

时间: 2024-10-05 06:34:44

无需重启 在Linux下热添加或移除SCSI硬盘的相关文章

linux下永久添加静态路由

在linux下永久添加静态路由有两种方法: 添加路由的命令: 1,route add route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0#添加一条静态路由 route add default gw 192.168.0.1#添加默认路由 route del -net 192.168.1.0/24 gw 192.168.0.1#删除一条路由 route -n#查看路由表 2,ip ro add ip ro add 192.56.76.0

Linux下ffmpeg添加?x265

Linux下ffmpeg添加?x265 在linux 上安装ffmpeg 支持h265编码器按照以下步骤: 1.安装 Mercurial : 2.安装CMake 2.8.8 or later: 3.YASM 1.2.0 及以上版本: 4.Download the libx265 repository and build as per the instructions here: https://bitbucket.org/multicoreware/x265/wiki/Home (note I 

Linux下怎么添加和查看PATH环境变量

linux下查看和添加PATH环境变量来自:http://apps.hi.baidu.com/share/detail/32942984 $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑你的 PATH 声明,其格式为: PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N> 你可以自己加上指定的路径,中间用

在 Linux 中热添加内存(Suse11)

使用vmware vcenter5.5为Suse 11动态添加内存后,使用free -m查看,发现虚拟机内存没有任何更改. 查了下资料,发现在suse11下,需要先加载动态添加内存模块,然后操作如下: # modprobe acpiphp # modprobe acpi-memhotplug # grep -v online /sys/devices/system/memory/*/state 说明:acpohhp模块为检测热添加设备的模块,acpi_memhotplug为热添加模块. 如果有内

Linux下交互式添加用户脚本(四个示例)

最近需要用到Linux下脚本交互方式添加用户,自己整了三个脚本分享并记录一下,便于后续使用,同时也分享下,希望能帮到和我一样的Shell脚本菜鸟. 示例一:优雅方式添加用户 根据提示,输入你要添加的用户,如果用户存在,则提示后,退出脚本: #!/bin/sh # This scripts is created by miaocbin # QQ:289303323 # blog:http://miaocbin.blog.51cto.com # 优雅方式添加用户:如果用户存在,则提示已存在,并退出,

linux下D盘(适用于U盘、硬盘等一切移动存储设备)策略(比格式化猛,由于是不可恢复!)

关于这种资料,在百度上还是比較少的.今天就共享出来,在电脑主机上插上你的U盘,输入下面命令: dd if=/dev/zero of=/dev/sdb  bs=1024 count=102400   然后就等着你的U盘所有资料所有销毁变成一个彻彻底底的空盘吧! dd这个命令是linux用指定的大小的块拷贝一个文件,并在拷贝的同一时候进行指定的转换. 參数介绍: 1. if=文件名称:输入文件名称,缺省为标准输入. 即指定源文件.< if=input file > 2. of=文件名称:输出文件名

linux下如何添加一个用户并且让用户获得root权限

转自:http://blog.sina.com.cn/s/blog_6fc583e70100n6rm.html 测试环境:CentOS 5.5 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing password for user tommy. New UNIX password: //在这里输入新密码 Retype new UNIX password: /

Linux下PHP添加openssl扩展

安装PHP成功后,进入 PHP 的源码包 #cd /usr/local/src/php-5.6.8 进入openssl扩展模块的目录 #cd ext/openssl 在当前目录下执行 # mv config0.m4   config.m4 #/usr/local/php/bin/phpize //这里为你自己的phpize路径,如果找不到,可以用whereis phpize查找 #./configure --help |grep openssl 查看安装openssl扩展需要的相关选项 #./c

Linux下php添加memcache扩展

很多时候我们都会遇到在已经安装的php中添加其它的扩展. 那我们应该怎么做呢? 这样做.(我们的nginx和php都是已经安装好了的,这里就不做赘述了) 首先,我们需要下载php的memcache扩展包. wget http://pecl.php.net/get/memcache-2.2.6.tgz  #下载 tar zxvf memcache-2.2.6.tgz  #解压cd memcache-2.2.6  #进入安装目录/usr/local/fastphp/bin/phpize  #用php