我有一個連接到 SAN 交換器的 HP 1x8 G2 Autoloader,在我的 VMware 環境中,我有一個可以與磁帶一起使用的 Oracle Linux。問題是在將磁帶連接到虛擬機器後,未檢測到媒體更換器,但磁帶驅動器正常!
$ cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 00 Lun: 00
Vendor: VMware Model: Virtual disk Rev: 2.0
Type: Direct-Access ANSI SCSI revision: 06
Host: scsi2 Channel: 00 Id: 01 Lun: 00
Vendor: HP Model: Ultrium 6-SCSI Rev: 25MW
Type: Sequential-Access ANSI SCSI revision: 06
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: NECVMWar Model: VMware IDE CDR00 Rev: 1.00
Type: CD-ROM ANSI SCSI revision: 05
$ lsscsi -g
[0:0:0:0] cd/dvd NECVMWar VMware IDE CDR00 1.00 /dev/sr0 /dev/sg2
[2:0:0:0] disk VMware Virtual disk 2.0 /dev/sda /dev/sg0
[2:0:1:0] tape HP Ultrium 6-SCSI 25MW /dev/st0 /dev/sg1
$ ls -l /dev/tape/by-path
lrwxrwxrwx 1 root root 9 Jul 30 08:49 pci-0000:00:10.0-scsi-0:0:1:0 -> ../../st0
lrwxrwxrwx 1 root root 10 Jul 30 08:49 pci-0000:00:10.0-scsi-0:0:1:0-nst -> ../../nst0
$ lsmod | grep scsi
scsi_transport_spi 32768 1 mptspi
mptscsih 36864 1 mptspi
mptbase 94208 2 mptspi,mptscsih
$ lsmod | grep sg
sg 36864 0
$ lsmod | grep st
st 61440
我安裝了適用於 Centos 8 的最新版本的 HPE 陣列控制器
$ yum list installed
kmod-hpsa.x86_64 3.4.20-5.el8_4.elrepo @elrepo
磁帶自動載入器處於順序模式,我將其變更為自動。
內核資訊:
$ uname -r
5.4.17-2102.202.5.el8uek.x86_64
mtx 輸出:
$ mtx -f /dev/nst0 status
mtx: Request Sense: Long Report=yes
mtx: Request Sense: Valid Residual=no
mtx: Request Sense: Error Code=70 (Current)
mtx: Request Sense: Sense Key=Illegal Request
mtx: Request Sense: FileMark=no
mtx: Request Sense: EOM=no
mtx: Request Sense: ILI=no
mtx: Request Sense: Additional Sense Code = 20
mtx: Request Sense: Additional Sense Qualifier = 00
mtx: Request Sense: BPV=no
mtx: Request Sense: Error in CDB=no
mtx: Request Sense: SKSV=no
READ ELEMENT STATUS Command Failed
$ mtx -f /dev/nst0 inquiry
Product Type: Tape Drive
Vendor ID: 'HP '
Product ID: 'Ultrium 6-SCSI '
Revision: '25MW'
Attached Changer API: No
答案1
經過幾天和幾週的時間,終於...
問題是什麼?
HP 1x8 G2 Autoloader 是多 LUN 裝置。任何想要使用磁帶的系統都必須找到具有一個 SCSI 路徑但有兩個 LUN ID 的中型充電器和磁帶驅動器。此功能稱為多 LUN 掃描。
在我的測試中,當磁帶連接到安裝了 Centos 7(裸機)的 HP-DL380 時,我沒有遇到任何問題。但在虛擬化環境中。 ESXi 無法偵測到介質更換器。
解決方案:
01-透過 ssh 登入 ESXi 主機
02- 在 scsidev 清單中找到 HBA:
# esxcfg-scsidevs -a
03-為設備設定 VMW_SATP_LOCAL 規則:
# esxcli storage nmp rule add --driver=<HBA_DRIVER> --satp VMW_SATP_LOCAL
04- 重新啟動主機 05- 檢查 HBA 上的設備並找到媒體更換器和磁帶驅動器 06- 透過 SCSI 設備將設備新增至 VM
如果您想了解有關 NMP、SATP 和 VMW_SATP_LOCAL 的更多資訊: