TrueNAS で LTO テープ ドライブを使う
ESXi サーバーで使っていた LTO ドライブを、TrueNAS (旧 FreeNAS) の入った NAS マシンに移し替えました。
これといった手順もなく、ただ移し替えたら動いただけではあるのですが、動作実績ということで情報を残しておこうと思います。
以前の記事
SAS カードは LSI SAS 9212-4i、LTO ドライブは HP Ultrium 3000 BRSLA-0904-DC です。
SAS カードと LTO ドライブの移し替え
NAS マシンは 5 年くらい前に自作したものを使っています。 マザーボードは GIGABYTE GA-H97M-D3H。 PCIEX16 スロットに SAS カードを装着します。
TrueNAS のバージョンは TrueNAS-12.0-U4
。
起動後に lspci
を確認すると、SAS カードが認識されていました。
追加のドライバーのインストールは不要のようです。
# lspci -v
...
01:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
Subsystem: Broadcom / LSI Device 30f0
Flags: bus master, fast devsel, latency 0, IRQ 16
I/O ports at e000
Memory at f7bc0000 (64-bit, non-prefetchable)
Memory at f7b80000 (64-bit, non-prefetchable)
Expansion ROM at f7b00000 [disabled]
Capabilities: [50] Power Management version 3
Capabilities: [68] Express Endpoint, MSI 00
Capabilities: [d0] Vital Product Data
Capabilities: [a8] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [c0] MSI-X: Enable- Count=15 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [138] Power Budgeting <?>
Capabilities: [150] Single Root I/O Virtualization (SR-IOV)
Capabilities: [190] Alternative Routing-ID Interpretation (ARI)
...
camcontrol
コマンドで HP Ultrium 5 の表示が確認できます。
# camcontrol devlist
<HP Ultrium 5-SCSI Z64D> at scbus0 target 0 lun 0 (sa0,pass0)
...
ドライブの操作
デバイス ファイル /dev/sa0
を指定し、mt コマンドでドライブの操作ができます。
# mt -f /dev/sa0 status
Drive: sa0: <HP Ultrium 5-SCSI Z64D> Serial Number: HU1202LFNR
---------------------------------
Mode Density Blocksize bpi Compression
Current: 0x58:LTO-5 variable 384607 enabled (0x1)
---------------------------------
Current Driver State: at rest.
---------------------------------
Partition: 0 Calc File Number: 0 Calc Record Number: 0
Residual: 0 Reported File Number: 0 Reported Record Number: 0
Flags: BOP
FreeBSD では、Linux と mt コマンドの実装が異なるため、表示や動作に違いがあるようです。 こちらの記事で詳しい解説があります。
Linux Virtual Machine での利用
PCI Passthrough を構成することで、Virtual Machines 機能で作成した仮想マシンで LTO ドライブを使用できます。 Linux 仮想マシンに SAS カードをパススルーすれば、Linux を想定した mt コマンドが引き続き利用可能です。
System > Tunable から vmm_load
と pptdevs
パラメータを追加し、TrueNAS を再起動します。
pptdevs
には lspci
コマンドで確認した SAS カードの Bus ID を指定します。
# lspci -q | grep SAS
01:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
Virtual Machines から仮想マシンを作成します。 SAS カードは Devices > Add から、PCI Passthru Device として仮想マシンに追加できます。
今回は Ubuntu で動作確認をしてみました。 SAS カード、LTO ドライブが認識され、mt コマンドで操作が可能です。
$ uname -a
Linux operation 5.4.0-66-generic #74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ lspci -q | grep SAS
00:05.0 Serial Attached SCSI controller: Broadcom / LSI SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] (rev 03)
$ lsscsi
[0:0:0:0] tape HP Ultrium 5-SCSI Z64D /dev/st0
[7:0:0:0] disk ATA BHYVE SATA DISK 001 /dev/sda
$ sudo mt -f /dev/st0 status
SCSI 2 tape drive:
File number=0, block number=0, partition=0.
Tape block size 0 bytes. Density code 0x58 (LTO-5).
Soft error count since last status=0
General status bits on (41010000):
BOT ONLINE IM_REP_EN
Previous Post
Next Post