Solaris 10 リリースのファイルシステムに関するバグ情報について説明します。
zpool add コマンドを使用すると、同一のデバイスが誤って追加され、データが破壊されることがあります。エラーメッセージは表示されません。
回避方法: 同一のデバイスを含む ZFS ストレージプールが作成された場合は、ストレージプールを削除してから作成し直してください。
`add fs サブコマンドで ZFS ファイルシステムをマウントするように非大域ゾーンを最初に構成して mountpoint=legacy を指定すると、そのあとでゾーンのインストールを行うときに失敗します。次のエラーメッセージが表示されます。
ERROR: No such file or directory: cannot mount </zones/path/root/usr/local> in non-global zone to install: the source block device or directory </path/local> cannot be accessed |
回避方法: 非大域ゾーンをインストールしてから、ZFS ファイルシステムへのアクセスを追加します。
大量のデータに対して zpool scrub または resilver 操作を行うと、システムのハングアップやパニックが発生することがあります。エラーメッセージは表示されません。
回避方法: システムのハングアップやパニックが発生した場合は、次の手順を実行してください。
システムをリブートします。
resilver 操作または scrub 操作を続行します。
resilver 操作または scrub 操作が完了するまでは、システムにほかの負荷を与えないでください。
ZFS は POSIX 準拠のファイルシステムとして設計されており、ほとんどの場合、ZFS は POSIX に準拠しています。ただし、次の 2 つの極端な状況では、ZFS は POSIX 準拠テストに適合しません。
ZFS ファイルシステム容量統計の更新。
100 パーセント満杯のファイルシステムによる既存のデータの変更。
関連する CR:
6362314
6362156
6361650
6343113
6343039
ZFS パッチを Solaris 10 11/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 コマンドから表示される誤ったメッセージを無視します。
fdisk -E コマンドを使用して ZFS ストレージプールによって使用されているディスクを変更する場合、そのプールは使用不可になり、入出力エラーまたはシステムパニックを引き起こすことがあります。
回避方法:
ZFS ストレージプールによって使用されているディスクの変更に fdisk コマンドを使用しないでください。ZFS ストレージプールによって使用されているディスクにアクセスする必要がある場合は、format ユーティリティーを使用してください。一般に、ファイルシステムが使用中のディスクを変更するべきではありません。
Veritas NetBackup 製品および Brightstor ARCserve Backup 製品に関する問題は次のとおりです。
Veritas NetBackup 製品は、ZFS ファイルのバックアップに使用でき、この構成はサポートされています。ただし、この製品は ZFS ファイルからの NFSv4 スタイル ACL 情報のバックアップまたは復元を現在サポートしていません。従来のアクセス権ビットおよびその他のファイル属性は正しくバックアップおよび復元されます。
ユーザーが ZFS ファイルをバックアップまたは復元しようとすると、ZFS ファイルの NFSv4 スタイル ACL 情報はそのままドロップされます。ZFS ファイルから ACL 情報がドロップされたことを示すエラーメッセージは表示されません。
ZFS/NFSv4 ACL のサポートは開発中で、次の Veritas NetBackup リリースで利用可能になる予定です。
回避方法 1:
Solaris 10 11/06 リリース以降では、tar および cpio の両方のコマンドは NFSv4 スタイル ACL を含む ZFS ファイルを正しく処理します。
tar コマンドに -p オプションを使用して、または cpio コマンドに -P オプションを使用して、ZFS ファイルをファイルに書き込みます。次に、Veritas NetBackup を使用して tar または cpio アーカイブをバックアップします。
回避方法 2:
Veritas NetBackup を使用する代わりに、ZFS send および receive コマンドを使用して ZFS ファイルをバックアップします。これらのコマンドは ZFS ファイルのすべての属性を正しく処理します。
UNIX (Solaris) 版 BrightStor ARCserve Backup (BAB) クライアントエージェントを使用して、ZFS ファイルのバックアップと復元を行うことができます。
ただし、ZFS の NFSv4 スタイル ACL はバックアップ時に維持されません。従来の UNIX ファイルのアクセス権と属性は維持されます。
回避方法: NFSv4 スタイル ACL を使用している ZFS ファイルを維持するには、tar コマンドに -p オプションを指定するか cpio コマンドに -P オプションを指定して、ZFS ファイルを 1 つのファイルに書き込みます。その後、この tar アーカイブまたは cpio アーカイブを BAB でバックアップします。
embedded_su パッチのない Solaris 10 6/06 より前のリリースを実行するシステムに Solaris 10 11/06 リリースの SUNWzfsg パッケージを追加する場合、ZFS 管理アプリケーションウィザードは十分に機能しません。
embedded_su パッチのないシステム上で ZFS 管理アプリケーションを実行しようとすると、ZFS 構成を参照することしかできません。次のエラーメッセージが表示されます。
/usr/lib/embedded_su: not found |
回避方法:
embedded_su パッチ (119574-02) を、Solaris 10 6/06 より前のリリースを実行するシステムに追加します。
ターゲットに対して発生する (Solaris iSCSI ソフトウェアイニシエータを使用して接続される) ファイルシステムの入出力によってホストがパニック状態に陥った場合、入出力はターゲットデバイスのフラッシュまたはターゲットデバイスへの同期を実行できないことがあります。このフラッシュまたは同期の不能によってファイルシステムが破壊される場合があります。エラーメッセージは表示されません。
回避方法:
UFS などのジャーナリングファイルシステムを使用します。Solaris 10 以降では、UFS ロギングはデフォルトで使用可能になっています。UFS の詳細については、『Solaris のシステム管理 (デバイスとファイルシステム)』の「Solaris 10 リリースにおける新しいファイルシステム機能」 を参照してください。
データの scrub または resilver 操作の進行中に ZFS スナップショットが作成された場合、scrub または resilver 操作は最初から再開されます。スナップショットが頻繁に取得された場合、scrub または resilver 操作は完了しない可能性があります。
回避方法:
scrub または resilver 操作の実行中にスナップショットを取得しないでください。
NFSv4 サーバーをSolaris Express 6/05 から 7/05 以降にアップグレード (すべてのSolaris 10 アップデートを含む) したあと、プログラムによってEACCES エラーが検出されることがあります。さらに、ディレクトリが間違って空になっているように見えることもあります。
これらのエラーを回避するには、クライアントのファイルシステムをいったんマウント解除してから再マウントします。マウント解除がうまくいかない場合は、umount -f を使用して強制的にファイルシステムをマウント解除する必要があります。あるいは、クライアントをリブートしてもかまいません。
ネットワーク上のクライアントとサーバーが、異なる以前の Solaris 10 リリースでインストールされている場合、NFSv4 アクセス制御リスト (ACL) の関数が正しく動作しないことがあります。対象となる ACL 関数とその関数を使用するコマンド行ユーティリティーは次のとおりです。
acl()
facl()
getfacl
setfacl
これらの関数とユーティリティーについては、それぞれのマニュアルページを参照してください。
たとえば、次の構成を含むネットワークではエラーが検出される可能性があります。
Solaris 10 ベータ版ソフトウェアが稼働しているクライアント
Solaris 10 ソフトウェアが稼働しているサーバー
次の表に、異なる 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 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) |
回避方法: ありません。
ディスクジオメトリによっては、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 などのより大きなフラグメントサイズを割り当ててください。
次の状況のときに、newfs コマンドを使って UFS ファイルシステムを作成しようとすると、失敗することがあります。
スライスのサイズが小さい (約 4M バイト未満)。
ディスクのサイズが 8G バイトを超えている。
このエラーは、メタデータのために大きなサイズのファイルシステムが必要な場合に発生します。次の警告メッセージが表示されます。
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: # |
回避方法: スーパーユーザーとして、次の回避方法のいずれかを実行します。
回避方法 1: newfs コマンドを使用するときに、トラック数を指定します。次の手順を実行します。
format コマンドを使用して、割り当てるトラック数を調べます。次に例を示します。
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248> /pci@1f,4000/scsi@3/sd@0,0 Specify disk (enter its number): |
この例では、トラック数は 19 です。
newfs コマンドを使ってファイルシステムを作成するときに、この数を割り当てます。次に例を示します。
# newfs -v -t 19 /dev/dsk/c0t0d0s6 newfs: construct a new file system /dev/rdsk/c0t0d0s6: (y/n)? y mkfs -F ufs /dev/rdsk/c0t0d0s6 4712 -1 19 8192 1024 16 10 167 2048 t 0 -1 8 128 n mkfs: bad value for nsect: -1 must be between 1 and 32768 mkfs: nsect reset to default 32 Warning: 152 sector(s) in last cylinder unallocated /dev/rdsk/c0t0d0s6: 4712 sectors in 8 cylinders of 19 tracks, 32 sectors 2.3MB in 1 cyl groups (16 c/g, 4.75MB/g, 2304 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, # |
回避方法 2: newfs コマンドに i ノード当たりのバイト数 (nbpi) を指定して、ファイルシステムの i ノード密度を小さくします。次に例を示します。
# newfs -i 4096 /dev/dsk/c0t0d0s6 newfs: construct a new file system /dev/rdsk/c0t0d0s6: (y/n)? y Warning: 1432 sector(s) in last cylinder unallocated /dev/rdsk/c0t0d0s6: 4712 sectors in 1 cylinders of 48 tracks, 128 sectors 2.3MB in 1 cyl groups (16 c/g, 48.00MB/g, 11648 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, # |
システムでは、1T バイト以上のパーティションにダンプを生成することができません。システム上にこのようなデバイスがある場合は、システムパニックが発生したあとにシステムをブートすると、次のようなエラーが発生することがあります。
システムがダンプを保存しない。
次のメッセージが表示されます。
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
回避方法: システムのダンプデバイスのサイズを 1T バイト未満に設定してください。
smosservice コマンドを使用して OS サービスを UFS ファイルシステムに追加すると、利用可能なディスク容量が不足しているというメッセージが表示されます。このエラーは、EFI ラベル付きディスクの UFS ファイルシステムでのみ発生します。
回避方法: 次の回避方法を完了してください。
SMI VTOC ディスクラベルを適用します。
ファイルシステムを作成し直します。
smosservice コマンドを再実行します。