USBディスクの/dev/disk/by-idからataスタイルIDをどのように取得しますか?

USBディスクの/dev/disk/by-idからataスタイルIDをどのように取得しますか?

USBドライブドックがあり、そこにSATAドライブを接続しています。表示される方法は、/dev/disk/by-idドライブにパーティションテーブルがあるかどうかによって異なります(usb存在しない場合でもata)。これにより、ZFSの使用がややぎこちなくなりました。

新しいドライブの初期状態:

% ls -alF /dev/disk/by-id | grep sdd              
lrwxrwxrwx 1 root root   9 Nov 18 20:47 usb-WDC_WD30_EFRX-68EUZN0_000000000012-0:0 -> ../../sdd

パーティションテーブルの作成は/dev/disk/by-id解決されましたが、ドライブが使用していたパスから消え、ZFSが混乱しました。

% sudo zpool create -f -o ashift=12 offsite_3TB -m /mnt/offsite_3TB /dev/disk/by-id/usb-WDC_WD30_EFRX-68EUZN0_000000000012-0:0
cannot resolve path '/dev/disk/by-id/usb-WDC_WD30_EFRX-68EUZN0_000000000012-0:0-part1': 2

初期のダンスが完了すると、すべてが期待どおりに機能します。

% ls -alF /dev/disk/by-id | grep sdd
lrwxrwxrwx 1 root root   9 Nov 18 21:22 ata-WDC_WD30EFRX-68EUZN0_WD-WCC4NPUZ4ZFR -> ../../sdd
lrwxrwxrwx 1 root root  10 Nov 18 21:22 ata-WDC_WD30EFRX-68EUZN0_WD-WCC4NPUZ4ZFR-part1 -> ../../sdd1
lrwxrwxrwx 1 root root  10 Nov 18 21:22 ata-WDC_WD30EFRX-68EUZN0_WD-WCC4NPUZ4ZFR-part9 -> ../../sdd9
lrwxrwxrwx 1 root root   9 Nov 18 21:22 wwn-0x50014ee260198109 -> ../../sdd
lrwxrwxrwx 1 root root  10 Nov 18 21:22 wwn-0x50014ee260198109-part1 -> ../../sdd1
lrwxrwxrwx 1 root root  10 Nov 18 21:22 wwn-0x50014ee260198109-part9 -> ../../sdd9
% sudo zpool create -f -o ashift=12 offsite_3TB -m /mnt/offsite_3TB /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4NPUZ4ZFR

(成功的に完了しました)

このシーケンス中は何も取り出されません。

最初の挿入時kern.log

kernel: [1540491.548519]  sdd: unknown partition table

zpoolが作成された後:

kernel: [1542568.022312]  sdd: sdd1 sdd9
kernel: [1542625.260285]  sdd: sdd1 sdd9

なぜ変わったのですか/dev/disk/by-idataドライブがSATAバスに直接あるかUSBドックにあるかに応じてパスを変更したくないので、これらのスタイルパスは正確に私が望むものです。ata意図的にzpoolの作成に失敗せずにスタイルIDを表示するよりエレガントな方法はありますか?

FWIW、ZFS-on-Linux PPAを含むUbuntu 14.04。

ベストアンサー1

おすすめ記事