Virtual Tape Library 仮想テープ装置
中古でオートローダを購入したのだが、いろいろ調べたらLinuxでこれが実現できるそうな。。。
失敗した.....

mhVTL 本家 https://sites.google.com/site/linuxvtl2/ である。

iSCSI windows接続

導入

pkgs.org で検索すると ELRepoリポジトリ で提供されていた。
このまま パッケージ を下記のようにして yum install すればいいのだが、、

[root@vtl ~]# yum --enablerepo=elrepo install mhvtl-utils kmod-mhvtl

ここでは、たいていカーネル揚げを良くしているので、ソースからの導入も記す。

[root@vtl ~]# groupadd -r vtl
[root@vtl ~]# useradd  -r -c "Vitrual Tape Library" -d /opt/mhvtl -g vtl -m vtl    *VTL向けのユーザを作成
 
[root@vtl ~]# yum -y groupinstall "Development tools"                              *開発環境
[root@vtl ~]# yum -y install zlib-devel lzo-devel                                  *コンパイルに必要なライブラリを用意
[root@vtl ~]# yum -y install lsscsi scsi-target-utils                              *テープ装置を制御するために
 
[root@vtl ~]# gzip -cd mhvtl-2013-08-29.tgz | tar xf -                 *mhvtl-2013-06-29.tgz はドライブに問題あり
[root@vtl ~]# cd mhvtl-1.4
[root@vtl mhvtl-1.4]# make; make install
[root@vtl mhvtl-1.4]# cd kernel                      *カーネルモジュールも組み込み
[root@vtl kernel]# make; make install; ldconfig

これで準備は完了。
/etc/init.d/mhvtl が、VTLを制御するデーモン。この起動スクリプトの中身を見ると起動と同時に各種設定ファイルも作っているようだ。もちろん既に設定ファイルがあれば、それらは作られずデーモンのみが稼働するようである。
っで、mhvtlを起動させる。2つのプロセスIDが見えるが、作られるVTLが2台あるので、それぞれのPIDである。

[root@vtl ~]# /etc/init.d/mhvtl start
vtllibrary process PID is 1620
vtllibrary process PID is 1623
[root@vtl ~]#
 
[root@vtl ~]# chkconfig --add mhvtl                  *起動時自動起動
[root@vtl ~]# chkconfig --list mhvtl
mhvtl           0:off   1:off   2:on    3:on    4:off   5:on    6:off
[root@vtl ~]#

このデーモン起動で初期設定ファイル(サンプル的な物)が作られる。

っで、初期設定サンプルファイルには、2台の仮想テープライブラリ装置が定義される。
仮想テープライブラリ装置といってもオリジナルが存在して、Storage Technology(StorageTek, 前Sun, 今Oracle)の

  • L700 テープ ライブラリ PDF
    テープドライブ数:20[10]ドライブ、テープスロット数:618[678]スロット。
  • L80 テープ ライブラリ PDF
    テープドライブ数:8ドライブ、テープスロット数:80スロット。

である。どちらもモンスター級な代物。
*愚生は、オートローダー(1ドライブ、8スロット)程度しか触ったことがないので、この手の使い方がさっぱり?です
搭載テープドライブはLTO4/5とかT10000テープドライブらが提示されている。
一応、コマンドライン上から確認すると、2台のテープライブラリとそれぞれ4台のテープドライブが見える。

[root@vtl mhvtl]# lsscsi -g
[0:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda   /dev/sg0     *HDD(VMwareの)
[2:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0   /dev/sg1     *CDROM装置(VMwareの)
[3:0:0:0]    mediumx STK      L700             0104  /dev/sch0  /dev/sg12    *1台目のテープライブラリ装置[L700]
[3:0:1:0]    tape    IBM      ULT3580-TD5      0104  /dev/st0   /dev/sg4       *内蔵テープドライブ[LTO5] 1/4
[3:0:2:0]    tape    IBM      ULT3580-TD5      0104  /dev/st1   /dev/sg5       *内蔵テープドライブ[LTO5] 2/4
[3:0:3:0]    tape    IBM      ULT3580-TD4      0104  /dev/st2   /dev/sg6       *内蔵テープドライブ[LTO4] 3/4
[3:0:4:0]    tape    IBM      ULT3580-TD4      0104  /dev/st3   /dev/sg7       *内蔵テープドライブ[LTO4] 4/4
[3:0:8:0]    mediumx STK      L80              0104  /dev/sch1  /dev/sg13    *2台目のテープライブラリ装置[L80]
[3:0:9:0]    tape    STK      T10000B          0104  /dev/st4   /dev/sg8       *内蔵テープドライブ[T10000B] 1/4
[3:0:10:0]   tape    STK      T10000B          0104  /dev/st5   /dev/sg9       *内蔵テープドライブ[T10000B] 1/4
[3:0:11:0]   tape    STK      T10000B          0104  /dev/st6   /dev/sg10      *内蔵テープドライブ[T10000B] 1/4
[3:0:12:0]   tape    STK      T10000B          0104  /dev/st7   /dev/sg11      *内蔵テープドライブ[T10000B] 1/4
[root@vtl mhvtl]#

実際に稼働しているプログラムは

[root@vtl ~]# ps -ef |grep vtl
vtl       1595     1  0 22:43 ?        00:00:00 vtltape -q 11 -v      *device.confの「Drive: 11」に由来
vtl       1598     1  0 22:43 ?        00:00:00 vtltape -q 12 -v
vtl       1601     1  0 22:43 ?        00:00:00 vtltape -q 13 -v
vtl       1604     1  0 22:43 ?        00:00:00 vtltape -q 14 -v
vtl       1607     1  0 22:43 ?        00:00:00 vtltape -q 31 -v
vtl       1610     1  0 22:43 ?        00:00:00 vtltape -q 32 -v
vtl       1613     1  0 22:43 ?        00:00:00 vtltape -q 33 -v
vtl       1616     1  0 22:43 ?        00:00:00 vtltape -q 34 -v
vtl       1620     1  0 22:43 ?        00:00:00 vtllibrary -q 10 -v   *device.confの「Library: 10」に由来?
vtl       1623     1  0 22:43 ?        00:00:00 vtllibrary -q 30 -v
root      1714  1199  0 22:43 pts/0    00:00:00 grep vtl
[root@vtl ~]#

となる。ちょいと使ってみる。VTL/操作
/etc/mhvtl/mhvtl.confVERBOSE=0とするとSYSLOG経由のLOG_DAEMONログは抑止される。

iSCSI Target

Linuxマシンを仮想テープライブラリ装置にはできた。っで次にこの装置とバックアップソフトを繋げる。
この繋ぎにはiSCSI Targetを使い別なwindowsマシンにこの仮想テープライブラリを使わせてみる。

っで、iSCSI Targetなのだが、Generic SCSI Target Subsystem for Linux(scst)tgtがある。CentOS標準がtgt。scstはFC/QLE2462で取り上げた。ここをみるとscstがいいぞ。って読めるけど、手軽なtgtを選んだ。mhVTLをコンパイルしている段階でscstでも...っては思ったが。

っで、既にしているがscsi-target-utilsのインストール

[root@vtl ~]# yum -y install scsi-target-utils

基本は /etc/tgt/targets.conf を修正して tgtd を起動するだけかな。上記の lsscsi -g の結果を参照して、下記のように記述する。定義はライブラリとドライブの事だけ。スロットの事は不要。

[root@vtl ~]# vi /etc/tgt/targets.conf
<target iqn.2013-08.jp.chaperone:l700:vtl>  *1台目のライブラリ装置。大文字は禁止らしい
   <backing-store /dev/sg12>     *テープライブラリ装置のgeneric device名
        device-type pt
        bs-type sg
        lun 1
   </backing-store>
   <backing-store /dev/sg4>      *1台目のドライブのgeneric device名
        device-type pt
        bs-type sg
        lun 2
   </backing-store>
   <backing-store /dev/sg5>      *2台目のドライブのgeneric device名
        device-type pt
        bs-type sg
        lun 3
   </backing-store>
 (中略)
</target>
<target iqn.2013-08.jp.chaperone:l80:vtl>  *2台目のライブラリ装置
   <backing-store /dev/sg13>     *テープライブラリ装置のgeneric device名
        device-type pt
        bs-type sg
        lun 1                    *LUN番号もライブラリ毎に付けられます
   </backing-store>
   <backing-store /dev/sg8>      *1台目のドライブのgeneric device名
        device-type pt
        bs-type sg
        lun 2
   </backing-store>
 (中略)
</target>

mhVTL web

ブラウザ画面を使って、仮想テープ装置の調整とiSCSI-Targetの調整ができる代物。

[root@vtl ~]# yum -y groupinstall "Web Server" "PHP Support"
[root@vtl ~]# yum -y install lsscsi mtx mt-st sysstat sg3_utils git
[root@vtl ~]# mkdir /var/www/mhvtl
[root@vtl ~]# cd /var/www/mhvtl
[root@vtl mhvtl]# git clone https://github.com/markh794/mhvtl-gui.git
[root@vtl mhvtl]# vi /etc/httpd/conf.d/mhvtl.conf
Alias /mhvtl /var/www/mhvtl/mhvtl-gui
<Directory /var/www/mhvtl/mhvtl-gui>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 192.168.0.
    DirectoryIndex index.php
</Directory>
 
[root@vtl mhvtl]#

apacheに権限を付与します。

[root@vtl ~]# visudo
  #Defaults    requiretty                     *コメントアウトで無効化
  apache  ALL=(ALL)       NOPASSWD: ALL       *httpd稼働ユーザapacheに権限付与
[root@vtl ~]#

URLは http://vtl/mhvtl/index.php にて接続ができて、下記画面を呈する。パスワードは mhvtl で、
2013y09m06d_002150216.png
ログイン直後の画面は下記になる。2台の仮想ライブラリがあって、合計8台のドライブに、72スロットのテープ置き場所がある。
2013y09m06d_002605522.png


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2015-07-02 (木) 13:16:32 (777d)