このセクションでは、Sun Ray クライアントに接続されている USB 外部ストレージデバイスの管理方法について説明します。
外部ストレージデバイスには「ブロック」と「raw」の 2 種類のデバイスノードがあり、それらはクライアントの dev
ディレクトリに作成されます。ブロックデバイスへのリンクはクライアントの dev/dsk
ディレクトリに作成され、raw デバイスへのリンクは dev/rdsk
ディレクトリに作成されます。
デバイスリンクには、そのスライス番号を表す接尾辞があります。スライス s2
はバックアップスライスとも呼ばれ、ディスクそのものを意味します。その他のスライスには、ディスク上のファイルシステムに従って番号が付けられます。UFS ディスクの場合、スライス番号はディスクラベルから派生します。FAT ディスクの場合、スライス (この場合はパーティション) は s0
を起点として番号が付けられます。format または eject などのディスク処理は、スライス s2
で行われます。mount または fstyp などのパーティション処理は、関係する個別のスライスで行われます。例については、「外部ストレージデバイスとアイドルセッション」を参照してください。
外部ストレージデバイスのノードはブロック型特殊ノードです。これらは dev/dsk
ディレクトリに作成されます。外部ストレージデバイスの場合、devices ディレクトリにデバイスノードが作成されず、デバイスリンクも作成されません。
デバイスノードの名前にはパーティション識別子の接尾辞が付けられます。ディスク全体を表すデバイスノードにはそのような接尾辞はありません。たとえば:
disk3p2
はディスク 3 のパーティション 2 を表します。
disk3
はディスク全体を表します。
取り出しなどのディスク操作は、ディスク全体で行われる必要があります。マウントなどのパーティション操作は、個々のパーティションで行われる必要があります。例は、表15.2「一般的なディスク操作用コマンド (Oracle Linux)」を参照してください。
外部ストレージデバイスがクライアントに接続されており、OS で認識可能なファイルシステムがある場合、ユーザーのマウント親ディレクトリの下のディレクトリに自動的にマウントされます。マウント親ディレクトリは $DTDEVROOT/mnt/
にあります。utdiskadm コマンドの -l
オプションを使用しても、マウントポイントを調べられます。
% utdiskadm -l
ユーザーのセッションがクライアントから切断されると、外部ストレージデバイスへのアクセス権が失われ、そのデバイスに対する保留中のすべての入出力が終了します。これが原因で、デバイス上のデータが破損する可能性があります。クライアントからディスクをホットデスク処理または切断する前に、utdiskadm -r を使用してすべてのファイルシステムを安全にマウント解除してください。また、マウントポイント内のすべてのファイルおよびディレクトリへの参照を閉じて、デバイスがビジー状態でないことを確認してください。
リモートホットデスク認証 (Remote Hotdesk Authentication、RHA)、非スマートカードモビリティー (Non-Smart Card Mobility、NSCM)、またはスマートカードベースの認証を使用している場合、Sun Ray クライアント上で外部ストレージデバイスを使用すると長時間の入出力操作が失敗する場合があります。
キーボードとマウスが長時間使用されなかったために画面がロックされ、これらのタイプのセッションがアイドル状態になった場合、セッションは切り離されます。ユーザーはストレージデバイスにアクセスできなくなり、実行中のすべての入出力が停止することにより、データが破損することがあります。
このような状況を防ぐため、次のオプションが使用できます。
キーボードとマウスの動作を維持する
画面ロックまでのアイドル時間を長くし、入出力操作が完了できるようにする
画面ロックのプログラムを無効にする
NSCM ポリシーまたは RHA ポリシーを無効にする
入出力操作をよりセキュアに実行するための別の方法を探す (たとえばロックされたサーバー室でデバイスを Sun Ray サーバーに直接接続する)
これらのオプションのうちいくつかは、セキュリティーと利便性の問題を含んでいるので、タイムアウトの問題とあわせてよく検討し、使用するサイトに最適の方法を決めてください。
表15.1「一般的なディスク操作用コマンド (Oracle Solaris)」 は、一般的なディスク操作と、それを実行するために使用するコマンドのサマリーを示しています。各コマンドについての詳細は、Oracle Solaris のドキュメントおよびマニュアルページを参照してください。
表15.1 一般的なディスク操作用コマンド (Oracle Solaris)
操作 | コマンド | デバイス名引数の例 (SPARC) | デバイス名引数の例 (x86) |
---|---|---|---|
フォーマット | rmformat |
ホールディスクのパス |
ホールディスクのパス |
ファイルシステムの作成 | mkfs |
パーティションのパス |
パーティションのパス |
UFS ファイルシステムの作成 | newfs |
スライスのパス |
スライスのパス |
マウント | utdiskadm -m |
パーティション名 |
パーティション名 |
マウント解除 | utdiskadm -u |
マウントポイント |
マウントポイント |
取り外しの準備 | utdiskadm -r |
デバイスエイリアス |
デバイスエイリアス |
メディアの取り出し | utdiskadm -e |
デバイスエイリアス |
デバイスエイリアス |
メディアのチェック | utdiskadm -c |
デバイスエイリアス |
デバイスエイリアス |
| fdisk |
ホールディスクのパス |
ホールディスクのパス |
ファイルシステムの修復 | fsck |
raw スライスのパス |
raw パーティションのパス |
ファイルシステム容量の表示 | df -k |
マウントポイント |
マウントポイント |
スライス容量の表示 | prtvtoc |
バックアップスライスのパス |
バックアップスライスのパス |
デバイスの一覧表示 | utdiskadm -l | なし | なし |
表15.2「一般的なディスク操作用コマンド (Oracle Linux)」 は、一般的なディスク操作と、それを実行するために使用するコマンドのサマリーを示しています。
表15.2 一般的なディスク操作用コマンド (Oracle Linux)
操作 | コマンド | デバイス名の引数の例 |
---|---|---|
ファイルシステムの作成 | mkfs |
パーティションのパス |
マウント | utdiskadm -m |
パーティション名 |
マウント解除 | utdiskadm -u |
マウントポイント |
取り外しの準備 | utdiskadm -r |
デバイスエイリアス |
メディアの取り出し | utdiskadm -e |
デバイスエイリアス |
メディアのチェック | utdiskadm -c |
デバイスエイリアス |
| fdisk |
ホールディスクのパス |
ファイルシステムの修復 | fsck |
パーティションのパス |
ファイルシステム容量の表示 | df -k |
マウントポイント |
デバイスの一覧表示 | utdiskadm -l | なし |
Oracle Linux の場合、ディスクへのデータの書き込みは即座に行われません。外部ストレージデバイスを切断する前に utdiskadm -r を実行しなかった場合、データが損失したりマウントポイントが無効になったりすることがあります。外部ストレージデバイスを切断する前に、必ず utdiskadm -r を実行してください。
% /opt/SUNWut/bin/utdiskadm -r device_name
このセクションでは、外部ストレージに対するトラブルシューティングについて説明します。
ログファイル /var/opt/SUNWut/log/utstoraged.log
を調べて、デバイスノードが作成されなかった理由に関するメッセージを確認してください。一部の外部ストレージデバイスタイプは、サポートされていません。
ログファイル /var/opt/SUNWut/log/utmountd.log
で、エラーメッセージを確認してください。
この状態は、Sun Ray オペレーティングシステムが、ストレージデバイスのファイルシステムを認識できない場合に発生します。
この状態は、ストレージデバイスが取り外されたり、ユーザーセッションが切断されたときに、ユーザーのオープン参照がマウントポイントに残っている場合に発生します。このマウントポイントは無効なマウントポイントとして、システムがリブートされるか、管理者が削除するまで残ります。
次の手順を使用して、無効なマウントポイントを検索して削除してください。
無効なマウントポイントを検索します。
# utdiskadm -s
無効なマウントポイントごとに、マウントポイントへのすべての参照を閉じます。
無効なマウントポイントごとに、マウントポイントを参照しているすべてのプロセスを終了します。
マウントポイントを削除します。
# umount stale_mount_path