サーバー管理者

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

1
Docker Swarmモードのすべてのノードからコンテナーを一覧表示する
いくつかのノードでスウォークモードでDockerを実行しています。 マネージャーノードから、スウォーム内のすべてのコンテナー(できればステータス付き)を一覧表示する迅速かつ簡単な方法が見つかりませんでした。オーバーレイネットワークと、これらのネットワークに接続されているローカルで実行されているコンテナ、サービスも表示されますが、コンテナの詳細などは表示されません。 それはすでに利用可能なものですか、それともREST APIを使用する唯一の利用可能なオプションですか?(ただし、必要なすべての情報がそこにあるかどうかはわかりません)

3
/etc/nginx/nginx.conf:86の不明なディレクティブ「ストリーム」
私は持ってnginx/1.12.0おり、ドキュメントに従ってそれはstreamモジュールを含んでいます。次のコマンドでnginxをインストールしました。 sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx nginx -v nginx version: nginx/1.12.0 私はストリームディレクティブを追加しようとしましたnginx.conf: stream { upstream sys { server 172.x.x.x:9516; server 172.x.x.x:9516; } server { listen 9516 udp; proxy_pass sys; } } しかし、再起動するnginxと、nginxログに以下のエラーが表示されます unknown directive "stream" in /etc/nginx/nginx.conf:86 nginx -V output nginx version: nginx/1.12.0 built with …
11 nginx  stream 

3
サーバーでALPNがサポートされていないのはなぜですか?
私は現在、NGINX 1.11.9とopenssl 1.0.2gを使用してUbuntu 16.04.1 LTSサーバーを実行しています。 私が読んだすべてによると、これらのバージョンはALPNをサポートしているはずですが、KeyCDNのHTTP / 2テストツールでテストを実行すると、「ALPNはサポートされていません」と表示されます。 そして、私が実行するとecho | openssl s_client -alpn h2 -connect example.com:443 | grep ALPN、私は得ます: depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root verify return:1 depth=2 C = GB, ST = Greater Manchester, L …

1
Systemd:起動時にPythonスクリプトを実行(virtualenv)
私は通常、次のコマンドで実行するpythonスクリプトを持っています。 (environment) python run.py 最初にこのスクリプトを実行したいと思います。(ubuntuを使用しています)これが私のサービスです。 [Unit] Description=My Script Service After=multi-user.target [Service] Type=idle ExecStart=/home/user/anaconda3/bin/python /home/user/space/run.py [Install] WantedBy=multi-user.target ところで、このスクリプトは実行できませんでしたが、環境内にないスクリプトは実行できました。起動時にpythonスクリプトを実行するにはどうすればよいですか(virtualenv)? sudo systemctl status user_sent ● user_sent.service - Mail Service Loaded: loaded (/lib/systemd/system/user_sent.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since xxxxx 16:30:20 MSK; 3s ago Process: 3713 ExecStart=/usr/bin/python run.py (code=exited, status=200/CHDIR) Main …



2
詳細な500エラーの確認方法
私はasp.net Web APIを展開しようとしたii8を持っています。私のAPIが機能しているかどうかを確認しようとすると、500エラーが発生するので、私は何か間違っていると思います。 ただし、エラーの内容はわかりません。より詳細な情報を入手するにはどうすればよいですか?

1
haproxyを使用してSSLがチェックされる前にhttps接続をリダイレクトすることは可能ですか?
2つのドメインがmyexample.comありmy-example.comます。いずれかのドメインのすべてのトラフィックがhttps://www.my-example.comに移動し、SSL証明書が必要です。ドメインmyexample.comのSSL証明書を持っていません。 私が持っているhttp://myexample.com、http://www.myexample.com、http://my-example.comとhttp://www.my-example.comへのすべてのリダイレクトHTTPSを:// WWW。 my-example.comは何の問題もなく、しかし、私はのためのリダイレクト設定したときhttps://myexample.comまたはhttps://www.myexample.comリダイレクトする前に自分のSSL証明書のための、それのチェックをし、私はいつも、証明書を取得しますので、エラー。 リダイレクト先の非SSLドメインをSSLチェックせずにリダイレクトする方法はありますか? 私の設定ファイルの関連部分: frontend www-https bind xxx.xxx.xxx.xxx:443 ssl crt /etc/ssl/private/www.my-example.com.pem reqadd X-Forwarded-Proto:\ https redirect prefix https://www.my-example.com code 301 if { hdr(host) -i myexample.com } redirect prefix https://www.my-example.com code 301 if { hdr(host) -i www.myexample.com } default_backend www-backend
11 ssl  haproxy 

2
php-fpmプールの構成値を別のファイルで上書きする
新しいサーバーのphp-fpmプール構成をカスタマイズする必要があるので、新しいプールファイルを作成することが可能/許可/推奨されているかどうかを疑問に思います。この名前は、元のファイルの後にアルファベット順になり、初期構成を上書きする値のみを含みます。 元の構成は/etc/php/7.0/fpm/pool.dnamedにありwww.confます。 インストールに関連するページによると、エンジニアはオリジナルを直接変更しているようです(初期値のコピーを保存しています)。例えば [www] ... user www-data group www-data pm.max_children 2 変更後に与える [www] ... user myapp ; was www-data group myapp ; was www-data pm.max_children 8 ; was 2 しかし、php-fpmの次のアップグレード後に繰り返されるタスクである可能性があります(さらに、構成が7.0パスにあるため、心配です)。 元のファイルを変更するのではなく、変更せずに、別のファイルを追加します。たとえばwwwmyapp.conf、同じプールを宣言し、変更された値のみを持つようにします に wwwmyapp.conf [www] ; same pool! user myapp group myapp pm.max_children 8 でpool.d、ファイルのリスト www.conf wwwmyapp.conf であるためphp-fpm.conf、すべてのプールのconfファイルがロードされている、の値がwwwmyappのものの後に読み込まれますwww(同じでwwwプール)と第1の値をオーバーライドする必要があります。 いくつかのテストで機能し、エラーが報告されないようですが、すべての値で常に機能しますか? 代わりに設定ファイルを直接上書きする必要がありますか? php.netでも、どのドキュメントでも回答が見つかりませんでした。

7
数学的に、ノードの数とそれぞれの稼働時間の割合に基づいて稼働時間の割合を計算する方法は?
この質問はサーバーの質問というよりは数学の質問ですが、サーバーに強く関連しています。 95%の稼働時間を保証できるサーバーがあり、そのサーバーを2のクラスターに配置した場合、稼働時間はどのくらいになりますか?さて、私が同じことをしたとしましょう。しかし、それを3のクラスターにしますか? 単一障害点などのことは考慮せず、ここでは単に数学に焦点を当てます。これを少し複雑にする理由の1つは、たとえば2台のサーバーがある場合、両方がオフになる可能性が2 ^ 2であるため、1/4です。または3の場合は2 ^ 3なので、1/8になります。これらのサーバーごとに5%のダウンタイムがあるとすると、合計平均はその5%の1/8になりますか? このようなものをどのように計算しますか?

1
多数のファイルがあるNTFSドライブでのパフォーマンスが遅い
私はこのセットアップを見ています: Windowsサーバー2012 1 TB NTFSドライブ、4 KBクラスター、最大90%フル 10,000個のフォルダに保存された約1,000万個のファイル=〜1,000個のファイル/フォルダ ほとんどが50 KB未満のかなり小さいファイル ディスクアレイでホストされている仮想ドライブ アプリケーションがランダムなフォルダーに保存されているファイルにアクセスする場合、各ファイルの読み取りには60〜100ミリ秒かかります。テストツールを使用すると、ファイルを開くときに遅延が発生するようです。その後、データの読み取りにかかる時間はごくわずかです。 要約すると、これは、50個のファイルを読み取るのに3〜4秒かかりやすいことを意味します。書き込みはバッチで行われるため、ここではパフォーマンスは問題になりません。 私はすでにSOとSFに関するアドバイスに従って、これらの数値に到達しました。 フォルダーを使用してフォルダーあたりのファイル数を減らす(ファイルシステムに100万枚の画像を保存する) contigフォルダーとファイルを最適化するために実行します(/programming//a/291292/1059776) 8.3名前と最終アクセス時刻が無効になっている(パフォーマンス向上のためのNTFSファイルシステムの構成) 読み取り時間についてはどうしますか? ファイルあたり60〜100ミリ秒で問題ないことを考慮してください(そうではありませんか?) セットアップを改善する方法はありますか? 正確に時間が費やされているかを知ることができる低レベルの監視ツールはありますか? 更新 コメントで述べたように、システムはSymantec Endpoint Protectionを実行します。ただし、これを無効にしても読み取り時間は変わりません。 PerfMonは、読み取りあたり10〜20 msを測定します。これは、ファイルの読み取りに最大6回のI / O読み取り操作が必要であることを意味します。これはMFTルックアップとACLチェックですか? MFTのサイズは〜8.5 GBで、メインメモリよりも大きくなります。

2
RDPが保存された資格情報を受け入れず、毎回手動で入力するのはなぜですか?
RDP経由で(Windows Server 2012 R2を実行している)Amazon EC2インスタンスにログインしようとしています。それは機能し、接続できますが、機能した資格情報を保存したため、その後のログインでは受け入れられないようで、常に拒否され、パスワードの部分を手動で再入力する必要があります。 機能しなかった理由は何もありません。機能しなかっただけです。「資格情報が機能しませんでした」と「ログオンに失敗しました」。次に、いつもと同じパスワードを入力すると機能します。 資格情報は実際には資格情報マネージャーに保存され、ログオンしようとすると常に正しい名前が入力されることがわかります。また、このダイアログが表示される前に、保存された資格情報を1秒間試行することも確認できます。 答えを探し回った後、IPアドレスとFQDNの使用、グループポリシーエディターでの実行(「保存された資格情報のNTLMのみのサーバー認証による委任の許可」)、および異常に見えるものに対するリモート側のグループポリシー。サイコロはありません。 保存した資格情報を受け入れ、毎回プロンプトを表示しないようにするにはどうすればよいですか?

3
特定のAnsibleタスクの冗長性を減らして、パスワードをsyslogに漏らさないようにするにはどうすればよいですか?
ときどき、Ansible lineinfileまたはblockinfileモジュールを使用して、パスワードを構成ファイルに書き込みたいと思います。その場合、パスワードが含まれている行全体またはブロック全体がで終わりますsyslog。 syslogパスワードを安全に保管する場所とは考えていないので、Ansibleにパスワードを漏らさないようにするにはどうすればよいsyslogですか?これを行う方法があることを願っています。そうでない場合、これはAnsibleの大きなセキュリティ問題であると考えます。 たとえば、次のアドホックコマンドを使用してそれを再現できます。 ansible localhost -m blockinfile -a 'dest=/tmp/ansible_password_leak create=yes block="Password = {{password}}"' -e 'password=secret' これが最終的に何であるかですsyslog: ansible-blockinfile: Invoked with directory_mode=None force=None remote_src=None insertafter=None owner=None follow=False marker=# {mark} ANSIBLE MANAGED BLOCK group=None insertbefore=None create=True setype=None content=None serole=None state=present dest=/tmp/ansible_password_leak selevel=None regexp=None validate=None src=None seuser=None delimiter=None mode=None backup=False block=Password = secret …

3
バックアップサーバー上にない秘密キーを持つGPGを使用して暗号化されたオフサイトバックアップ?
バックアップサーバーがあり、バックアップするディレクトリツリーのxz圧縮tarアーカイブを作成します。これらのtarアーカイブは巨大(数TB)になり、split断片(2.5 TB)になり、各断片はLTO-6テープに書き込まれ、テープはオフサイトに移動します。 次に、暗号化を追加します。分割する前に、公開鍵と秘密鍵の暗号化を使用して、1人以上の受信者(管理者公開鍵)を使用してtarアーカイブをGPGで暗号化できます。 ただし、リカバリの場合、ファイルが大きすぎて他の場所に解凍できないため、少なくとも1人の管理者が自分の秘密鍵をバックアップサーバーに置く必要があります。 GPGは、内部でハイブリッド暗号化スキームを使用し、セッション鍵を使用したAESのような対称暗号を使用します。そのセッション鍵のみが受信者に対して公開鍵と秘密鍵を暗号化します。 秘密キーをバックアップサーバーに置かずに、復元するファイルを復号化するためのセッションキーを管理者に提供させる方法はありますか? もちろん、ホイールを再発明することもできます。 バックアップするファイルごとにバックアップサーバーにランダムセッションキーを作成する GPG対称暗号化を使用してファイルを暗号化する GPG非対称暗号化を使用して、各受信者のセッションキーを暗号化する しかし、上記を達成するための「標準」または組み込みの、またはベストプラクティスの方法はありますか?
11 backup  gpg 

1
postfixでRC4を無効にする方法は?
https://de.ssl-tools.net/mailserversで postfixサーバーのセキュリティチェックを行ったところ、「ECDHE_RSA_WITH_RC4_128_SHA」がまだサポートされているという警告が表示されました。しかし、それを無効にする方法がわかりません...
11 postfix  tls 

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