過去の投稿

March 2010 の投稿一覧です。
カテゴリー: OSについて
投稿者: shinichi
自宅にファイルサーバーを作成しましたが、それを機に、家に一台しかないプリンター(Canon MP500)をどのマシンからも使う事が出来るようにと、プリンターサーバーの役割も持たせる事にしました。

Windows Server 2008 R2からは64bitのみのOSとなった為、32bit/64bit版ドライバーをCanonのサイトからダウンロードします。
64bit版ドライバーは実行形式となっていたので先にインストールしておきます。
32bit版実行形式ではなく、展開するとiniファイル等がでてくる物でした。

まずはサーバーマネージャーを開いて役割の追加をします。




インストールする役割の選択画面で「印刷とドキュメントサービス」を選択します。




今回は一番上に表示されている「ファイルサーバー」のみを選択します。


インストールする前に確認画面が表示され、<インストール>ボタン押下でインストールが始まります。


『正常にインストールされました』と表示されます。


サーバーマネージャーから印刷とドキュメントサービスの画面へ移動します。下図のようにサーバーマネージャーの役割トップページからリンクを使って進むのでも、「サーバーマネージャー -> 役割 -> 印刷とドキュメントサービス」と進むのでも同じです。


役割をインストールした直後ではプリンターがインストールされていないので、『ネットワークにプリンターを追加し、共有してください』のリンクをクリックして「ネットワークプリンターのインストールウィザード」を開始します。


インストールウィザードではまずはじめにプリンターのインストール方法を選択します。サーバーにUSBで接続しているプリンターを使う場合には、「既存のポートを使って、新しいプリンターを追加する」のドロップダウンから「USB001(USBの仮想プリンターポート)」を選択します(このポートは2008にはなかったので、2008 R2から追加されたようです)。


次にプリンターのインストールでプリンタードライバーを選択します。今回は事前にインストールしていますので下図のように既存のドライバーが選択されます。


事前にインストールしない場合には一覧が表示されますのでそこから選択します。載っていなければ「Windows Update」でドライバーを追加するか自分でインストールします。


プリンター名と共有名を決めます。今回はそのままの設定で追加しました。


最後にプリンター名やポート名の確認画面が表示されますので、一応確認して<次へ>を押下します。


インストール成功画面が出てきます。必要に応じてテストページを印刷したり、続けて別のプリンターをインストールします。


次はクライアント用のドライバーを追加します。
カテゴリー: OSについて
投稿者: shinichi
家族がそれぞれにPCを所有していますが、それぞれのPCに同じ音楽データを持っていたり、HDD容量が足りなくなってきているという問題が起きつつあるので、1台ファイルサーバーを構築することにしました。普通のPCではありますが、それっぽい用途に使うのでサーバーです。

マザーボードはオンボードRAIDでRAID 0/1/10に対応しているのでRAID 1のミラーリングをさせることにしました。システム用HDDとデータ用HDD両方ともRAID 1です。おまけ的な機能でどこまでできるのかはわかりませんがバックアップを取りつつ信用したいと思います(IBMなどのRAIDカードを使っていれば、HDDを抜き差しして確認するのですが・・・)。

Windows Server 2008 R2をインストールした後、サーバーマネージャーを開いて役割の追加をします。




インストールする役割の選択画面で「ファイルサービス」を選択します。




今回は一番上に表示されている「ファイルサーバー」のみを選択します。中段に表示されている「ファイルサーバーリソースマネージャー」をインストールすると、記憶域のレポートを表示したり、サーバーへ保存できないようにファイル種別を指定することができます(たとえば、大きい動画ファイルの保存禁止など)。


インストールする前に確認画面が表示され、<インストール>ボタン押下でインストールが始まります。


Windows Updateの設定がされていなかったので警告メッセージが表示されていますが、通常は『正常にインストールされました』と表示されます。


ファイルサーバーの役割をインストールするのはとても簡単です。これで、サーバー上のデータを共有する準備ができました。
「サーバーマネージャー -> 役割 -> ファイルサービス -> 共有と記憶域の管理」を選択すると下図のように、その名の通り共有と記憶域をいじくる画面に進みます。ここでHDDの共有設定を行います。もちろん、HDDのボリュームのプロパティから設定することもできます。
Edge Componentsを使用しているのですが、サービスアドレス(クラスターアドレス)が付加されないという問題が発生しました。

前任者からの引き継ぎ時に、たまにサービスアドレスが付加されないことがあるから、手動で追加してねと言われていました。アプリケーションサーバーの再起動は頻繁に行っているのですが、Edgeサーバーの再起動はシステムリリース後ほとんど行われていないため、あまり問題にはなっていませんでした。

dscontrolコマンドでEdge Componentsを起動中にgoActiveというスクリプトが実行されます(Edge Componentsのbinディレクトリに作成するファイルです)。このスクリプト内ではipconfigコマンドを実行して、サービスアドレスを新たに追加する様になっています(Windowsではnetshコマンドで)。このipconfigコマンドは/sbinディレクトリに配置されており、通常このディレクトリにパスの通っていない一般ユーザーは実行する事が出来ません。

オペレーターに作業手続きを全て引き継いでいますが、Edge Componentsを起動するシェルではsudoでdscontrolコマンドを実行しています。rootはもちろん/sbinディレクトリにパスが通っているのですが、sudoコマンドではパスが引き継がれない事を知らなかった為にこのような問題が発生しました(どのバージョンからかは定かではありませんが、"-i"オプションをつける事によって、sudoで遷移するユーザーのパスを引き継ぐ事が出来ます)。

sudoコマンドのバージョンが低い為"-i"オプションを使うのではなく、シェルの中に"export PATH=$PATH:/sbin"と書き加える事で解決する事になりました。

Edge Components v6.0.2での事象です。
「Load Balancer 管理ガイド バージョン6.1」の「第5章 クイック・スタート構成 - Dispatcher コンポーネントの構成 - コマンド行による構成」に『AIX、HP-UX、Linux、またはSolaris システムの場合は、dsserver コマンドをroot ユーザーとして実行します。』とあるので、ここで/sbinにもパスを通しておくようにという事を暗に意味していたのかもしれません。

類似事象として、v7.0でもパスが通っていない為にEdge Componentsを起動できない事があります。こちらも/sbinディレクトリへのパスが通っている必要があるもので、Edge Components起動中(dscontrol executor start)にException(java.util.NoSuchElementException)が出力されます。