ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 の管理: デバイスとファイルシステム Oracle Solaris 11.1 Information Library (日本語) |
6. InfiniBand デバイスの使用 (概要/タスク)
11. COMSTAR を使用したストレージデバイスの構成 (タスク)
12. Oracle Solaris Internet Storage Name Service (iSNS) の構成と管理
以降のセクションでは、Oracle Solaris でデバイスを管理する機能の概要を説明します。
デバイスへのアクセスに関する情報については、「デバイスへのアクセス」を参照してください。
デバイス検出ツールを使用すると、使用している x86 ハードウェアがこの Oracle Solaris リリースでサポートされているかどうかを確認できます。詳細は、http://www.oracle.com/webfolder/technetwork/hcl/hcts/device_detect.jspを参照してください。
コンピュータは通常、広範囲の周辺デバイスと大容量ストレージデバイスを使用します。たとえば、各システムには、ディスクドライブ、キーボードとマウス、何らかの DVD ライターなどがあります。
これ以外に一般に使用されるデバイスには、次のようなものがあります。
DVD ドライブ
プリンタとプロッタ
ライトペン
タッチセンサー式画面
デジタイザー
タブレットとスタイラスのペア
Oracle Solaris ソフトウェアは、これらのすべてのデバイスと直接には通信を行いません。各タイプのデバイスに異なるデータ形式、プロトコル、および転送速度が必要になります。
デバイスドライバは、オペレーティングシステムが特定のハードウェアと通信できるようにする低レベルのプログラムです。このドライバは、そのハードウェアに対するオペレーティングシステムの「インタプリタ」として機能します。
Oracle Solaris 11 リリースでは、ドライバのカスタマイズは以前のリリースの /kernel ディレクトリではなく、/etc/driver/drv ディレクトリで行われます。この改善により、システムをアップグレードしてもドライバのカスタマイズが上書きされることがなくなります。/etc/driver/drv ディレクトリ内のファイルは、アップグレード時に保持されます。
通常、ドライバ構成をカスタマイズすると、デバイスごとのパラメータまたはすべてのデバイスに影響を及ぼすグローバルプロパティーが追加または変更されます。
# cp /kernel/drv/sd.conf /etc/driver/drv/sd.conf
たとえば、sd.conf には、ターゲット 0、LUN 0 の sd デバイス用の次のエントリが含まれます。
name="sd" class="scsi" target=0 lun=0;
このデバイス用の retries パラメータを追加するには、既存のエントリを次のように変更します。
name="sd" class="scsi" target=0 lun=0 retries=4;
# prtconf -vu sd, instance #1 Admin properties: name='retries' type=int items=1 value=00000004
カーネルは、プラットフォーム固有のコンポーネントを備えた汎用コアと、一連のモジュールから成ります。カーネルは Oracle Solaris リリースで自動的に構成されます。
カーネルモジュールとは、システムで固有のタスクを実行するために使用されるソフトウェアのコンポーネントのことです。「ロード可能」なカーネルモジュールの例としては、デバイスのアクセス時にロードされるデバイスドライバがあげられます。
カーネルモジュールについては、次の表で説明します。
表 3-2 Solaris カーネルモジュール
|
システムは、ブート時にどのデバイスが接続されるかを判断します。さらに、カーネルは、それ自体を動的に構成して、必要なモジュールだけをメモリーにロードします。ディスクデバイスやテープデバイスなどのデバイスがはじめてアクセスされると、対応するデバイスドライバがロードされます。このプロセスは、「自動構成」と呼ばれます。これは、すべてのカーネルモジュールが、必要に応じて自動的にロードされるためです。
/etc/system ファイルを修正することによって、カーネルモジュールがロードされる方法をカスタマイズできます。このファイルを修正する方法については、system(4) のマニュアルページを参照してください。
自動構成の利点は次のとおりです。
モジュールが必要に応じてロードされるため、主メモリーをより効率的に使用できます。
新しいデバイスがシステムに追加されるときに、カーネルを再構成する必要がありません。
カーネルを再構成しないでドライバをロードし、テストできます。
自動構成プロセスは、新しいデバイス (およびドライバ) をシステムに追加するときに使用されます。以前のリリースでは、シャットダウンしたシステムにデバイスを追加した場合、再ブート (boot-r) が必要でした。デバイス構成の拡張により、シャットダウンしたシステムにデバイスを追加したときに再ブート (boot-r) が不要になります。
Oracle Solaris OS でシステムコンポーネントがホットプラグ機能をサポートする場合、システムが動作しているときにも、デバイスを追加、削除、または交換できます。ホットプラグ対応デバイスについては、第 4 章デバイスの動的構成 (タスク)を参照してください
Oracle Solaris リリースには、各種の標準デバイスをサポートするために必要なデバイスドライバが組み込まれています。これらのドライバは、/kernel/drv および /platform/`uname -m`/kernel/drv ディレクトリにあります。
ただし Solaris で標準にサポートされていないデバイスを購入した場合は、その製造元から、デバイスを正しくインストール、保守、管理するために必要なソフトウェアを提供してもらう必要があります。
そのようなデバイス用ソフトウェアには、少なくともデバイスドライバとその関連構成 (.conf) ファイルが含まれます。.conf ファイルは、drv ディレクトリにもあります。また、サポートされていないデバイスは、Oracle Solaris で提供されるユーティリティーと互換性を持たないので、保守および管理用のユーティリティーが必要になる場合があります。
サポートされていないデバイスに必要な対策については、デバイスのご購入先にお問い合わせください。
次の表に、システムおよびデバイス構成情報を表示するために使用する 3 つのコマンドを説明します。
|
システムのデバイスの識別に使用されるデバイス名については、「デバイス名の命名規則」を参照してください。
次のドライバ関連メッセージが、prtconf コマンドと sysdef コマンドによって表示されることがあります。
device, instance #number (driver not attached)
このメッセージは、このデバイスのドライバが使用できないことをいつも示すわけではありません。このメッセージは、ノードにデバイスがないか、あるいはデバイスが使用中ではないために、デバイスインスタンスに「現在」接続されているドライバがないことを示します。ドライバは、デバイスがアクセスされると自動的にロードされます。それらのドライバは、デバイスが使用されなくなるとアンロードされます。
次のユーティリティーは、指定されたデバイスが使用されているときを検出します。
dumpadm
format
mkfs と newfs
swap
これらの拡張により、これらのユーティリティーが、次のような使用状況のシナリオを検出する可能性があります。
デバイスが ZFS ストレージプールに含まれている
デバイスがダンプデバイスまたはスワップデバイスである
マウントされたファイルシステムまたはデバイスのエントリが /etc/vfstab ファイルに存在する
たとえば、format ユーティリティーを使用してアクティブデバイスにアクセスしようとすると、次のようなメッセージが表示されます。
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c1t0d0 <FUJITSU-MAY2073RCSUN72G-0401 cyl 8921 alt 2 hd 255 sec 63> /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@0,0 /dev/chassis/SYS/HD0/disk 1. c1t1d0 <FUJITSU-MAY2073RCSUN72G-0401-68.37GB> /pci@0,0/pci1022,7450@2/pci1000,3060@3/sd@1,0 /dev/chassis/SYS/HD1/disk Specify disk (enter its number): 0 selecting c1t0d0 [disk formatted] /dev/dsk/c1t0d0s0 is part of active ZFS pool rpool. Please see zpool(1M). FORMAT MENU: . . .
prtconf および sysdef コマンドの出力から、システムに接続されているディスク、テープ、および DVD デバイスを識別できます。デバイスインスタンスの出力の横に driver not attached メッセージが表示されます。これらのデバイスは、何らかのシステムプロセスによって常にモニターされているため、「driver not attached」メッセージは通常、そのデバイスインスタンスにデバイスがないことを示す良い標識になります。
疑似デバイス、ロード可能なモジュール、および指定のカーネルパラメータを含むシステム構成情報を表示するには、sysdef コマンドを使用してください。
たとえば、SPARC システムに対する次の prtconf -v の出力は、システムに接続されているディスクデバイスを識別しています。ディスクの詳細情報は、Device Minor Nodes セクションに記述されます。
$ /usr/sbin/prtconf -v | more Memory size: 32640 Megabytes System Peripherals (Software Nodes): SUNW,SPARC-Enterprise-T5220 . . . location: /dev/chassis/SUN-Storage-J4400.0918QAKA24/SCSI_Device__2/disk Device Minor Nodes: dev=(27,40) dev_path=/pci@0/pci@0/pci@8/pci@0/pci@a/LSILogic,sas@0/sd@2,0:a spectype=blk type=minor dev_link=/dev/dsk/c4t2d0s0 dev_path=/pci@0/pci@0/pci@8/pci@0/pci@a/LSILogic,sas@0/sd@2,0:a,raw spectype=chr type=minor dev_link=/dev/rdsk/c4t2d0s0 Device Minor Layered Under: mod=zfs accesstype=blk dev_path=/pseudo/zfs@0 Minor properties: name='Nblocks' type=int64 items=1 dev=(27,40) value=0000000074702c8f name='Size' type=int64 items=1 dev=(27,40) value=000000e8e0591e00 . . .
たとえば、SPARC システムに対する次の prtconf の出力は、/dev/dsk/c4t2d0s0 の sd インスタンス番号を示しています。
# prtconf -v /dev/dsk/c4t2d0s0 | grep instance sd, instance #5
# prtconf | grep -v not
たとえば、次の fuser コマンドは、どのプロセスが /dev/console デバイスにアクセスしているかを示しています。
# fuser -d /dev/console /dev/console: 5742o 2269o 20322o 858o
例 3-1 システム構成情報の表示
x86 ベースのシステムでは、次の prtconf 出力が表示されます。
# prtconf System Configuration: Oracle Corporation i86pc Memory size: 8192 Megabytes System Peripherals (Software Nodes): i86pc scsi_vhci, instance #0 pci, instance #0 pci108e,4843, instance #0 pci8086,25e2, instance #0 pci8086,3500, instance #7 pci8086,3510, instance #9 pci8086,3518, instance #10 pci108e,4843, instance #0 pci108e,4843, instance #1 pci8086,350c, instance #8 pci8086,25e3 (driver not attached) pci8086,25f8, instance #2 pci108e,286, instance #0 disk, instance #0 disk, instance #2 disk, instance #3 disk, instance #1 pci8086,25e5 (driver not attached) pci8086,25f9 (driver not attached) pci8086,25e7 (driver not attached) pci108e,4843, instance #0 (driver not attached) pci108e,4843, instance #1 pci108e,4843, instance #2 (driver not attached) pci108e,4843 (driver not attached) pci108e,4843 (driver not attached) pci108e,4843 (driver not attached) pci108e,4843 (driver not attached) pci8086,2690, instance #6 pci108e,125e, instance #2 pci108e,125e, instance #3 pci108e,4843, instance #0 pci108e,4843, instance #1 device, instance #0 keyboard, instance #0 mouse, instance #1 pci108e,4843, instance #2 pci108e,4843, instance #3 pci108e,4843, instance #0 storage, instance #0 disk, instance #4 . . .
x86 ベースのシステムからは、次の sysdef 出力が表示されます。
# sysdef * Hostid * 29f10b4d * * i86pc Configuration * * * Devices * +boot (driver not attached) memory (driver not attached) aliases (driver not attached) chosen (driver not attached) i86pc-memory (driver not attached) i86pc-mmu (driver not attached) openprom (driver not attached) options, instance #0 packages (driver not attached) delayed-writes (driver not attached) itu-props (driver not attached) isa, instance #0 motherboard (driver not attached) pnpADP,1542, instance #0 asy, instance #0 asy, instance #1 lp, instance #0 (driver not attached) fdc, instance #0 fd, instance #0 fd, instance #1 (driver not attached) kd (driver not attached) kdmouse (driver not attached) . . .
デバイスのリタイアメントメカニズムでは、障害管理フレームワーク (FMA) により障害のあるデバイスを特定します。この機能では、障害のあるデバイスを安全な方法で自動的に非アクティブにして、データ消失、データ破壊、パニック、システムのダウンタイムなどを回避できます。リタイアメント処理は、デバイスのリタイア後のシステムの安定性を考慮して、安全な方法で実行されます。
重要なデバイスがリタイアされることはありません。リタイア済みのデバイスを手動で交換する必要がある場合は、手動交換の手順に加え、デバイスの交換後に fmadm repair コマンドを使用して、デバイスが交換されたことをシステムに認識させます。
詳細は、fmadm(1M) のマニュアルページを参照してください。
デバイスのリタイアメントに関してユーザーに通知するための一般的なメッセージが、コンソールに表示され、/var/adm/messages ファイルにも書き込まれます。例:
Aug 9 18:14 starbug genunix: [ID 751201 kern.notice] NOTICE: One or more I/O devices have been retired
prtconf コマンドを使用して、特定のリタイア済みデバイスを確認することもできます。例:
# prtconf . . . pci, instance #2 scsi, instance #0 disk (driver not attached) tape (driver not attached) sd, instance #3 sd, instance #0 (retired) scsi, instance #1 (retired) disk (retired) tape (retired) pci, instance #3 network, instance #2 (driver not attached) network, instance #3 (driver not attached) os-io (driver not attached) iscsi, instance #0 pseudo, instance #0 . . .
障害のあるデバイスまたはリタイア済みのデバイスを解決するには、次の手順を使用します。
zpool status または fmadm コマンドを使用して、ZFS デバイスの問題や障害情報を確認することもできます。ZFS デバイスの問題や障害情報については、『Oracle Solaris 11.1 の管理: ZFS ファイルシステム』の第 10 章「Oracle Solaris ZFS のトラブルシューティングとプールの回復」を参照してください。
# fmadm faulty --------------- ------------------------------------ -------------- --------- TIME EVENT-ID MSG-ID SEVERITY --------------- ------------------------------------ -------------- --------- Jun 20 16:30:52 55c82fff-b709-62f5-b66e-b4e1bbe9dcb1 ZFS-8000-LR Major Problem Status : solved Diag Engine : zfs-diagnosis / 1.0 System Manufacturer : unknown Name : ORCL,SPARC-T3-4 Part_Number : unknown Serial_Number : 1120BDRCCD Host_ID : 84a02d28 ---------------------------------------- Suspect 1 of 1 : Fault class : fault.fs.zfs.open_failed Certainty : 100% Affects : zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a Status : faulted and taken out of service FRU Name : "zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a" Status : faulty Description : ZFS device 'id1,sd@n5000c500335dc60f/a' in pool 'pond' failed to open. Response : An attempt will be made to activate a hot spare if available. Impact : Fault tolerance of the pool may be compromised. Action : Use 'fmadm faulty' to provide a more detailed view of this event. Run 'zpool status -lx' for more information. Please refer to the associated reference document at http://support.oracle.com/msg/ZFS-8000-LR for the latest service procedures and policies regarding this diagnosis.
# zpool clear pond c0t5000C500335DC60Fd0
デバイスエラーが断続的に発生するが、デバイスを交換しなかった場合は、前のエラーのクリアを試みることができます。
# fmadm repaired zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ \ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a fmadm: recorded repair to of zfs://pool=86124fa573cad84e/vdev=25d36cd46e0a7f49/ pool_name=pond/vdev_name=id1,sd@n5000c500335dc60f/a
# fmadm faulty
エラーがクリアされると、fmadm faulty コマンドは何も返しません。