Solaris 10 5/09 ご使用にあたって

ファイルシステム

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

ブランドゾーンに対して zoneadm attach が失敗し、マウント操作が無効になる (6800618)

ネイティブ (Solaris 10) ゾーンでの接続操作は成功しますが、ブランドゾーンでの接続操作は失敗します。次のエラーメッセージが表示されます。


zone mount operation is invalid for branded zones.
Cannot generate the information needed to attach this zone.

回避方法: ネイティブでないブランドゾーンに対しては、attach -F コマンドを使用します。この手順の詳細は、『『Solaris のシステム管理 (Solaris コンテナ : 資源管理と Solaris ゾーン)』』を参照してください。

ミラー化された ZFS ルートプール内の主ディスクをオフラインにする

ミラー化された ZFS ルート構成では、主ディスクをオフラインにしないでください。ミラー化されたルートプール構成では、オフラインになっているディスクからシステムはブートしません。

回避方法: 置換用のミラー化ルートディスクを切り離すか、それをオフラインにするには、プール内の別のミラー化ディスクからブートします。次のいずれかの方法を選択します。

対象のファイルシステムが ZFS であり、ロケールが日本語 EUC の場合、lucreate が失敗する (6750725)

lucreate コマンドを使って ZFS ルートファイルシステムを作成しており、かつ LOCALE が英語以外のロケールに設定されていると、ZFS ダンプボリュームの作成が失敗します。次のエラーメッセージが表示されます。


ERROR: Unable to determine dump device for boot environment <{c1t1d0s0}>.
ERROR: Unable to create all required file systems for boot environment <zfsUp6>.
ERROR: Cannot make file systems for boot environment <zfsUp6>.

回避方法: 次のいずれかを選択してください。

UFS から ZFS に変換したあとで boot -L が動作しない (6741743)

Solaris Live Upgrade を使用して UFS ルートファイルシステムを ZFS に変換すると、bootlst コマンドが正しい場所にコピーされません。このエラーにより、boot -L コマンドが動作しなくなります。次のエラーメッセージが表示されます。


Evaluating: boot -L
The file just loaded does not appear to be executable.
Boot device: /pci@1f,0/pci@1/scsi@8/disk@1,0:a  File and args: 

Can't mount root

Error in Fcode execution !!!
Evaluating: boot
The file just loaded does not appear to be executable.

回避方法: bootlst コマンドを /platform/`uname -m`/bootlst から /root pool/platform/`uname -m`/bootlst にコピーします。たとえば、ルートプールが rpool の場合は、次のコマンドを入力します。


# cp -p /platform/`uname -m`/bootlst /rpool/platform/`uname -m`/bootlst

x86: reboot コマンドを使用して 32 ビットカーネルをブートできない (6741682)

次のコマンドを使用してシステムを 32 ビットモードでブートすると、正しく書式設定された GRUB メニューエントリを bootadm コマンドで作成できません。

その結果、システムは 64 ビットモードでブートします。不正な menu.lst ファイルが次のように表示されることがあります。


findroot rootfs0
kernel /platform/i86pc/kernel/unix
module /platform/i86pc/boot_archive

前の例では、カーネル行にマルチブート情報が含まれていないため、正しくありません。エラーメッセージは表示されません。

回避方法: /boot/grub/menu.lst ファイルを手動で編集して、次の情報を追加します。


title Solaris 10 10/08
findroot rootfs0
kernel /platform/i86pc/multiboot kernel/unix
module /platform/i86pc/boot_archive

これらの変更を行なったあとで、システムを 32 ビットモードでブートします。


注 –

menu.lst ファイルに加えた変更は、システムをリブートしても持続します。


別の方法として、次の例に示すように、ブート時に GRUB メニューを編集して、kernel/unix ブート引数を追加することもできます。


grub edit> kernel /platform/i86pc/multiboot kernel/unix

注 –

ブート時に GRUB メニューを編集して加えた変更は、システムをリブートすると無効になります。


詳細については、『Solaris のシステム管理 (基本編)』「x86 システムのブート動作を変更する」を参照してください。

zpool attach によって不正なルートプールが作成されることがある (6740164)

デバイスをルートプールに接続してミラー化ルートプールを作成するときに、ディスク全体がプールに追加されていると、zpool attach によって不正なルートプールが作成されることがあります。ZFS ルートプールは、ディスク全体ではなくディスクスライスを使って作成する必要があります。ミラー化ルートプールに追加されたディスク全体からブートしようとすると、システムはブートしません。

回避方法: 次の手順を実行します。

  1. ディスクをプールから切り離します。次に例を示します。


    # zpool detach rpool c0t2d0
  2. ディスクラベルを VTOC (SMI) ラベルに変更します。次に例を示します。


    # format -e
    .
    .
    .
    Select disk c0t2d0
    format> label
    [0] SMI Label
    [1] EFI Label
    Specify Label type[0]:0
    Ready to label disk, continue? yes
    format> quit
  3. ディスクスライスをプールに戻して追加し、ミラー化ルートプールを作成します。次に例を示します。


    # zpool attach rpool c0t2d0s0

zpool attach コマンドによって bootblock 情報がコピーされない (6668666)」も参照してください。

SPARC: Solaris Live Upgrade によって menu.lst ファイルが作成されない (6696226)

SPARC プラットフォームでは、menu.lst ファイルをルートプールのデータセット内に作成する必要があります。エラーメッセージは表示されません。

回避方法: menu.lst ファイルを手動で作成します。たとえば、2 つの ZFS ブート環境 zfs1008BE および zfs10082BE が ZFS ルートプール rpool に存在する場合は、次のコマンドを入力します。


# mkdir -p /rpool/boot
# cd /rpool/boot
# vi menu.lst

次のエントリを menu.lst ファイルに追加します。


title zfs1008BE
bootfs rpool/ROOT/zfs1008BE
title zfs10082BE
bootfs rpool/ROOT/zfs10082BE

zpool attach コマンドによって bootblock 情報がコピーされない (6668666)

zpool attach コマンドを使用してディスクを ZFS ルートプールに追加すると、新たに追加したディスクに bootblock 情報がコピーされません。この問題は、初期インストールで作成される、ミラー化された ZFS ルートプールには影響しません。システムは、ミラー化ルートプール内の代替ディスクからブートしません。

回避方法: 次のいずれかを選択してください。

x86: ブート中に ata がタイムアウトになる (6586621)

Intel マルチプロセッサシステムでのシステムのブート中に ata ドライバがタイムアウトになることがあります。これらのタイムアウトは、HBA コントローラが従来の ata ドライバにバインドされたドライブ上に、ルートデバイスが置かれている場合に発生します。これらのタイムアウトにより、システムのブート中に一時ハングアップ、深刻なハングアップ、またはパニック状態が発生して、次のようなコンソールメッセージが表示されます。


scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: reset bus, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: early timeout, target=0 lun=0
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):
        Error for command 'read sector'   Error Level: Informational
gda: [ID 107833 kern.notice]           Sense Key: aborted command
gda: [ID 107833 kern.notice]           Vendor 'Gen-ATA ' error code: 0x3
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):
        Error for command 'read sector'   Error Level: Informational
gda: [ID 107833 kern.notice]           Sense Key: aborted command
gda: [ID 107833 kern.notice]           Vendor 'Gen-ATA ' error code: 0x3
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: abort request, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: abort device, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: reset target, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: reset bus, target=0 lun=0
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0):
        timeout: early timeout, target=0 lun=0
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):
        Error for command 'read sector'   Error Level: Informational
gda: [ID 107833 kern.notice]           Sense Key: aborted command
gda: [ID 107833 kern.notice]           Vendor 'Gen-ATA ' error code: 0x3
gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0):

回避方法: 次のいずれかを選択してください。


注 –

パフォーマンスの低下を防ぐためには、回避方法 5 が使用できるようになるまで、回避方法 3 または回避方法 4を一時的にのみ使用するようにしてください。


ファイルシステムがビジー状態のときに zfs snapshot -r が失敗する (6462803)

この問題は、ファイルシステムがマウントされていないときの同期 I/O 処理に関する問題のために発生します。ZFS ルートプール内に複数の ZFS BE が存在する場合、再帰的なスナップショットが失敗することがあります。


cannot create snapshot 'rpool@today': dataset is busy

回避方法: 次のいずれかを選択してください。

ZFS legacy マウントで zoneadm install が失敗する (6449301)

`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 ファイルシステムへのアクセスを追加します。

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

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

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

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

関連する CR:

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

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

回避方法:

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

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

Brightstor ARCserve Backup 製品に関する問題は次のとおりです。

UNIX (Solaris) 版 BrightStor ARCserve Backup クライアントエージェントと ZFS サポート

UNIX (Solaris) 版 BrightStor ARCserve Backup (BAB) クライアントエージェントを使用して、ZFS ファイルのバックアップと復元を行うことができます。

ただし、ZFS の NFSv4 スタイル ACL はバックアップ時に維持されません。従来の UNIX ファイルのアクセス権と属性は維持されます。

回避方法: NFSv4 スタイル ACL を使用している ZFS ファイルを維持するには、tar コマンドに -p オプションを指定するか cpio コマンドに -P オプションを指定して、ZFS ファイルを 1 つのファイルに書き込みます。その後、この tar アーカイブまたは cpio アーカイブを BAB でバックアップします。

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

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

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


/usr/lib/embedded_su: not found

回避方法:

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

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

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

回避方法:

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

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

NFSv4 サーバーを Solaris Express 6/05 から Solaris Express 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 などのより大きなフラグメントサイズを割り当ててください。

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

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

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