LTOテープをファイルシステムとして使うLTFSについて 2014/06/09版

LTOテープをファイルシステムとして使うLTFSについて 2020/05/11版」にて内容を更新しました。


2015/11/18の情報を元に、新記事「LTOテープをファイルシステムとして使うLTFSについて 2015/11/18版」を公開しています。


LTOテープ1本を持ち運びができるファイルシステムメディアとして使用できるようにするLTFSについて、最近の状況を調べ直した。
(過去の関連記事:「LTOテープをファイルシステムとして使うLTFS(2012/11/28)」「テープ装置メーカ純正のLTFS一覧(2013/12/20更新)」「IBM版LTFSをRHEL5で使ってみた(2013/05/20)

LTO-5/LTO-6からは、メディアを2つの領域に分割して利用することが可能になった。
その機能を活かし、1本のテープメディアの中に、メディア内データの管理情報と、実データを分割して保存することを可能とした。
これにより、これまで実現出来なかった、1本のテープメディアだけで可搬性のあるファイルシステム構築、というものが可能となり、その実装として、LTFS(Linear Tape File System)というのがある。

使用用途としては、バックアップ用ではなく、長期保存のためのアーカイブ用や、大容量データの持ち運び用として使用されている。

LTFSを実現するためのソフトウェアについては、基本的には、IBMが大本のベースを作り、それを各LTOドライブメーカが、自社ドライブ向けにカスタマイズして提供しているような形となっている。

LTFSには、バージョンがいくつかあり、現状気にしなければならないのは、以下の4つ
・LTFS 1.0
・LTFS 2.0 : ファイルインデックス関連で機能をいろいろ追加
・LTFS 2.1 : 2012/05/18リリース。LTFS2.0+シンボリックリンク(現在draft版)
・LTFS 2.2 : 2013/12/21リリース。管理情報の改良

ファイルインデックスは、XMLで書かれているので、LTOテープからデータを直接読み込んで、自前でデコードしてみる、ということも可能ではある。

LTFS2.2の規格書はSNIAの「Linear Tape File System (LTFS)」にある。
その他、いろんな情報は、LTOの規格団体の「LTFS Overview」にある。

LTFSの公式認証を取得しているLTFSソフトウェアについては、「LTFS Compliance Verification」にて紹介されている。

2014/06/06時点では以下の6個が登録されている。

 Company

 Product

 Version

 LTFS Version*

 LTO Generation

 Date tested

 Quantum

 Quantum Scalar LTFS Appliance

 2.0.2

 2.0.1

 LTO5 & 6

 9/11/13

 HP

 HP StoreOpen Standalone

 2.1.0

 2.1.0

 LTO5 & 6

 9/11/13

 IBM

 IBM Single Drive Version

 1.3.0

 2.1.0

 LTO5 & 6

 9/11/13

 IBM

 IBM LTFS Library Edition

 V1R3

 2.1.0

 LTO5 & 6

 10/2/13

 Quantum

 Quantum LTFS

 2.1.0

 2.1.0

 LTO5 & 6

 11/29/13

 HP

 HP StoreOpen Automation

 1.2.0

 2.0.1

 LTO5 & 6

 11/29/13

ソフトウェアのバージョンと、対応しているLTFSフォーマットのバージョンに関連性は無いので注意が必要。

各ドライブメーカが出しているLTFSソフトウェアの情報について

まずは、上記のリストに載っているメーカのものから。

・IBM
公式: IBM Linear Tape File System

ソフトウェアの入手は、「Fix Central」にて「製品グループ:System Storage」-「Tape Systems」-「Tape drives and software」の下にある「LTFS Single Drive Edition (SDE)」や「LTFS Library Edition (LE)」を選択して行う。
なお、LEの方はアップデータのみの配布で、元になるソフトウェアについては、IBMから別途入手する必要がある。
基本的には、LTFS Single Drive Edition(SDE)が、他の全てのLTFSソフトウェアの原型になっているもの・・・という感じである。

2014/06/09時点での最新は、
LTFS Library Edition : ver2.1.2.2-4103(2013/12/06)
LTFS Single Drive Edition: ver2.2.0.0-4301(2014/05/09)

SDEの方はLTFS2.2をサポート。
LEの方はサポートしているのかどうかはっきりしなかった。

・HP
公式: HP StoreOpen
日本語情報: HP LTFS (Linear Tape File System)

ソフトウェアの入手は、単体ドライブ向けの「HP StoreOpen Standalone」も、チェンジャー向け「HP StoreOpen Automation」も、なぜか「HP StoreOpen Standaloneダウンロードページ」のリンクから可能。

2014/06/09時点での最新は、
HP StoreOpen Standalone : ver2.2.0(2014/04/29)
HP StoreOpen Automation : ver1.3.0(2014/02/03)

どちらのバージョンもLTFS 2.2.0をサポートするためにバージョンアップしている。

・Quantum
公式: Linear Tape File System

ソフトウェア入手は上記の公式ページの「Software」タブから行う。
ソースコードについては、LTFS Open Source Filesから。

2014/06/09時点での最新は、
qtmltfs : ver2.1.1(2014/02/25)

日付的にLTFS2.2もサポートなのかな?と思いきや、README内の変更履歴を見る限りでは、LTFS2.1までのサポート。

・Quantum Scalar LTFS Appliance
公式:Scalar LTFSアプライアンス

こいつだけ、他のとは違って、ハードウェアがセットになったアプライアンス。
これの下にFC経由などでテープチェンジャーを繋いで使うもの。

リストに載っていない、LTFS

・TANDBERG DATA
公式: LTFS for Big Data Storage

ソフトウェアの入手は「LTFS Documents and Downloadsから行う。

2014/06/09時点での最新は
バイナリ: ver2.1.0
ソースコード: ver1.2.0
ではあるものの、HP StoreOpen Standaloneそのままである模様。

・Oracle
公式: Oracle’s StorageTek Linear Tape File System, Open Edition

ソフトウェアの入手は「https://oss.oracle.com/projects/ltfs/files/」から行う。

2014/06/09時点での最新は
ltfs-1.2.6-20130711(2013/08/15)

IBM LTFS 1.2.5とHP LTFS 2.0.0を組み合わせ、Oracle/StorageTek用の設定を入れたもの。
LTFS2.0.0までのサポート

samba 4.xで作ったActive Directory環境でWindowsServer2012フェールオーバークラスターは動作しない

2018/02/28追記
samba 4.7.4で作成したフォレストレベルがWindows Server 2008R2のActive Directory環境を使って、Windows Server 2016のフェールオーバークラスターを動作させることができました。
→「samba 4.7.4で作ったActive Directory環境でWindowsServer2016フェールオーバークラスターを動作させた


samba 4.1.7で作成したActive Directory環境を使って、Windows Server 2012のフェールオーバークラスターが作成できるかをチャレンジしてみた。

ドメイン/フォレストの機能レベル:Windows Server 2003
 → 失敗

ドメイン/フォレストの機能レベル:Windows Server 2008R2
 → 失敗

注: samba 4.1.7では、Windows Server 2012および2012R2というレベルはサポートされていない。

というわけで、実験の結果、Windows Server 2012 R2のフェールオーバークラスターを作ることはできませんでした。
なお、この実験完了後、同じ構成でWindows Server 2012によるActive Directory環境にてフェールオーバークラスターが構築できることを確認しています。

googlevideo.comの運用が始まったせいでyoutubeの動画が再生できない

Windows8.1のファミリーセーフティー機能を使って、子供用アカウントのコンテンツアクセス制限をかけている。

ファミリーセーフティー側はyoutube.comを許可し、コンテンツの内容についてはyoutube設定の方で制御していた。

2月末ぐらいからYoutubeの動画が再生できない、とクレームが・・・
原因がわからずGoogle Chromeを使って再生させる、という運用回避策を実施。

で・・・、昨日、OSの再インストールを実施。
その直後から現象は発生。

さすがにおかしいと思い詳細を調査。

その結果、Youtubeの動画部分のURLが「googlevideo.com」に切り替わっていることが判明。
googlevideo.comを許可リストに追加することで動画再生ができるようになりました。

・・・Youtubeの動画が再生できない、というFAQの中に「googlevideo.com」なんてドメイン出てこないんですけど!!!!

パソコンのファイアウォールが原因で YouTube 動画がブロックされて再生できない場合があります。ファイアウォールの設定で、www.youtube.com を信頼済みサイトとして設定し、他のアプリケーション(QuickTime、RealPlayer、Windows Media Player など)をデフォルトのストリーミング アプリケーションに設定しないように調整します。ファイアウォール設定の確認方法は次のとおりです。

vCenter Server 5.5のOS対応リストが見つけられない

vCenter Server 5.5は、Windows Server 2012 R2で動くのか?
というのを調べようとしたら、非常に難航したのでメモ書き。

ESXi および vCenter Server 5.5 のドキュメント → vSphere のアップグレード → システム要件 → vCenter Server のソフトウェア要件」には以下の記述が・・・

サポートされているオペレーティング システムについては、http://www.vmware.com/resources/compatibility の 『VMware 互換性ガイド』 を参照してください。

で、リンク先を見ても、うまく発見できないわけです。

どこにあったかといいますと

上記の赤枠部分をクリックすると、ずらずら~っと、メニューがでてきます。

そのなかから「Host OS Compatibility Guide」の「Download Full Host OS Guide」を開きます。
具体的には、「コレ」です。

ぱっと開いた感じだと、全然関係ないように見えますが、半分ぐらいのところからWindows OS上で動作するVMwareプロダクトについての記載があります。

Windows Server 2012/2012R2に関する記述は以下の通り。

・Windows Server 2012
Workstation9.0, 10.0
vCenter Server5.5, 5.1 U2, 5.1 U1, 5.0 U3, 5.0 U2
vSphere Client (Windows)5.5, 5.1 update2, 5.1 Update1, 5.0 Update 3, 5.0 Update 2
vCenter Orchestrator5.5, 5.1 Update2, 5.1 Update1, 4.1 Update 2
vCenter Update Manager5.5, 5.1 Update2, 5.1 Update1, 5.0 Update 3, 5.0 Update 2

・Windows Server 2012 R2
Workstation10.0
vCenter Server5.1 U2
vSphere Client (Windows)5.1 update2
vCenter Orchestrator5.1 Update2
vCenter Update Manager5.1 Update2

・・・Windows Server 2012 R2の対応について、若干悩むようなところです。
なぜ古いバージョンのみ対応なのだ・・・

Samba 4.xでActive Directoryを1から立てる

このコンテンツの更新版として「Samba 4.7.xでActive Directoryを1から立てる」(2018/03/02)を公開しています。


LinuxでActive Directoryサーバを立てることにした。
アプライアンスとして作られているものがあるのは知ってるけど、あえて、それは使わないことにし、CentOS6で環境を作ることにした。

メリットについて上げてみる。
・samba 4.xでは、DNSサーバ/LDAPサーバ機能を統合してしまっているので
 sambaの設定をするだけでおしまい
・Active Directoryユーザの作成などは、ADに参加しているWindowsマシンに管理者ユーザでログオンし
 その端末にインストールしたActive Directory管理ツールから行える。

えぇ、bindの設定とかopenldapの設定とか、気にしなくていいんです。
(ただし、小規模の場合。大規模になると、パフォーマンスの問題でbindも使った方がいいらしい。openldapは機能が足らないせいでお役御免です)
(追記: WindowsServer2012のクラスタリングのためには使えませんでした)


では、「Samba AD DC HOWTO」を見ながらセットアップ。

1. 関連ソフトウェアパッケージのインストール
Sambaをセットアップするにあたり必要な周辺ソフトウェア群の準備を行う。
Samba 4/OS Requirements」を参考にパッケージをインストールしていく。

CentOS6.5の最小インストール状態なので、いろいろ追加していくことになる。

設定中、sshセッションが切れたりすることがあるかもしれないので「screen」を追加。

# yum install screen 

Requirementsに記載されているパッケージを追加。

# yum install gcc libacl-devel libblkid-devel gnutls-devel \
   readline-devel python-devel gdb pkgconfig krb5-workstation \
   zlib-devel setroubleshoot-server libaio-devel \
   setroubleshoot-plugins policycoreutils-python \
   libsemanage-python setools-libs-python setools-libs \
   popt-devel libpcap-devel sqlite-devel libidn-devel \
   libxml2-devel libacl-devel libsepol-devel libattr-devel \
   keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils

ドキュメントの製作で使うらしい以下のパッケージも追加

# yum install docbook-style-xsl libxslt

2. ファイルシステムのマウントオプション調整
Sambaで利用したいファイルシステムのマウントオプションを調整する。
Samba 4/OS Requirements」の「File System Support」に記載されているようにext3/ext4の場合、「user_xattr,acl,barrier=1」オプションをつけてマウントしろ、とのこと。

CentOS6の場合、標準状態では、以下のように/etc/fstabで指定されていた。

UUID=080add24-43d7-4502-aa31-2e7a4b9116d5 /home                   ext4    defaults        1 2

この場合、/proc/mountsで確認できるマウント状況は、以下の様になっている。

/dev/sdb1 /home ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0

「user_xattr,acl」が足らないようなので/etc/fstabを以下のように書き換えた。

UUID=080add24-43d7-4502-aa31-2e7a4b9116d5 /home                   ext4    user_xattr,acl,barrier=1         1 2

が、/proc/mounts は同じ状態。

/dev/sdb1 /home ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0

mount -vではきちんと反映されているように見えるという点が非常に謎。

/dev/sdb1 on /home type ext4 (rw,user_xattr,acl,barrier=1)

以下の様にテストを実行し、このような出力結果が出れば問題ない、とのことなので、上記のマウントの件は問題なし、とした。

# touch test.txt
# setfattr -n user.test -v test test.txt
# setfattr -n security.test -v test2 test.txt
# getfattr -d test.txt
# file: test.txt
user.test="test"

# getfattr -n security.test -d test.txt
# file: test.txt
security.test="test2"

# touch test3.txt
# setfacl -m g:adm:rwx test3.txt
# getfacl test3.txt
# file: test3.txt
# owner: root
# group: root
user::rw-
group::r--
group:adm:rwx
mask::rwx
other::r--

#

3. ソース取得
wgetでsamba 4.1.5のソースを取得。

# wget http://ftp.samba.org/pub/samba/samba-4.1.5.tar.gz

4. configure

# tar xfz samba-4.1.5.tar.gz
# cd samba-4.1.5
# ./configure

で構成情報取得。

Requirementにある以外に必要となったもの。

# yum install perl openldap-devel

以下はあったほうがいいのかなぁ?という感じのもの。

# yum install pam-devel

ちなみに「openldap-devel」をインストールしないと、以下のメッセージが出て、Active Directory機能が使えないので注意。

# ./configure
<略>
Active Directory support not available: LDAP support ist not available.
Building without Active Directory support.
<略>
#

5. make & make install

# make
<略>
# make install
<略>
#

6.インストール完了確認
sambaのバージョン確認

# /usr/local/samba/sbin/samba -V
Version 4.1.5
#

7. Active Directoryのセットアップ
ドメイン「adosakana.local」を作成します。
また、sambaの機能を使ってAD DNSを構築するので「SAMBA_INTERNAL」を選択します。

# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm: adosakana.local
 Domain [adosakana]:
 Server Role (dc, member, standalone) [dc]:
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
 DNS forwarder IP address (write 'none' to disable forwarding) [172.30.50.100]:
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=adosakana,DC=local
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=adosakana,DC=local
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Setting up fake yp server settings
Once the above files are installed, your Samba4 server will be ready to use
Server Role:           active directory domain controller
Hostname:              adcent6
NetBIOS Domain:        ADOSAKANA
DNS Domain:            adosakana.local
DOMAIN SID:            S-1-5-21-3559328066-3556283577-2939567822
#

8. sambaを起動

# /usr/local/samba/sbin/samba
# ps -ef|grep samba
root      5516     1  4 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5517  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5518  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5519  5517  4 11:08 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root      5520  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5521  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5522  5516  6 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5523  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5524  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5525  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5526  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5527  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5528  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5529  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5530  5516  0 11:08 ?        00:00:00 /usr/local/samba/sbin/samba
root      5534  5519  0 11:08 ?        00:00:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground
root      5537  1081  0 11:08 pts/1    00:00:00 grep samba
#

9. 動作確認
CentOS内部からSMB接続を行うテストを実施。

# /usr/local/samba/bin/smbclient --version
Version 4.1.5
# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[ADOSAKANA] OS=[Unix] Server=[Samba 4.1.5]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.1.5)
Domain=[ADOSAKANA] OS=[Unix] Server=[Samba 4.1.5]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
#

もう1つ。
netlogon共有にAdministrator権限でアクセスできるか確認。

# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[ADOSAKANA] OS=[Unix] Server=[Samba 4.1.5]
  .                                   D        0  Tue Feb 25 11:06:38 2014
  ..                                  D        0  Tue Feb 25 11:06:48 2014

                35275 blocks of size 524288. 31250 blocks available
#

10.AD DNSの動作テスト
AD DNSが想定通りに動作しているかテストします。

まず、どんなzoneが登録されているのか確認

# /usr/local/samba/bin/samba-tool dns zonelist 127.0.0.1 -U Administrator
Password for [ADOSAKANA\Administrator]:
  2 zone(s) found

  pszZoneName                 : adosakana.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_DOMAIN_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : DomainDnsZones.adosakana.local

  pszZoneName                 : _msdcs.adosakana.local
  Flags                       : DNS_RPC_ZONE_DSINTEGRATED DNS_RPC_ZONE_UPDATE_SECURE
  ZoneType                    : DNS_ZONE_TYPE_PRIMARY
  Version                     : 50
  dwDpFlags                   : DNS_DP_AUTOCREATED DNS_DP_FOREST_DEFAULT DNS_DP_ENLISTED
  pszDpFqdn                   : ForestDnsZones.adosakana.local
#

Active Directoryで使用するDNSのSRVレコードが登録されているか確認。

# host -t SRV _ldap._tcp.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

_ldap._tcp.adosakana.local has SRV record 0 100 389 adcent6.adosakana.local.
# host -t SRV _kerberos._udp.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

_kerberos._udp.adosakana.local has SRV record 0 100 88 adcent6.adosakana.local.
#

ADサーバのホスト名が登録されているか確認

# host -t A adcent6.adosakana.local 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

adcent6.adosakana.local has address 172.17.44.216
#

11. DNSサーバの変更
ADサーバの/etc/resolv.confを、ADサーバ自身を使う様に書き換え

12. /etc/krb5.conf の変更
/usr/local/samba/private/krb5.conf にあるので、それを使用する。

# cat /usr/local/samba/private/krb5.conf
[libdefaults]
        default_realm = ADOSAKANA.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true
# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf
cp: `/etc/krb5.conf' を上書きしてもよろしいですか(yes/no)? y
#

13. Kerberosの動作確認

# kinit administrator@ADOSAKANA.LOCAL
Password for administrator@ADOSAKANA.LOCAL:
Warning: Your password will expire in 41 days on Tue Apr  8 11:06:46 2014
#

正常に設定されていれば、Administratorユーザのパスワード有効期限が表示されます。

例えば、DNSサーバの指定が誤っていると、以下のエラーとなります。

# kinit administrator@ADOSAKANA.LOCAL
kinit: Cannot resolve servers for KDC in realm "ADOSAKANA.LOCAL" while getting initial credentials
#

これは、kinitは、DNSサーバに登録されているkerberos関連のSRVレコードを読みにいくためです。

# kinit administrator@adosakana.local
kinit: KDC reply did not match expectations while getting initial credentials
#

こっちのメッセージがでる場合は、ドメイン名を小文字で指定していることが原因です。
大文字で指定し直します。

なお、kinitではなく、「klist」コマンドで一覧表示も可能です。

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@ADOSAKANA.LOCAL

Valid starting     Expires            Service principal
02/25/14 11:42:49  02/25/14 21:42:49  krbtgt/ADOSAKANA.LOCAL@ADOSAKANA.LOCAL
        renew until 03/04/14 11:42:46
#

以上で、Active Directoryサーバとしての設定は終了でした。

このあと、Windows Server 2012を、この作成したばかりのADOSAKANA.LOCALに参加させたところ、正常に参加できました。


2014/05/08追記

この手順で作成した場合、ドメイン/フォレストの機能レベルは「Windows Server 2003」になります。
samba 4.1.7においては、「Windows Server 2008 R2」まで上げることができます。
手順については、「samba 4.xでドメイン/フォレストの機能レベルを変更する」にて解説しています。

モバイルバージョンを終了