udevを使用した永続ドライブブロック

udevを使用した永続ドライブブロック

私のホームサーバーには8つのハードドライブがあります。時には1つまたは2つを接続してから取り外し、システムを再起動すると、すべてのドライブ文字が混乱します。シリアル番号または各ハードドライブを識別するその他の属性に基づいて、各ハードドライブにブロックを割り当てたいと思います。問題は、ルールが一致する可能性がある固有の属性がudevadm info --attribute-walk --path /sys/block/sda見つからないことです。udevこれは次の出力ですudevadm info --attribute-walk --path /sys/block/sda

looking at device '/devices/pci0000:00/0000:00:1c.6/0000:08:00.0/0000:09:00.0/host4/target4:0:0/4:0:0:0/block/sda':
  KERNEL=="sda"
  SUBSYSTEM=="block"
  DRIVER==""
  ATTR{range}=="16"
  ATTR{ext_range}=="256"
  ATTR{removable}=="0"
  ATTR{ro}=="0"
  ATTR{size}=="976773168"
  ATTR{alignment_offset}=="0"
  ATTR{discard_alignment}=="0"
  ATTR{capability}=="50"
  ATTR{stat}=="  303039  9092221 74569992  3246580    12765      996    11288  1415644        0  3250052  4661800"
  ATTR{inflight}=="       0        0"
  ATTR{events}==""
  ATTR{events_async}==""
  ATTR{events_poll_msecs}=="-1"

looking at parent device '/devices/pci0000:00/0000:00:1c.6/0000:08:00.0/0000:09:00.0/host4/target4:0:0/4:0:0:0':
  KERNELS=="4:0:0:0"
  SUBSYSTEMS=="scsi"
  DRIVERS=="sd"
  ATTRS{device_blocked}=="0"
  ATTRS{type}=="0"
  ATTRS{scsi_level}=="6"
  ATTRS{vendor}=="ATA     "
  ATTRS{model}=="ST3500630A      "
  ATTRS{rev}=="3.AA"
  ATTRS{state}=="running"
  ATTRS{timeout}=="30"
  ATTRS{iocounterbits}=="32"
  ATTRS{iorequest_cnt}=="0xa39aa"
  ATTRS{iodone_cnt}=="0xa39aa"
  ATTRS{ioerr_cnt}=="0xfa0d"
  ATTRS{evt_media_change}=="0"
  ATTRS{queue_depth}=="1"
  ATTRS{queue_type}=="none"

他のすべてのハードドライブの出力は似ているため、これを識別する方法はありません。同じモデルの3つのハードドライブがあるため、ATTRS {model}は適切ではありません。

ベストアンサー1

使用する代わりに永続的な命名を使用するには、/dev/sdX次のものを使用できます。

/dev/disk/by-id/scsi-SATA_MODELNUMBER_XXXXXXXX

おすすめ記事