0
0

More than 3 years have passed since last update.

Gitのソースからltfsをビルドする

Last updated at Posted at 2019-07-01

初めに

Qiitaのユーザさんにはあまりなじみが無いと思いますが、テープデバイスをマウントして使用できるファイルシステムltfsをソースからbuildしてCentOS7で使用する方法についての備忘録です。
IBMさんのIBM Spectrum Archive Single Drive Edition (SDE)ですと、IBM Tape Device Driverのインストールが必要です。こちらがカーネルドライバーのためビルドが必要ですし、カーネルのアップグレードを行う毎にビルドし直さなければいけませんのでCentOS等ではこちらを使った方が楽かもしれません。
(Version2.4.1.2からsgデバイスが使用される様になり、IBM Tape Device Driverのインストールは必要なくなりました。)

基本的にltfs Gitの手順に従って行えばよいのですが
いくつか注意点があります。
以下はCentOS7.6で試した際の注意点です。

Prerequestについて

ここに記載のあるPrereuestに挙げられているパッケージですがCentOSのパッケージ名と一部異なるものがありますので注意が必要です。

$ rpm -q automake autoconf libtool fuse uuid libxml net-snmp icu4c
automake-1.13.4-3.el7.noarch
autoconf-2.69-11.el7.noarch
libtool-2.4.2-22.el7_3.x86_64
fuse-2.9.2-11.el7.x86_64
uuid-1.6.2-26.el7.x86_64
パッケージ libxml はインストールされていません。
net-snmp-5.7.2-37.el7.x86_64
パッケージ icu4c はインストールされていません。

libxmはlibxml2、icu4cはicuのようです。

$ rpm -q libxml2 icu
libxml2-2.9.1-6.el7_2.3.x86_64
icu-50.1.2-17.el7.x86_64

Parameter settings of the sg driverについて

ここに記載されているsgドライバのパラメータですが、これを指定するとエラーを起こしてltfsでのマウントが失敗します。Redhat7用の設定例ですのでCentOS7でも同様だと思うのですが、allow_dio=1がいけないようです。
/proc/scsi/sg/allow-dioを1にするとマウントに失敗します。

使い方

基本的にIBM版と同じですが、IBM版がIBM Tape Driver(lin_tape)デバイスを使うのに対してGit版はデフォルトではsg(SCSI Generic)デバイスを使います。
どのsgデバイスがテープドライブか?はltfsコマンド「-o device_list」オプションで確認できます。
以下の例では/dev/sg0

$ sudo ltfs -o device_list
4a86 LTFS14000I LTFS starting, LTFS version 2.4.2.0 (Prelim), log level 2. 
 -省略-
Tape Device list:.
Device Name = /dev/sg0, Vendor ID = IBM     , Product ID = ULTRIUM-HH8     , Serial Number = 10WT002321, Product Name =[ULTRIUM-HH8].

ltfsコマンドに「-o devname=デバイス名」を指定してマウントして使用します。
/mnt/ltfsにマウントする場合は「ltfs -o devname=/dev/sg0 /mnt/ltfs」とします。
他の使用方法はIBM版と同じですのでIBM社のKB等をご確認下さい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0