タグ付けされた質問 「configuration-management」

構成管理とは、組織内で標準化されたシステム構成を確立および維持することを指します。このタグには、構成プロファイルを定義するプロセスと、それを管理および展開するために使用されるソフトウェアが含まれます。

7
小さな男たちはどのようにパペットを効果的に学び、使用できますか?[閉まっている]
6か月前、非営利プロジェクトで、システム管理のPuppet制御環境への移行を開始することを決定しました。これは、サーバーの数が今から1年後に大幅に増加することが予想されるためです。 決定が下されて以来、私たちのIT担当者は、少々イライラしすぎています。彼らの最大の異議は次のとおりです。 「私たちはプログラマーではなく、システム管理者です」; モジュールはオンラインで入手できますが、多くは互いに異なります。車輪は頻繁に再発明されていますが、どの車輪が法案に適合するかをどのように決定しますか リポジトリ内のコードは十分に透明ではないため、以前に自分自身で作成したマニフェストやモジュールを再帰的に処理するために必要な機能を見つけることができません。 1つの新しいデーモンでは、新しいモジュールを作成する必要があります。規則は他のモジュールと同様である必要があり、難しいプロセスです。 「実行して、動作を確認しましょう」 コミュニティモジュールのほとんど知られていない「拡張機能」:「trocla」、「augeas」、「hiera」...システム管理者はどのように追跡できますか? 大規模な組織がシステム管理者をPuppetコースに派遣してPuppetマスターになる理由を理解できます。しかし、小さなプレーヤーがコースに行かず、基本的にブラウザーとエディターを介してそれを学習する場合、プロレベルのPuppetを学習するにはどうすればよいでしょうか?

7
シェルスクリプトではなくChef / Puppetを使用する理由
PuppetおよびChefツールの新機能。彼らがやっている仕事は、シェルスクリプトでできるようです。これらが登場するまで、シェルスクリプトで行われたのかもしれません。 それらがより読みやすいことに同意します。しかし、読みやすいだけでなく、シェルスクリプトに勝る他の利点はありますか?

5
意味のあるホスト名と意味のないホスト名の選択[終了]
さまざまなハードウェア、ソフトウェア、オペレーティングシステム、仮想/専用など、さまざまなサーバーのパペット管理クラスターの環境を想定します。 意味のあるホスト名(mysqlmaster01..99、mysqlslave001..999、vpnprimary、vpnbackupなど)を選択しますか、または本や映画のキャラクターなどの意味のないホスト名を選択しますか? 意味のあるホスト名で見られる問題は、通常、名前が単一のサービスを表し、サーバーに複数の目的がある場合、それが本当に面倒になることです(特にサーバーの役割が頻繁に変更される場合)。 サービス名をIPアドレスにマッピングし、そのマッピングを維持して、DNSが行うべきことをしていませんか? 両方のアプローチの長所と短所は何ですか?また、選択したアプローチで取り組む必要がある実際の問題は何ですか?

2
Red HatとCentOSのメジャーバージョン間でアップグレードするのがそれほど難しいのはなぜですか?
「既存の実稼働EL5サーバーをEL6にアップグレードできますか?」 環境がまったく異なる2人の顧客からのシンプルな要求により、「はい、しかしすべてのシステムを調整して再構築する必要があります」という私のベストプラクティスの答えが得られました。 両方のクライアントは、システムの完全な再構築がダウンタイムとリソースの理由から受け入れられないオプションであると感じています...システムを完全に再インストールする必要がある理由を尋ねられたとき、私はそれ以上の良い答えを持っていませんでした...」 構成管理(「すべてを人形化する」が常に当てはまるわけではありません)またはクライアントがどのように計画を立てるべきかについての応答を引き出すつもりはありません。これは、実稼働環境で成長し繁栄した環境の実例ですが、OSの次のバージョンに移行するための明確な道はありません。 環境A: 40 x Red Hat Enterprise Linux 5.4および5.5 Web、データベースサーバー、メールサーバーを備え、Java Webアプリケーションスタック、ソフトウェアロードバランサー、Postgresデータベースを実行する非営利組織。すべてのシステムは、それぞれがHA、DRSなどを備えた、異なる場所にある2つのVMWare vSphereクラスターで仮想化されます。 環境B: 生産取引業務を実行し、社内開発およびバックオフィス機能をサポートする複数のコロケーション施設に200 x CentOS 5.xシステムを備えた高周波金融取引会社。取引サーバーは、ベアメタルのコモディティサーバーハードウェアで実行されています。メッセージングレイテンシを低減するために、多数の、、割り込みバインディング、およびドライバー調整が用意されています。カスタムカーネルやリアルタイムカーネルを備えているものもあります。開発者ワークステーションも同様のバージョンのCentOSを実行しています。sysctl.confrtctl どちらの場合も、環境は現状のまま正常に動作しています。アップグレードしたいのは、EL6で利用可能な新しいアプリケーションまたは機能が必要だからです。 非営利企業にとっては、Apache、カーネル、および開発者を喜ばせるものに結びついています。 商社では、カーネル、ネットワークスタック、およびGLIBCのいくつかの機能強化について、開発者を満足させます。 どちらもオペレーティングシステムを大幅に変更せずに簡単にパッケージ化または更新できないものです。 システムエンジニアとして、Red Hatはメジャーバージョンリリース間を移動する際に完全な再構築を推奨しています。クリーンスタートでは、途中でリファクタリングを行い、構成に注意を払う必要があります。 クライアントのビジネスニーズに敏感であるため、なぜこれが面倒な作業である必要があるのでしょうか。RPMパッケージングシステムはインプレースアップグレードを処理する以上の機能を備えていますが、それ/boot以上の詳細はありません:より多くのスペース、新しいデフォルトファイルシステム、RPMが途中でアップグレード、非推奨、廃止されたパッケージを破壊する可能性があります... ここでの答えは何ですか?他のディストリビューション(.debベース、ArchおよびGentoo)には、この機能またはより良いパスがあるようです。このタスクを正しい方法で達成するためのダウンタイムを見つけたとしましょう。 EL7がリリースされて安定した場合、これらのクライアントは同じ問題を回避するために何をすべきですか? それとも、人々は数年ごとに完全な再建に辞任する必要があるのでしょうか? これは、Enterprise Linuxが進化するにつれて悪化しているように見えます...または、私はただそれを想像していますか? これにより、だれかがRed Hatおよび派生オペレーティングシステムを使用することを思いとどまらせましたか? 構成管理の角度があると思いますが、私が見るほとんどのPuppetインストールは、高度にカスタマイズされたアプリケーションサーバーのある環境にうまく変換されません(環境Bは、ifconfig出力がこのように見える単一のサーバーを持つことができます)。ただし、組織がRHELのメジャーバージョンバンプを克服するのに構成管理を使用する方法についての提案を聞くのは興味深いでしょう。

6
パペットで管理すべきでないものは何ですか?
私は一般に構成管理を通じて自分のやり方を学び、特にそれを実装するためにパペットを使用していますが、システムのどの側面がパペットで管理されるべきではないのでしょうか? 例として、通常、システムをpuppetの管理に貸す前に、ホスト名がすでに設定されていることを当然のことと考えています。少なくともpuppetmasterに到達するために使用されるネットワークでは、基本的なIP接続が機能している必要があります。puppetを使用してDNSゾーンファイルを自動的に作成するのは魅力的ですが、DNSリバースポインターは、Thingを起動する前に既に配置されている必要があります。証明書は面白くなります。 したがって、PuppetからIP構成を除外する必要がありますか?または、パペットを初めて起動する前に設定する必要がありますが、それでもパペットでIPアドレスを管理する必要がありますか?複数のIPを備えたシステム(WAN、LAN、SANなど)はどうですか? 何についてのIPMI?すべてではありませんが、ほとんどをipmitoolで設定すると、コンソールアクセス(物理、シリアルオーバーLAN、リモートKVMなど)を取得せずに済むため、Puppetで自動化できます。しかし、パペットエージェントを実行するたびにその状態を再確認することは私にとってはクールではありません。システムへの基本的なライトアウトアクセスは、他に何もする前に持っておきたいものです。 もう1つのストーリーは、更新プログラムのインストールに関するものです。私はこの特定のポイントには行きません。SFに関する多くの質問と、異なるシステム管理者の間の多くの異なる哲学が既にあります。私自身は、操り人形に物事を更新させないようにし(例のみensure => installed)、既に慣れているため手動で更新を行うことにしました。ミックス)。 これらは、今思い浮かんだほんの数例です。パペットから手の届かないところに残すべきシステムの側面はありますか?または、別の言い方をすれば、プロビジョニング時に設定する必要があるものと、システムで「静的に」設定されるものと、一元化された設定管理によって処理されるものとの境界はどこにありますか?

6
Puppet vs Chef、ユーザーとユースケースからの賛否両論[非公開]
私はすでにグーグルで「人形に、またはシェフに」という記事を読みました。 私は、ユースケース、つまり人々が実際の問題に基づいてどちらかを選択した現実世界の実装に興味があります。 私は特にコブラーの問題との統合に興味があります(この方向ではパペットがはるかに標準的なアプローチであることはわかっています)。cobbler-chef統合の経験はありますか? 前もって感謝します

12
サーバーの変更を記録する方法は?
だから私たちはおそらくこの状況を抱えているでしょう:あなたはいくつかの問題をデバッグしますが、それは6ヶ月前に行った設定変更が原因であると理解するだけで、なぜそれをしたのか思い出せません。そのため、元に戻して問題を修正すると、他の問題が再発します。そうそう、今は覚えています!その後、適切に修正します。 あなたが適切なメモを取らなかったからです、あなたはばかです!しかし、これを行う良い方法は何ですか? エンジニアリングには、変更を検出して追跡するためのソフトウェアがたくさんあります。ソース管理、コードレビューなど。すべての変更は追跡され、すべての変更はそれが何であるかについてのコメントを必要とします。そして、典型的なエンジニアリング部門は良いコメントを必要とするので、なぜそのように壊れたのかを理解している6ヶ月で、歴史的な「非難」機能またはバイナリ検索ビルドを使用して問題を特定できます。これらのツールは、非常に効果的なコミュニケーションツールであり、過去の記録です。 しかし、サーバーランドでは、500種類のサービスがあり、すべて異なる方法で構成されています。また、テキスト形式の場合もありますが、常にテキスト形式(フォルダーへのアクセス許可の設定やページファイルの場所の変更を検討)があるわけではありません。 私たちの環境では、Perconfigにできる設定ファイルをチェックインしますが、それらのファイルはほとんどありません。Active Directory DBを正確にチェックインすることはできません。 過去にwikiで手動の変更ログを保持しようとしましたが、これを行うための規律を維持することは非常に困難です(良い言い訳ではないことは知っていますが、それは本当に難しいです)。 私の質問:サーバーの構成変更を追跡するこの問題に対処するために、どの戦略とツールを使用しますか? -更新- 注:サーバーの変更を追跡するのに特に役立つ自動化ツールほど、共有メモ作成ツール(OneNoteなどに精通している)は探していません。サーバー構成の変更を追跡するための包括的なツールはありませんが、GPOなどの特定のアプリケーション向けのツールはおそらくあります。 また、私はあなたが有用であるとわかった特定の戦略に非常に興味があります。「Sharepointでメモを共有する」はかなりあいまいです。規律をどのように維持しますか?変更を追跡するためにどのフォーマットを使用していますか?変更データをどのように整理しますか?アイデアだけでなく例も本当に欲しいです。

1
シェフのベストプラクティス/質問
私はパペットを使用しています。私は新しい会社に移り、シェフを採用しています。だから私はシェフを学ぼうとしていますが、まだPuppetで考える=) これらは私の質問です: Ruby DSL、JSON、または管理コンソールからロールをセットアップする方が良いでしょうか?同じことをする複数の方法があるのはなぜですか? クックブックをサブディレクトリに整理できますか?例:クックブックを作成してそれを使いたいカスタムソフトウェアがあります:chef-repo / cookbooks / ourcompanystuff / customsoftwarecookbookこれは良い習慣でしょうか? 役割の種類ごとに、その役割を指定するクックブックを作成しますか?これらのクックブックには他のクックブックが含まれていますか(つまり、Webサーバーロールのクックブックにはapacheクックブックが含まれています)。クックブックの相互依存関係と継承がどのように処理されるかわかりません。 Puppetの外部ノード分類子のようなものがあり、ノードが自動的にロールを決定しますか? ナイフまたは管理コンソール内で物事を構成できるように思われますか、JSONファイルを編集しますか?これは、物事を行う方法が非常に多い理由を私に非常に混乱させています、それは麻痺しています!どちらかを使用する理由はありますか?人形から来ると、これらのツールで何かを誤って設定するのは簡単だと思われます(つまり、何かを除外します) 開発クラスターでChefを使用してノードを自動的にプロビジョニングするにはどうすればよいですか?Puppetを使用して、puppermasterに接続してpuppetの実行を開始し、それ自体をセットアップするVMを起動します(役割は外部ノード分類子によって決定されます)。Chefでこれを行うにはどうすればよいですか?chefサーバーに結び付けるpem / rbファイルを使用してchefをインストールし、ナイフでノードの役割を手動で指示するか、管理インターフェースでこれを編集してから、chef-clientの実行を開始してセットアップしますか? 入門チュートリアルを完了し、EC2チュートリアルがあることを確認しましたが、EC2を使用したことがないため、従うのが難しいです。この時点で、Chefの実行をホストし、単一ノードの構成をいじり始めています。ここからどこに行きますか?パブリッククックブックを見る必要がありますか? Opscodeのドキュメントは大丈夫ですが、Puppetのドキュメントほどではありません。検索で不足している可能性のある他の優れたシェフリソースはありますか?

2
AnsibleおよびVagrantからの追加のデバッグ出力を有効にするにはどうすればよいですか?
サーバーとアプリケーションのプロビジョニングのためにAnsibleを調査しています。私のアプリケーションは現在、Vagrantのシェルスクリプトでプロビジョニングされています。スクリプトを書き換えるのではなく、サンプルを取り、それを展開しようとしました。 正常に展開されているように見えますが、一連の成功したステップのように見える後、失敗メッセージが表示されています。 » vagrant provision ~/vm/blvagrant 1 ↵ [default] Running provisioner: ansible... PLAY [web-servers] ************************************************************ GATHERING FACTS *************************************************************** ok: [192.168.9.149] TASK: [install python-software-properties] ************************************ ok: [192.168.9.149] => {"changed": false, "item": ""} TASK: [add nginx ppa if it ubuntu 10.04 and up] ******************************* ok: [192.168.9.149] => {"changed": false, "item": "", "repo": …

8
Linux / Unixサーバーで変更を追跡するためにどのツールをお勧めしますか
私は、メール、キャッシング、Webサービス、フィルタリング、ファイアウォール/ルーティングなどのいくつかの役割のクライアント用に、いくつかのLinuxサーバーを管理しています。 私はこれらのコンピューターを所有しておらず、単にリモートサポートを提供しているだけなので、Puppetのような中央管理システムは正しいツールではないようです。(この仮定について間違っていると思われる場合は修正してください) 構成ファイルの変更、パッケージのインストールなどを追跡するには、どのツールをお勧めしますか? etckeeperのようなものが私が必要としているものに近いかもしれないと思っていますが、もっと良いものがあるかどうか知りたいです。 更新 システムのバックアップを作成しますが、このタイプのツールがバックアップの代替になるとは思わないでしょう。これは、構成の変更を追跡し、いつ、誰によって、そしてできればその理由を何が変わったかをシステムが把握できるようにすることです。


5
Linux管理者はシェルスクリプトと自動化のスキルをどのように改善できますか?
私の組織では、NOCスタッフのグループ、新進気鋭のジュニアエンジニア、少数のシニアエンジニアと協力しています。すべてLinuxに焦点を当てています。会社が才能を伸ばす方法の1つの興味深いステップは、NOCから上級エンジニアリングランクへの道があることです。人材プールを相対的な新参者とみなすと、スキルセットに分裂があり、時間とともに成長する傾向があることがわかります... 1つまたは複数の特定の技術を熟知し、常に没頭しているエンジニアがいます。たとえば、MySQL、ファイアウォール、SANストレージ、ロードバランサーなどです。 ジェネラリストであり、複数のテクノロジーをナビゲートできる人もいます。 すべての人が、必要なことを実行して日常的に使用するのに十分なLinux(コマンド、プロセス)を学習します。 一部のスタッフ間の差別化要因は、スクリプト、自動化、および構成管理の方法論をどれだけうまく取り入れているかです。たとえば、Amazon AWS CloudFormationの大部分の作業を行う2人のエンジニアと、Puppetインフラストラクチャのほとんどを処理するエンジニアがいます。おそらくエンジニアの4分の1がBASHシェルスクリプトに精通しています。 雇用市場でのDevOpsスキルに対する非常に高い需要の文脈でこれを見ると、他の組織がどのようにこれらのスキルの開発を促進し、社内の才能を伸ばしているのか興味があります。スクリプティングは、特に教えることのできる概念とは思えません。 システム管理者はシェルスクリプトをどのように改善しますか? DevOpsパラダイムに遅れている/遅れているエンジニアのための場所はまだありますか? これらの技術が進化するにつれて、一部の人々が取り残されると単純に想定していますか?それは大丈夫ですか?

3
数百のIPMI BMCを管理するにはどうすればよいですか?
IPMIサービスを提供できるコンピューターが200台以上あります。サーバーは複数の異なる企業(SuperMicro、Dellなど)によって製造されており、約5つの異なるベンダーから6〜7個のBMCモデルがあり、各モデルには独自の特異性があります。 これまで、DHCPの組み合わせを使用してBMCを構成し、各BMCを手動で構成してきました。手動設定は、ブータブルCD-ROM、BIOSからの設定(サポートされている場合)、ipmitoolなどのユーティリティを使用したホストオペレーティングシステムからの設定を使用して実行できます。 freeipmiなどのまたはipmitoolを使用してリモートでネットワークアドレスを決定できますデバイス。 ただし、この手動構成はかなり面倒です。場合によっては、すべてのBMCの設定をグローバルに変更したいため、管理者が多数のボックスに対してコマンドを実行する必要があります。BMCはさまざまなベンダーから提供されており、BMCの各モデルには独自の特異性があるため、同じコマンドがすべてのBMCで常に機能するとは限りません。 多数のボックスでBMCを一括設定できるユーティリティはありますか?数十の異なるBMCでパラメーターを照会したり、パスワードを変更したり、WebUIへのHTTPアクセスを無効にしたり、悪名高い暗号ゼロセキュリティホールを。 いくつかのセキュリティ脆弱性を緩和するために必要なBMCファームウェアの更新を可能にするユーティリティのボーナスポイント

10
構成管理ツール(Puppet、Chef)は、インストールされたパッケージを最新の状態に保つことができますか?
これはおそらく、構成管理ツールを既に実行しているユーザーにとっては簡単な質問です。PuppetやChefなどの構成管理ツールは、インストール済みパッケージを最新の状態に保つための適切なアプローチですか? 主にDebianとUbuntuに基づいた多数のサーバーを実行するとします。構成管理ツールを使用すると、セキュリティの更新やバグ修正が行われたときにリポジトリからインストールされたパッケージを簡単に更新できますか? 現在、システムにセキュリティ更新プログラムを自動的にインストールさせるために「無人アップグレード」を実行していますが、それでもサーバーに接続してaptitude update && aptitude safe-upgrade頻繁に実行する必要があります。当然、これは退屈で退屈でエラーが発生しやすくなります。 PuppetやChefなどのツールは、インストール済みパッケージを最新の状態に保つための適切なアプローチですか?これらのツールを使用aptitudeして、15台のサーバーで手動または同等のツールを実行しないようにしていますか?これらの質問に対する答えは「もちろんです!」です。 しかし、この特定のユースケースに関する詳細情報はどこで入手できますか?PuppetやChefを詳しく調べる時間はまだありません。サンプルのクックブックまたはクラスでは、sshなどの特定のパッケージをインストールするというささいな例しか示していません。公式のドキュメント以外に、推奨するリソースはありますか(もちろん、もしあれば、どのツールが自分に適しているかがわかったらドキュメントを勉強します)。

6
AnsibleでSSHポートの変更を処理する方法
新しいサーバーインスタンスのセットアッププロセスを自動化するためにAnsibleを使用しようとしています。セットアップタスクの1つでデフォルトのSSHポートが変更されるため、ホストリストを更新する必要があります。 デフォルトのSSHポートへの接続を確立できなかった場合、指定されたポートへのAnsibleフォールバックを使用してこれを自動化することは可能ですか?

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