サーバー管理者

システムおよびネットワーク管理者向けのQ&A

2
なぜREGSVR32は明らかにそこにあるDLLを見つけられないのですか?
新しいWindows 2003 Serverにカスタムアプリケーションをインストールしています。いくつかのDLLを追加して登録する必要があり、それらをサーバーのC:\ WINDOWS \ System32フォルダーにコピーしました。これは、Windows NTおよび2000でアプリケーションを実行しているときは常にDLLがあった場所です。 。 しかし、私がそれらを使って登録しようとすると: regsvr32 c:\ windows \ system32 \ nameoflibrary.dll それは返します: LoadLibrary("c:\windows\system32\nameoflibrary.dll") failed - The specified module could not be found. ただし、DLLはそこにあります。私はそれを見ることができます。パスをWindowsエクスプローラーにコピーして実行しようとすると、DLLを実行できないことが通知されるので、DLLが存在することがわかります。DLLがVB5に組み込まれていることがマイナーな複雑さの1つですが、VB5ランタイムがサーバーにインストールされているため、これは問題になりません。 何か案は?
8 dll 

4
Ubuntu 11.10では、起動時にパスフレーズを1つだけ入力することで、LUKS / LVMで暗号化された2つのハードディスクを復号化できますか?
ここに私が持っている設定:-2つのハードドライブ、-最初のものはLUKSとLVMを使用して暗号化されています。暗号化されたボリュームグループに2台目のハードドライブを追加したいと思います。インストールして暗号化しました。しかし、起動時に、両方のハードドライブを復号化するために2つのパスフレーズを入力する必要があります。 1つだけを使用する方法はありませんか?
8 ubuntu  lvm  luks 

2
nginx構成へのプログラムによるインターフェイスはありますか?
nginxをWebサーバーインスタンスの前のロードバランサーとして使用しています。Webサーバーの4つのインスタンスを実行し、nginxを使用してトラフィックをインスタンス全体に均等に分散します。新しいバージョンをデプロイするとき-nginx.confを変更し、4台のサーバーのうち最初の2台を停止としてマークしてから、nginxを再起動します。サーバーコードを更新し、最初の2つのサーバーを再起動します。次に、nginx.confを編集して、最初の2つのサーバーが稼働していることを示し、他の2つのサーバーを停止していることをマークし、nginxを再起動します。次に、他の2つのインスタンスを更新して再起動します。再びnginx.confを更新して、すべてのサーバーを起動し、nginxを最後に再起動します。 私はこのプロセスを数日に何度か行わなければなりません。上記の手順を手動で毎回実行すると、エラーが発生しやすくなります。 このプロセスを自動化できるように、nginx / nginx.confへのプログラムによるアクセスはありますか? [私が今想像する唯一の方法は、シェルスクリプトで上記の手順を記述することです]
8 nginx 

2
nginxを使用して発信応答内のURLを書き換える
Apacheで実行しているサイトを持つ顧客がいます。最近、サイトの負荷が高まっているため、サイトのすべての静的コンテンツをCookieのないドメインにシフトしたいと考えていますhttp://static.thedomain.com。 アプリケーションはよく理解されていません。そのため、静的コンテンツサーバー(http://static.thedomain.com)へのリンクをポイントするようにコードを修正する時間を開発者に与えるために、nginxを介してサイトをプロキシし、リンクを/images/...に書き換えるように送信応答を書き換えることを考えましたhttp://static.thedomain.com/images/...。 たとえば、Apacheからnginxへの応答には、ヘッダー+ HTMLのblobがあります。Apacheから返されたHTMLには、次の<img>ようなタグがあります。 <img src="/images/someimage.png" /> これを次のように変換したい: <img src="http://static.thedomain.com/images/someimage.png" /> そのため、ブラウザはHTMLページを受信すると、静的コンテンツサーバーに直接画像をリクエストします。 これはnginx(またはHAProxy)で可能ですか? 私はドキュメントをざっと一目見ましたが、インバウンドURLを書き直す以外に何も飛び出していません。

2
スクリプトの実行後にエクスポートされた変数が保持されない
私は奇妙な問題に直面しています。私は、solaris 11を備えたvmを使用しており、bashスクリプトを作成しようとしています。 シェルで次のように入力すると、 export TEST=aaa 次に実行します: set 値がaaaであるTESTという名前の新しい環境変数が正しく表示されます。ただし、スクリプトで基本的に同じことを行う場合。スクリプトが終了すると、変数セットが表示されません。具体的な例を作るために、ファイルtest.shにある場合: #!/usr/bin/bash echo 1: $TEST #variable not defined yet, expect to print only 1: echo 2: $USER TEST=sss echo 3: $TEST export TEST echo 4: $TEST それは印刷します: 1: 2: daniele 3: sss 4: sss 実行後、TESTはシェルに設定されません。何か不足していますか?エクスポートTEST = sssと別の変数set / exportの両方を実行して、違いはありません。
8 bash  solaris 

1
非ページメモリをリークしているアプリケーションを特定するにはどうすればよいですか?
最近、ライブサーバーでWebアプリが応答しなくなる問題が発生しました。私たちが得ていたのは、サーバーを再起動するまでの503エラーだけで、それで問題ありませんでした。最終的には、それをhttperr.logまでたどると、1_Connections_Refusedエラーがたくさん見つかりました。 さらなる調査により、非ページプールの制限に達したことが示されているようです。それ以来、Poolmon.exeを使用して非ページプールメモリを監視しており、問題の原因となっているタグを特定したと考えています。 Tag Type Allocs Frees Diff Bytes Per Alloc Even Nonp 51,231,806 50,633,533 684,922 32,878,688 48 poolmon.exe / gを使用すると、マップされたドライバーが[<不明>イベントオブジェクト]として表示されます。 これはほとんど役に立ちません。私のチームはこの問題の調査にかなりの時間を費やしており、これを特定のアプリケーションまたはサービスに絞り込むためのプロセスを見つけることができませんでした。ほとんどの人は、ページングされていないメモリがリセットされるまで、マシン上のプロセスを強制終了することで問題を解決しているようです。これは、実稼働マシンで作業するときに見たいとはまったく言えません。 タスクマネージャを開いてプロセスリストを表示した場合。NPプール値が105KのMailService.exeが表示されます。これは、2番目にリストされているプロセスの値より36K高いです。過去にメールサーバーでいくつかの問題が発生したため(この問題に関連するかどうかに関係なく)、私の直感は、これが問題の原因であると感じています。 ただし、サービスを再開する前に、単なる「直感」よりも少し確信を持ってみたいと思います。 私もpoolmon.exe / cを使用してみましたが、これは常にエラーを返します: unable to load msvcr70.dll/msvcp70.dll そしてそれはlocaltag.txtを作成しません。どこにあるのかわからないので、同僚がpooltag.txtをインターネットからダウンロードする必要がありました。winデバッガーやwin DDKがインストールされていません(私が確認できます)。これらのいずれもインストールされていないため、上記のエラーが表示される可能性がありますが、わかりません。 最後に私は試しました: C:\windows\system32\driver\findstr /m /l Even *.sys これにより、かなりのサイズの.sysファイルのリストが返され、問題は解決しませんでした。 だから私の質問はこれです:このメモリリークの原因を絞り込む他の方法はありますか? 更新: 以下に提案するように、私は最終日ほどプール非ページバイトをログに記録しており、プロセスが上昇しているかどうかを確認しています。ほとんどの場合、すべてのプロセスは、その使用においてかなり静的であるように見えます。そのうちの2つは、わずかに上昇しているようです。私はこれを今後数日間監視し続けます。 また、プロセスのいずれも過度の数のハンドルを使用していないように見えることも前に言及するのを忘れていました。 更新2: 私はこれをここ数週間監視してきました。個々のプロセスの非ページバイトプールと合計非ページバイトプールは、その間比較的安定しています。この間にWindowsが更新され、サーバーが再起動したので、問題が解決したかどうか疑問に思っています。私はこれに先立っていたので、非ページバイトプールで一貫した成長が確実に見られません。

5
TCP / IP用語で、オフィスのダウンロード速度リミッターはどのように機能しますか?
人々のオフィスを想定し、他のトラフィックをブロックしないように、HTTPダウンロードをインターネット接続速度の最大40%の帯域幅に制限したいと考えています。 「ファイアウォールではサポートされていません」とあり、「以前はNetgear / DLink / DrayTekでそれを行うことができました」という不可避の行があります。 考えてみると、ダウンロードは次のようになります。 HTTP GET request Server sends file data as TCP packets Client acknowledges receipt of TCP packets Repeat until download finished. 速度は、サーバーがデータを送信する速度と、データを確認する速度によって決まります。 したがって、ダウンロード速度を制限するには、2つの選択肢があります。 1)サーバーにデータをゆっくり送信するように指示します。TCPまたはHTTPでそれを要求するプロトコル機能はないと思います。 2)アップロード速度を制限することで、パケットの確認速度を遅くし、アップロード速度を台無しにします。 デバイスはどのようにこの制限を行いますか?標準的な方法はありますか?
8 networking  tcp 


3
シェルスクリプトから、MySQLデータベースにテーブルが存在するかどうかを確認するにはどうすればよいですか?
ユーザーがテーブルで必要な操作を選択できるスクリプトを作成しようとしています。テーブルが存在するかどうかを確認したい。存在する場合は他の処理を続行するか、テーブルが存在しないと終了します。どうすればこれを達成できますか?

2
起動時にUpstartユーザージョブを実行する
Ubuntuサーバー11.04を実行しています。ここで説明するように、Upstartユーザージョブを作成しました。 私には次のファイルがあります/home/myuser/.init/sensors.conf: start on started mysql stop on stopping mysql chdir /home/myuser/mydir/project exec /home/myuser/mydir/env/bin/python /home/myuser/mydir/project/manage.py sensors respawn respawn limit 10 90 myuser私はジョブを開始、停止、再読み込みできるので、完全に機能します。 $ start sensors sensors start/running, process 1332 $ stop sensors sensors stop/waiting 問題は、起動時にジョブが起動時に自動的にmysql開始されないことです。再起動後、mysqlは実行されていますが、私のsensors仕事は実行されていません。 奇妙なことに、ジョブは起動時に開始されませんが、sudo再起動に使用するmysqlと実際にジョブが開始されます。以下のコマンドはmyuser、新規起動時から実行されます。 $ status sensors sensors stop/waiting $ sudo restart mysql mysql start/running, process 1209 $ …
8 ubuntu  upstart 

5
サーバーを屈服させるASP.NET High CPU
新しいビルドでは、各サーバーでランダムな間隔で100%のCPUスパイクが発生しています。長期間、サイトが完全に応答しなくなります。これは、さまざまな国の人々がサイトにログオンするなどのピーク時に発生します。 perfmom、メモリプロファイラー、CLRプロファイラー、SQLプロファイラー、Red gate antプロファイラーを調べ、UATで負荷テストを試みましたが、問題を再現することもできませんでした。これは、ライブサイトにアクセスした数千のユーザーだけがそれを引き起こすことを意味する可能性があります。 私たちが気づいた1つのパターンは、新しいコード(壊れたビルド)が実際には著しく少ないスレッドを使用することでした。 また、IOCに春を使用しています-これはベッドの評判ですか? さらに悪いことに、ビジネスへの影響のために展開して展開することはできません。そのため、追加した新機能のサブセットに問題を絞り込むことはできません。 私たちは本当に破壊されました-誰かが私たちに数人の命を救うかもしれない戦いの傷跡を持っていますか?

6
最新のファイル以外をすべて削除する
ḟoo/ある種のディレクトリ構造で多くのファイルを含むディレクトリがあるとします。それらの一部を保持する必要がありますが、すべてを保持する必要はありません。 (たとえば)最新のものを除いてそれらすべてを(その場で)削除する方法はありますか?

2
aptitudeまたはapt-getにdpkg構成パラメーターを提供するにはどうすればよいですか?
gitoliteをインストールすると、次のことがわかります。 # aptitude install gitolite The following NEW packages will be installed: gitolite 0 packages upgraded, 1 newly installed, 0 to remove and 29 not upgraded. Need to get 114 kB of archives. After unpacking 348 kB will be used. Get:1 http://security.debian.org/ squeeze/updates/main gitolite all 1.5.4-2+squeeze1 [114 kB] Fetched 114 …


3
1ディスクRAID 0をRAID 1に変換できますか?
これは質問18957に危険なほど近いですが、まったく同じではありません。 P410iの論理ドライブの1つはシングルディスクRAID 0です(そのとき、私は近視眼だったため)。差し迫った障害について警告しているので、簡単に修正できる方法を探しています。(私はバックアップを持っていますが、これを「正しい方法」で行うことでダウンタイムを避けたいです(トロールしないでください、私は近視眼的だったと言いましたか?)) 私の計画では、可能であれば、このRAID 0をRAID 1にして、一致するドライブをRAID 1に追加し、コントローラーに再構築させ、デッドドライブをプルし、最後に適切なRAID 1を持たせることです。ステップ1を実行できるかどうか疑問に思っています。 その他の仕様: HP DL360 SmartアレイP410i デッドドライブは146GB 10kRPMです(また、私の/ドライブ:() インストールされているOSはUbuntu 10.04です hpacucli がインストールされ、使用可能です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.