RAIDアレイにはいくつかのUDEVルールがあります。 10 個のハードドライブ名は、/dev/sda から /dev/sdj と指定されます。
ディスクはいつでも存在しない可能性があります。
任意のUSBなどのデバイスが欠落しているハードドライブ名の1つを使用しないようにUDEVルールを作成するにはどうすればよいですか?
たとえば、何らかの理由で2台目のハードドライブ/ dev / sdbが切断された後、誰かがUSBデバイスをまったく別のポートに接続している場合は、USBが必要です。いいえ/dev/sdb になります。
システムで利用可能な各USBポートを独自の名前にマッピングする方法を理解できますが、よりきれいな方法が必要ですか?このような考えをして「USBデバイスならkからzまで名前を付けてください。
KERNEL=="sd?", SUBSYSTEM=="block", DEVPATH="*usb", NAME="sd[k-z]", GOTO="END_20_PERSISTENT_DISK"
KERNEL=="sd?*", ENV{DEVTYPE}=="partition", SUBSYSTEM=="block", DEVPATH=="*usb*", NAME="sd[k-z]%n"
このシステムは、任意のUSBまたはハードドライブデバイスに対応して完全に自律的に設計されています。これがタグとuuidの代わりにDEVPATHを使用する理由です。
答え1
USBドライブを接続して使用する
udevadm info -a -p /sys/block/sd*
ここで、*はディスク割り当て番号(sda1、sda3、sdb2など)です。
次に、次のudevルールを作成しました。
KERNEL=="sd*", SUBSYSTEMS==" block", ATTRS{serial}=="**************", SYMLINK+="sdb%n"
もちろん、udevadm情報に基づいて編集してください。
もう一つの良い解決策は、DISK_UIDまたはLABELを使用してマウントすることです。その後、/ dev / sd *は重要ではありません。 LABELまたはDISK_UUIDを使用してマウントします。私はLABELを好む。ここに私のfstabの例があります。
LABEL=memoria swap swap defaults 0 0
LABEL=root / ext4 defaults,acl 1 1
LABEL=utenti /home ext4 defaults,acl 1 2
utenti と root は lvm ボリュームです。 / dev / sd *は、e2labelコマンドを使用してパーティションでLABELを使用するためには重要ではありません。