Solaris 10 6/06 ご使用にあたって

ファイルシステム

Solaris 10 リリースのファイルシステムに関するバグ情報について説明します。

ZFS および UNIX/POSIX 準拠に関する問題

ZFS は POSIX 準拠のファイルシステムとして設計されており、ほとんどの場合、ZFS は POSIX に準拠しています。ただし、次の 2 つの極端な状況では、ZFS は POSIX 準拠テストに適合しません。

  1. ZFS ファイルシステム容量統計の更新。

  2. 100 パーセント満杯のファイルシステムによる既存のデータの変更。

関連する CR:

ZFS パッチを Solaris 10 6/06 システムに追加すると誤った警告メッセージが表示される (6429860)

ZFS パッチを Solaris 10 6/06 システムに追加すると、ZFS パッケージがシステムにはじめて追加されるため、patchadd コマンドから誤った警告メッセージが表示されます。次のエラーメッセージが表示されます。


The following requested patches have packages not installed on the system:
	Package SUNWzfskr from directory SUNWzfskr in patch 122641-03 
	is not installed on the system.

	Changes for package SUNWzfskr will not be applied to the system.

回避方法:

patchadd コマンドから表示される誤ったメッセージを無視します。

ufsrestore は ACL の設定に acl_set() を使用しない (6421216)

POSIX ドラフト ACL を含む UFS アーカイブが ZFS ファイルシステムで復元される場合、ufsrestore ユーティリティーはエラーを生成します。ファイルは正しく復元されますが、ACL 情報は無視されます。

ufsrestore 操作中に、次のエラーメッセージが生成されます。


setacl failed: Invalid argument

回避方法:

次のいずれかの ACL 対応コマンドを使用して、ACL を含む UFS ファイルを ZFS ファイルシステムに転送してください。

POSIX ドラフト ACL は同等の NFSv4 スタイル ACL に変換されます。

fdisk -E は ZFS が使用するディスクを警告なしに一掃する可能性がある (6412771)

fdisk -E コマンドを使用して ZFS ストレージプールによって使用されているディスクを変更する場合、そのプールは使用不可になり、入出力エラーまたはシステムパニックを引き起こすことがあります。

回避方法:

ZFS ストレージプールによって使用されているディスクの変更に fdisk コマンドを使用しないでください。ZFS ストレージプールによって使用されているディスクにアクセスする必要がある場合は、format ユーティリティーを使用してください。一般に、ファイルシステムが使用中のディスクを変更するべきではありません。

x86: Sun Ultra 20 または Sun Fire X2100 上の ZFS の使用後に BIOS がハングアップする (6363449)

Sun UltraTM 20 ワークステーションまたは Sun FireTM X2100 サーバーに接続されているディスクに ZFS ストレージプールが含まれている場合、これらのシステムはリブート時にハングアップする可能性があります。

この問題が発生する可能性がある BIOS バージョンは次のとおりです。

回避方法:

  1. システムをリブートする前に、これらのシステムで ZFS をサポートする最低限の BIOS レベルをインストールできるまで、ZFS によって使用されているディスクを切り離します。

  2. リリース 1.4 の サプリメント CD から、ZFS をサポートする最低限の BIOS バージョンをインストールします。

    サポートされている BIOS バージョンは次のとおりです。

    • Sun Ultra 20 ワークステーション用 BIOS バージョン 2.2.3。

    • Sun Fire X2100 サーバー用 BIOS バージョン 1.1.1。

    また、次の場所からリリース 1.4 用のサプリメント CD イメージをダウンロードできます。

ZFS と他社製のバックアップ製品の問題

Veritas NetBackup および Sun StorEdgeTM Enterprise Backup Software (EMC および Legato NetWorker®) 製品に関する問題は次のとおりです。

Veritas NetBackup は ZFS/NFSv4 ACL を含むファイルをバックアップおよび保持しない (6352899)

Veritas NetBackup 製品は、ZFS ファイルのバックアップに使用でき、この構成はサポートされています。ただし、この製品は ZFS ファイルからの NFSv4 スタイル ACL 情報のバックアップまたは復元を現在サポートしていません。従来のアクセス権ビットおよびその他のファイル属性は正しくバックアップおよび復元されます。

ユーザーが ZFS ファイルをバックアップまたは復元しようとすると、ZFS ファイルの NFSv4 スタイル ACL 情報はそのままドロップされます。ZFS ファイルから ACL 情報がドロップされたことを示すエラーメッセージは表示されません。

ZFS/NFSv4 ACL のサポートは開発中で、次の Veritas NetBackup リリースで利用可能になる予定です。

回避方法 1:

Solaris 10 06/06 リリース以降では、tar および cpio の両方のコマンドは NFSv4-style ACL を含む ZFS ファイルを正しく処理します。

tar コマンドに -p オプションを使用して、または cpio コマンドに -P オプションを使用して、ZFS ファイルをファイルに書き込みます。次に、Veritas NetBackup を使用して tar または cpio アーカイブをバックアップします。

回避方法 2:

Veritas NetBackup を使用する代わりに、ZFS send および receive コマンドを使用して ZFS ファイルをバックアップします。これらのコマンドは ZFS ファイルのすべての属性を正しく処理します。

Legato Networker は ZFS/NFSv4 ACL をサポート必要がある (6349974)

現時点では、Sun StorEdge Enterprise Backup Software 製品を使用して ZFS ファイルをバックアップまたは復元することはできません。

ユーザーが ZFS ファイルをバックアップまたは復元しようとすると、次のエラーメッセージが表示されます。


save: Unable to read ACL information for '/path': Operation not applicable

ZFS/NFSv4 ACL のサポートは、次回の Sun StorEdge EBS 7.3 Service Update 1 リリースで利用可能になる予定です。

回避方法:

  1. 別のシステム上で NFSv4 を使用して ZFS ファイルシステムをマウントします。

  2. NFSv4 がマウントされているディレクトリから ZFS ファイルをバックアップまたは復元します。

ZFS GUI は、各ウィザードの起動時に /usr/lib/embedded_su をチェックする必要がある (6326334)

embedded_su パッチのない Solaris 10 6/06 より前のリリースを実行するシステムに Solaris 10 6/06 リリースの SUNWzfsg パッケージを追加する場合、ZFS 管理アプリケーションウィザードは十分に機能しません。

embedded_su パッチのないシステム上で ZFS 管理アプリケーションを実行しようとすると、ZFS 構成を参照することしかできません。次のエラーメッセージが表示されます。


/usr/lib/embedded_su: not found

回避方法:

embedded_su パッチ (119574-02) を、Solaris 10 6/06 より前のリリースを実行するシステムに追加します。

du が報告する RAID-Z に関する情報が間違っている (6288488)

RAID-Z 仮想デバイスに対して、次のコマンドは誇張された「使用済みスペース」および「空きスペース」のサイズ情報を報告します。

報告されるスペース情報にはパリティーデータの格納に使用されるスペースが含まれます。

パニック時にファイルシステムの同期に失敗する (6250422)

ターゲットに対して発生する (Solaris iSCSI ソフトウェアイニシエータを使用して接続される) ファイルシステムの入出力によってホストがパニック状態に陥った場合、入出力はターゲットデバイスのフラッシュまたはターゲットデバイスへの同期を実行できないことがあります。このフラッシュまたは同期の不能によってファイルシステムが破壊される場合があります。エラーメッセージは表示されません。

回避方法:

UFS などのジャーナリングファイルシステムを使用します。Solaris 10 以降では、UFS ロギングはデフォルトで使用可能になっています。UFS の詳細については、『Solaris のシステム管理 (デバイスとファイルシステム)』「Solaris 10 リリースにおける新しいファイルシステム機能」 を参照してください。

中断された scrub または resilver をやり直す必要がないような処理順序が必要 (2136811)

データの scrub または resilver 操作の進行中に ZFS スナップショットが作成された場合、scrub または resilver 操作は最初から再開されます。スナップショットが頻繁に取得された場合、scrub または resilver 操作は完了しない可能性があります。

回避方法:

scrub または resilver 操作の実行中にスナップショットを取得しないでください。

一部の Solaris Express または Solaris 10 リリースからのアップグレードにはファイルシステムの再マウントが必要

NFSv4 サーバーをSolaris Express 6/05 から 7/05 以降にアップグレード (すべてのSolaris 10 アップデートを含む) したあと、プログラムによってEACCES エラーが検出されることがあります。さらに、ディレクトリが間違って空になっているように見えることもあります。

これらのエラーを回避するには、クライアントのファイルシステムをいったんマウント解除してから再マウントします。マウント解除がうまくいかない場合は、umount -f を使用して強制的にファイルシステムをマウント解除する必要があります。あるいは、クライアントをリブートしてもかまいません。

NFSv4 アクセス制御リストの関数が正しく動作しないことがある

ネットワーク上のクライアントとサーバーが、異なる以前の Solaris 10 リリースでインストールされている場合、NFSv4 アクセス制御リスト (ACL) の関数が正しく動作しないことがあります。対象となる ACL 関数とその関数を使用するコマンド行ユーティリティーは次のとおりです。

これらの関数とユーティリティーについては、それぞれのマニュアルページを参照してください。

たとえば、次の構成を含むネットワークではエラーが検出される可能性があります。

次の表に、異なる Solaris 10 リリースがインストールされているクライアントとサーバーの構成における ACL 関数の結果を示します。

操作 

クライアントの S10 OS 

サーバーの S10 OS 

結果 

get ACL 

S10 ベータ版 

S10 OS 

正しくない ACL * が作成されます 

get ACL 

S10 OS 

S10 ベータ版 

正常に機能します 

set ACL 

S10 ベータ版 

S10 OS 

正常に機能します 

set ACL 

S10 OS 

S10 ベータ版 

エラー: EOPNOTSUP 

回避方法: NFSv4 ACL の機能を正しく動作させるには、サーバーとクライアントの両方で Solaris 10 OS の完全なインストールを実行します。

Solaris NFSv4 クライアントと NFSv4 サーバーとの間にアクセスに関する問題がある

現在の Solaris 10 バージョンでは、NFSv4 アクセス制御リスト (ACL) の Solaris 実装は RFC 3530 仕様に準拠しています。しかし、Solaris 10 ベータ版 (Beta 2 または Beta 1) を使用する NFSv4 クライアントではエラーが発生します。これらのクライアントでは、現在の Solaris 10 リリースを使用している NFSv4 サーバー内にファイルを作成することができません。次のエラーメッセージが表示されます。


NFS getacl failed for server_name: error 9 (RPC: Program/version mismatch)

回避方法: ありません。

サイズの大きなディスクの場合に、mkfs コマンドを使用してファイルシステムを作成できないことがある (6352813)

ディスクジオメトリによっては、8G バイトより大きなサイズのディスク上に mkfs コマンドを使用してファイルシステムを作成できないことがあります。生成されるシリンダグループのサイズは、1K バイトのフラグメントを使用するには大きすぎます。シリンダグループのサイズが大きいため、メタデータのサイズが大きくなり、1 ブロックに収めることができません。

次のエラーメッセージが表示されます。


With 15625 sectors per cylinder, minimum cylinders
per group is 16. This requires the fragment size to be
changed from 1024 to 4096.
Please re-run mkfs with corrected parameters.

回避方法: 代わりに、newfs コマンドを使用してください。または、mkfs コマンドを使用するときに、4096 などのより大きなフラグメントサイズを割り当ててください。

小さなスライスにファイルシステムを作成できないことがある (6346510)

次の状況のときに、newfs コマンドを使って UFS ファイルシステムを作成しようとすると、失敗することがあります。

このエラーは、メタデータのために大きなサイズのファイルシステムが必要な場合に発生します。次の警告メッセージが表示されます。


Warning: inode blocks/cyl group (295) >= data blocks (294) in last
     cylinder group. This implies 4712 sector(s) cannot be allocated.
/dev/rdsk/c0t0d0s6:     0 sectors in 0 cylinders of 48 tracks, 128 sectors
         0.0MB in 0 cyl groups (13 c/g, 39.00MB/g, 18624 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
#

回避方法: スーパーユーザーとして、次の回避方法のいずれかを実行します。

ファイルシステムの容量がいっぱいになっている NFSv4 クライアントで、書き込みエラーが検出されない (6346204)

NFSv4 クライアントのファイルシステムの容量がほとんどいっぱいになっている場合に、サーバーから返されるエラーコードが正しく処理されません。クライアントは、正しいエラーコード (NFS4ERR_NOSPC) をサーバーから受け取ります。しかし、このクライアントは、エラーコード (ENOSPC) をアプリケーションに転送することができません。アプリケーションは、write()close()、または fsync() などの通常のシステム関数からエラー通知を受け取りません。このため、アプリケーションでデータの書き込みや変更を続けていくと、データが失われたり破壊したりする可能性があります。

次のエラーメッセージが /var/adm/messages に記録されます。


nfs: [ID 174370 kern.notice] NFS write error on host hostname







:
No space left on device.
nfs: [ID 942943 kern.notice] File: userid=uid, groupid=
gid
nfs: [ID 983240 kern.notice] User: userid=uid, groupid=
gid
nfs: [ID 702911 kern.notice] (file handle: 86007000 2000000 a000000 6000000
32362e48 a000000 2000000 5c8fa257)

回避方法: ファイルシステムの容量がほとんどいっぱいになっているクライアントシステムでは、作業を行わないでください。

1T バイトよりも大きなデバイスでシステムクラッシュダンプが失敗する (6214480)

システムでは、1T バイト以上のパーティションにダンプを生成することができません。システム上にこのようなデバイスがある場合は、システムパニックが発生したあとにシステムをブートすると、次のようなエラーが発生することがあります。

回避方法: システムのダンプデバイスのサイズを 1T バイト未満に設定してください。

smosservice コマンドで OS サービスを追加すると、ディスク容量不足のメッセージが表示される (5073840)

smosservice コマンドを使用して OS サービスを UFS ファイルシステムに追加すると、利用可能なディスク容量が不足しているというメッセージが表示されます。このエラーは、EFI ラベル付きディスクの UFS ファイルシステムでのみ発生します。

回避方法: 次の回避方法を完了してください。

  1. SMI VTOC ディスクラベルを適用します。

  2. ファイルシステムを作成し直します。

  3. smosservice コマンドを再実行します。