对于支持热插拔SCSI技术的服务器,SCSI硬盘和磁带机可以在Linux下实现在线添加和移除,有两种方法实现,先说麻烦的

具体方法如下:
一、 添加或者删除硬盘/磁带机:

# echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi // 添加硬盘
# echo "scsi remove-single-device 0 0 1 0" > /proc/scsi/scsi // 删除硬盘

下面具体演示如何给一台服务添加硬盘

1 首先将硬盘或者磁带机连接到服务器上

2 确定硬盘的Host 号、Channel号、ID号和LUN号

SCSI硬盘的信息存储在/proc/scsi/scsi文件中,查看当前文件的内容cat /proc/scsi/scsi

testupgrade:/ # cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel:  Id:  Lun:
  Vendor: VMware   Model: Virtual disk     Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision:
Host: scsi0 Channel:  Id:  Lun:
  Vendor: VMware   Model: Virtual disk     Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision:
Host: scsi0 Channel:  Id:  Lun:
  Vendor: VMware   Model: Virtual disk     Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision:
Host: scsi2 Channel:  Id:  Lun:
  Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00
  Type:   CD-ROM                           ANSI  SCSI revision: 

通过上面文件,我们可以知道,如果添加了新的硬盘,它的Host号是0,Channel号是0 ,ID号如果按顺序的话应该是3,LUN号是0

3 执行添加

echo “scsi add-single-device x y z u"”> /proc/scsi/scsi

其中:

x是硬盘或者磁带机所在SCSI控制器号;
y是硬盘或者磁带机所在SCSI通道的编号;
z是硬盘或者磁带机的SCSI ID号;
u是硬盘或者磁带机的lun号默认情况都是0
如果x y z参数不正确,系统是不能识别添加的硬盘和磁带机的可以通过 cat /proc/scsi/scsi命令来核实是否添加成功。

#根据上面的分析实际执行的内容是

   "”> /proc/scsi/scsi

4 添加成功后

通过fdisk -l查看新增的磁盘 ,并划分分区

如果想删除,则可以按照上面的顺序执行下面的命令

# echo "scsi remove-single-device 0 0 3 0" > /proc/scsi/scsi // 删除硬盘

二、重新扫描硬盘

当然,也可以不用这么麻烦,直接使用下面命令可以让系统自动发现新加的磁盘

echo "- - -" >  /sys/class/scsi_host/host0/scan

然后再运行fdisk -l 就能发现新添加的硬盘已经被系统识别了,查看系统日志/var/log/messages,发现对SCSI设备进行了一次重新扫描。需要注意的是echo的三个- – -号之间有空隔。

参考:

SCSI总线驱动的初始化

Linux不重启识别新添加的磁盘

Linux磁盘热插拔命令的更多相关文章

  1. linux 磁盘管理命令之df-(转自 Howie的专栏)

    linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...

  2. Linux磁盘管理命令

    1.磁盘分割: fdisk [root@linux ~]# fdisk [-l] 装置名称 参数: -l :输出后面接的装置所有的partition内容.若仅有fdisk -l时, 则系统将会把整个系 ...

  3. Linux 磁盘管理命令

    df NO1. 显示所有存储系统空间使用情况,同时显示存储系统的文件系统类型s[root@rehat root]# df -aT NO2. 显示指定文件系统的空间使用情况[root@rehat roo ...

  4. linux磁盘相关命令

    一.查看文件夹大小du du -h -d1 2>/dev/null 解释: h表示以可读性较好的方式显示,即带单位显示 d表示深度depth,为1表示只显示当前目录下文件的大小 2>/de ...

  5. Linux磁盘管理命令(fdisk,mount,umount,mkfs)

    查看磁盘:fdisk -l 一块磁盘可以分14个分区 [root@wendyhost ~]# fdisk -l Disk /dev/sda: 64.4 GB, 64424509440 bytes 25 ...

  6. Linux磁盘修复命令----fsck

    使用fsck命令修复磁盘时 一定要进入单用户模式去修复 语 法fsck.ext4[必要参数][选择参数][设备代号] 功 能fsck.ext4 命令: 针对ext4型文件系统进行检测 参数  -a 非 ...

  7. linux基本命令之磁盘管理命令(ls,cd,pwd,mkdir,rmdir,clear, touch)

    linux磁盘管理命令 1.ls(list)命令:列出目录内容. 格式:ls [参数][文件或目录] ls -a或-all表示列出所有文件和目录,以点开始的是影藏文件,例如,.bash_history ...

  8. linux常用命令之--磁盘管理命令

    linux的磁盘管理命令 1.查看磁盘空间 df:用于显示磁盘空间的使用情况 其命令格式如下: df [-option] 常用参数: -i:使用inodes显示结果 -k:使用KBytes显示结果 - ...

  9. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

随机推荐

  1. Linux上leveldb的安装和使用

    1.首先从官网上下载leveldb进行编译 git clone https://github.com/google/leveldb.git cd leveldb make 2.将头文件和动态链接库拷到 ...

  2. 自学Aruba1.2-WLAN一些基本常识

    点击返回:自学Aruba之路 自学Aruba1.2-WLAN一些基本常识 1. LAN.WAN.WLAN.WIFI术语 1.1 局域网(Local Area Network,LAN) 是指在某一区域内 ...

  3. python函数,模块及eclipse使用

    一.eclipse的使用 1.作用 (1)最好用的IDE (2)可调式debug (3)查看可执行过程 (4)可查看源代码 2.安装eclipse及配置 目录安装Pythonpython for ec ...

  4. [转载]CentOS 7安装Gnome GUI 图形界面

    原文链接:http://www.centoscn.com/image-text/config/2015/0528/5552.html 当你安装centos服务器版本的时候,系统默认是不会安装 Cent ...

  5. JavaScript(三) 数据类型

    数据类型 5+1种数据类型 5种 基础数据类型 Number String boolean null undefined 1种 复杂数据类型 object typeof 操作符   typeof 操作 ...

  6. 0.python class

    http://pythonprogramminglanguage.com/ 什么是python? python是一款让你工作比起用其他语言更快的编程语言.老练的程序员用其他的语言会比用python更顺 ...

  7. chrome使用技巧整理

    查看chrome的相关快捷键:打开chrome,按下F1,点击"键盘和鼠标快捷键". 1.查看版本: 浏览器输入网址:chrome://version/ 2.查看Chrome进程清 ...

  8. [linux] C语言Linux系统编程-socket开发响应HTTP协议

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h&g ...

  9. 【JavaScript数组】

    1.什么是数组--Array 数组就是一组数据的集合 其表现形式就是内存中的一段连续的内存地址 数组名称其实就是连续内存地址的首地址 2.关于js中的数组特点 数组定义时无需指定数据类型 数组定义时可 ...

  10. deeplearning.ai 卷积神经网络 Week 1 卷积神经网络 听课笔记

    1. 传统的边缘检测(比如Sobel)手工设计了3*3的filter(或者叫kernel)的9个权重,在深度学习中,这9个权重都是学习出来的参数,会比手工设计的filter更好,不但可以提取90度.0 ...