以前「オープンソース版もあるVTLソフトウェアQUADSTOR」という記事を作成したが、使ってはいなかった。
よく見てみたら、ローカルのテープ装置/テープライブラリとしてエミュレートしてくれる機能もあったので、NetBackup Linuxでテープライブラリを使う案件が来たついでに、練習のためQUADSTORを使ってみた。
QUADSTORの注意点
- CGIを使うWebインタフェースのプログラム(標準はポート80使用)
- Webインタフェースに認証機能がないので要注意(アクセスすれば誰でも消せます)
- SELinux環境下で使う場合、後述のSELinuxコマンドを実行すること
- 仮想テープのデータを保存する領域はRAWデバイスディスクが必要(OSからマウントされない)
- QUADSTORの起動に時間がかかる(うちの環境では10分かかった)
セットアップ実施
セットアップは簡単で、「Installation/Upgrading on RHEL/CentOS 6/7, SLES 12 SP2 and Debian 7/8」に書いてあるものをそのまま実行した形である。
# yum install httpd gcc perl kernel-devel sg3_utils
# rpm -ivh quadstor-vtl-ext-3.0.31.1-rhel.x86_64.rpm
プログラムの自動起動で以下を実行
# systemctl enable httpd.service
# systemctl enable quadstorvtl.service
SELinux環境で動作するように下記の設定を実行
# setsebool -P httpd_enable_cgi 1
# semanage permissive -a httpd_t
なお「semanage」は標準ではインストールされていないので「yum install policycoreutils-python」を実行して、追加インストールする必要がある。
Webインタフェースにアクセスする為に、firewallに穴を開けます。
# firewall-cmd --permanent --zone=public --add-service=http
iSCSIデバイスとして動作するので、iSCSIで使用するポートについても設定します。
# firewall-cmd --permanent --zone=public --add-service=iscsi-target
また、Webインタフェースには認証機能がなく、誰でも使用できる状態であるため「Accessing the Web Management Interface」の「SECURING ACCESS TO THE WEB INTERFACE」に記載されているように.htpasswdを使ってアクセス制限をかけましょう。
QUADstorとhttpdを起動します。
# systemctl start quadstorvtl
# systemctl start httpd
起動後、Webインタフェースにアクセスすると、以下の様な感じの画面がでてきます。
「Server Status: Server initialized and running」となっていればQUADstorの起動が完了しています。
まず「Physical Storage」タブにアクセスすると、いまマウントされているなローカルディスクが表示されます。
[Add]をクリックし、下記画面からQUADstor管理下に設定します。
指定したディスクの初期化が始まります。
なお、初期化中にさらなる追加を行おうとすると「ERROR: Reply from server is “Cannot add a disk when another is being configured “」とエラーになります。
初期化が終わると、下記の様になります。(なお、表示は自動更新されるますので、ブラウザの手動更新は不要です)
もう片側のディスクも同様に登録し、完了するのを待ちます。
次に「Virtual Libraries」から「Add VTL」よりテープチェンジャーを作成します。
[Add VTL]をクリックし、作成するテープチェンジャの設定を指定します。
登録したテープチェンジャーは下記の様に見えます。
作成した状態では中にテープメディアが入っていない状態です。
テープメディアは「VCartridge Information」にある[Add VCartridge]から行います。
テープメディアの種類はLTOドライブの選択に従って自動的に行われています。
指定するのは、作成する本数(Number of VCartridges)と、メディアにつけるバーコードラベルの書式指定です。
バーコード書式は英数6文字で、例えばLTO1カートリッジを10本、ラベル:BK0000と指定した場合「BK0000L1」~「BK0009L1」のテープメディアが登録されることになります。
iSCSIのテープ装置としては作成されましたので、Linuxサーバから接続してみます。
CentOS7だったら、まずは「yum install iscsi-initiator-utils」で接続に必要なソフトウェアをインストールします。
続いて、iSCSI接続を永続化するため「systemctl enable iscsid」を実行します。
「iscsiadm -m discovery -t sendtargets -p <IPアドレス>」を実行し、検出したあと、「iscsiadm -m node –login -p <IPアドレス>」でログインします。
# iscsiadm -m discovery -t sendtargets -p <IPアドレス>
# iscsiadm -m node --login -p <IPアドレス>
接続するとLinux上からは下記の様に見えるようになります。
# cat /proc/scsi/scsi
<略>
Host: scsi34 Channel: 00 Id: 00 Lun: 00
Vendor: IBM Model: ULT3580-TD1 Rev: D711
Type: Sequential-Access ANSI SCSI revision: 06
Host: scsi33 Channel: 00 Id: 00 Lun: 00
Vendor: ADIC Model: Scalar 24 Rev: 6.24
Type: Medium Changer ANSI SCSI revision: 03
#
NetBackupのコマンドで確認してみると、下記の様にみえました。
# /usr/openv/volmgr/bin/tpautoconf -t
TPAC60 IBM ULT3580-TD1 D711 2688700001 -1 -1 -1 -1 /dev/nst0 - -
# /usr/openv/volmgr/bin/tpautoconf -r
TPAC60 ADIC Scalar 24 6.24 26887167A2DC4D54B8910000 -1 -1 -1 -1 /dev/sg4 - -
# /usr/openv/volmgr/bin/scan
************************************************************
*********************** SDT_TAPE ************************
*********************** SDT_CHANGER ************************
************************************************************
------------------------------------------------------------
Device Name : "/dev/sg4"
Passthru Name: "/dev/sg4"
Volume Header: ""
Port: -1; Bus: -1; Target: -1; LUN: -1
Inquiry : "ADIC Scalar 24 6.24"
Vendor ID : "ADIC "
Product ID : "Scalar 24 "
Product Rev: "6.24"
Serial Number: "26887167A2DC4D54B8910000"
WWN : ""
WWN Id Type : 0
Device Identifier: "ADIC 26887167A2DC4D54B8910000"
Device Type : SDT_CHANGER
NetBackup Robot Type: 8
Removable : Yes
Device Supports: SCSI-3
Number of Drives : 1
Number of Slots : 20
Number of Media Access Ports: 1
Drive 1 Serial Number : "2688700001"
Flags : 0x0
Reason: 0x0
------------------------------------------------------------
Device Name : "/dev/nst0"
Passthru Name: "/dev/sg3"
Volume Header: ""
Port: -1; Bus: -1; Target: -1; LUN: -1
Inquiry : "IBM ULT3580-TD1 D711"
Vendor ID : "IBM "
Product ID : "ULT3580-TD1 "
Product Rev: "D711"
Serial Number: "2688700001"
WWN : ""
WWN Id Type : 0
Device Identifier: "IBM ULT3580-TD1 2688700001"
Device Type : SDT_TAPE
NetBackup Drive Type: 3
Removable : Yes
Device Supports: SCSI-6
Flags : 0x0
Reason: 0x0
#
ドキュメントを確認すると、「Data deduplication best practices」というのがあり、重複排除が行われた状態でRAWストレージに格納されている模様。
2019/11/01追記
QUADstorをアップデートする場合の注意点。
「rpm -Uvh quadstor*.rpm」といったアップデートはできない。
一度、アンインストールした上で、再インストールする必要がある。
ここまでは「Installation or Upgrading the VTL software」にも書かれているのだが、実際にやろうとするとスクリプトの実行に失敗する場合がある。
アンインストール時、quadstorによりinitrd imageに組み込まれたモジュールを削除するために、quadstorの停止とモジュールのアンロードが実施されるのだが、モジュールの使用状況によってはアンロードが失敗する場合がある。
その場合は、一度OSを再起動して、モジュールがロードされていない状態にしないとアンインストールができなかった。
CentOS7の場合、以下の手順で行った。
(1) 「systemctl mask quadstorvtl」で再起動時にQUADstorが起動しない様に設定(maskしなくでも大丈夫な場合もある)
(2) OS再起動
(3) 「rpm -ev quadstor-vtl-ext-3.0.36-rhel.x86_64」といった感じでパッケージ削除
(4) 「rpm -ivh quadstor-vtl-ext-3.0.37-rhel.x86_64.rpm」といった感じでパッケージインストール
(5) 「 systemctl unmask quadstorvtl」 「systemctl enable quadstorvtl」で有効化
(6) OS再起動
2021/10/21追記
QUADStorVTLではなくて普通のiSCSIストレージに接続するために、Oracle Linux 8環境で「iscsiadm -m discovery -t sendtarget -p IPアドレス」を実行したら何も見つからなかった。
RHEL6ドキュメントを見直してみると「-t sendtarget」ではなく「-t st」だったのでこちらでやってみたら通った。というメモ書き
[root@oraclelinux ~]# iscsiadm -m discovery -t sendtarget -p 172.17.73.21 -o new
iscsiadm: Discovery record [172.17.73.21,3260] not found!
[root@oraclelinux ~]# iscsiadm -m discovery -t sendtarget -p 172.17.73.21 -d 5
iscsiadm: Max file limits 1024 262144
iscsiadm: Could not open /var/lib/iscsi/send_targets/172.17.73.21,3260: No such file or directory
iscsiadm: Discovery record [172.17.73.21,3260] not found!
[root@oraclelinux ~]# iscsiadm -m discovery -t st -p 172.17.73.21 -o new
172.17.73.21:3260,2460 iqn.2007-11.com.nimblestorage:test-v371c7edc5d1bd1e3.000000c8.6a07af3f
192.168.1.200:3260,2460 iqn.2007-11.com.nimblestorage:test-v371c7edc5d1bd1e3.000000c8.6a07af3f
192.168.11.3:3260,2460 iqn.2007-11.com.nimblestorage:test-v371c7edc5d1bd1e3.000000c8.6a07af3f
192.168.12.1:3260,2460 iqn.2007-11.com.nimblestorage:test-v371c7edc5d1bd1e3.000000c8.6a07af3f
172.17.73.21:3260,2460 iqn.2007-11.com.nimblestorage:vmwarestorage-v371c7edc5d1bd1e3.00000063.6a07af3f
192.168.1.200:3260,2460 iqn.2007-11.com.nimblestorage:vmwarestorage-v371c7edc5d1bd1e3.00000063.6a07af3f
192.168.11.3:3260,2460 iqn.2007-11.com.nimblestorage:vmwarestorage-v371c7edc5d1bd1e3.00000063.6a07af3f
192.168.12.1:3260,2460 iqn.2007-11.com.nimblestorage:vmwarestorage-v371c7edc5d1bd1e3.00000063.6a07af3f
[root@oraclelinux ~]#
“QUADSTOR VLTを使ってみた” への1件の返信