Linux 设备名称:除了 /dev/cciss 之外还有哪些非标准存储设备名称

Linux 设备名称:除了 /dev/cciss 之外还有哪些非标准存储设备名称

这是关于 RHEL5 和 RHEL6 上的 Linux 存储设备名称的问题

大多数存储设备可以使用设备名 /dev/sda、/dev/sdb 等访问。我所说的存储设备是指可以像常规文件系统一样分区、格式化和安装的设备。

但是HP服务器使用/dev/cciss/c0d0,/dev/cciss/c0d1等作为设备名,可能是历史原因。

这意味着命令或脚本需要特殊情况来处理 /dev/cciss/cxdx 而不是 /dev/sdx

据我了解,RHEL6 中的 cciss 模块已经被 hpsa 模块取代,从而消除了这种不一致性。

然而,这是一个更普遍的问题——是否存在其他非标准存储设备名称可能会使仅寻找 /dev/sdx 的命令或脚本出错?

答案1

您所说的“存储设备”通常被称为“块设备”。如果您正在编写与块设备交互的脚本,那么最好的办法似乎是枚举其中的内容/sys/class/block并从那里开始工作,或者使用其中的各种条目/dev/disk(事实上,在 RHEL5 下,后者似乎可能是更好的选择)。这样,您就可以向系统请求可用块设备的列表,而不必在代码中维护一些设备名称表。

在我看来,您可能会遇到的其他块设备包括:

  • virtio块设备(/dev/vda等)
  • 循环设备 ( /dev/loop0)
  • 设备映射器设备(/dev/mapper/.../dev/dm-0
  • Xen 虚拟磁盘(/dev/xvda
  • Ceph RBD 设备 ( /dev/rbd/...)

并非所有块设备都可以分区,但它们都可以容纳文件系统。

相关内容