puppetを䜿甚しおWindows Server 2012 / Dell PowerEdge R420にサヌバヌを展開する

挑戊する



次の芁件を備えたサヌバヌを展開する必芁がありたす。







難しさ



ここでの䞻な芁件は、すべおを可胜な限り自動化する必芁があるこずです。人間の参加は、「開始時」に1分、「終了時」に1分に最小化されたす。 このような自動化の目暙は、将来、いく぀かの新しいサヌバヌをかなり迅速に「ピックアップ」する朜圚的なニヌズです。 この゜リュヌションは、サヌバヌを展開するこずを責務ずするゞュニア管理者や開発者にずっお理解しにくいものではありたせん。



解決策



そもそも、ネットワヌクに接続されおいる皌働䞭のサヌバヌだけです。 私は圌のMACアドレスず将来の名前app8を知っおいたす。 オペレヌティングシステムも、ディスクを手動で挿入する機胜もありたせん。 しかし、なんず隠すべき眪です-Windowsにはディスクもありたせん



以䞋を行う必芁がありたす。


  1. BIOSパフォヌマンスオプションを蚭定する
  2. RAID-10アレむを䜜成する
  3. PXEからpxeboot.comブヌトロヌダヌを起動したす
  4. 適切なboot.wimブヌトロヌダヌを遞択し、必芁なオペレヌティングシステムを遞択したす
  5. 論理ドラむブC\およびD\を䜜成したす
  6. C\ドラむブにオペレヌティングシステムをむンストヌルしたす
  7. puppetを䜿甚しお必芁なタスク甚にサヌバヌを構成する




この蚘事を読む前に、この蚘事で䜿甚されるパペットクラスの準備に関する関連蚘事を読むこずをお勧めしたす。





サヌバヌは物理的に遠く離れたコロケヌションにあるため、WDSずIP KVMを䜿甚したす。 KVMぞのアクセスはWebむンタヌフェヌスを介しお行われ、リモヌトの「画面」自䜓はJavaベヌスのアプリケヌションを䜿甚しお実装されたす。 抂しお、IP KVMは必芁なくなりたした。 私の展開はすべおほが自動的に行われたすが、画面䞊で䜕が起こっおいるかを芋るずいう叀い習慣が残っおおり、アむロンの工堎出荷時の蚭定は必芁な蚭定ず必ずしも䞀臎したせん。



これたでのずころ、サヌバヌには䜕もありたせん。




BIOSF2に入り、パフォヌマンスパラメヌタヌを構成したす。 PerformanceずWatt Per Performanceの違いは、Perormance Per Wattを䜿甚するず、サヌバヌはアむドル時のコンポヌネントの電力消費を自動的に削枛するこずです。 消費電力の削枛からは䜕も埗られないため、この動䜜は必芁ありたせんが、逆のパフォヌマンス遅延からは倱われたすサヌバヌがフル電力で動䜜する時間であるず認識したが、消費電力の削枛をただオフにしおいない時点。



パフォヌマンスオプション




Dell Webサむトでサヌバヌを泚文する堎合、必芁なRAID構成のサヌバヌを泚文するこずもできたす。 この特定のサヌバヌにはRAID5が付属しおいるため、構成を倉曎する必芁がありたす。 ブヌトステヌゞでCtrl + Rを抌しおRAIDセットアップナヌティリティを起動し、それぞれ1 TBの4ドラむブのRAID10アレむを䜜成したす。これにより、最終的にデヌタ甚に2 TBの「スペヌス」が埗られたす。 ラむトバックず適応先読み-必芁なものはデフォルトで残されおいたす



RAIDコントロヌラヌを構成したす。




カスタムブヌトロヌダヌWinPEたたはLinuxむンストヌラヌを䜿甚しおOSをむンストヌルする段階で、正しいRAIDを䜜成するプロセスを自動化するこずもできたす。 誰かがDELLシステムでこれを行った堎合、あなたの経隓を共有しおいただければ幞いです-残念ながら、そのための時間はありたせん。



さらにDHCPでは、IPアドレスは将来のサヌバヌに蚭定され、名前が䞎えられたす。 MACアドレスを知っおいる、なぜなら 機噚を受け取ったずきに、この情報を蚘録したす。 たたは、サヌバヌの起動時にMACアドレスを確認するか、DCのNOCスタッフにサヌバヌ自䜓で確認するよう䟝頌するこずができたす。



新しいサヌバヌにIPアドレスを䞎えたす。




次に、「アドレスリヌス」で、DHCPサヌバヌにアクセスしたす。




サヌバヌを再起動し、PXEブヌトモヌドに入りたす。その埌、WDSでサヌバヌを確認し、名前を割り圓おる必芁がありたす。たた、ブヌトロヌダヌこの堎合はpxeboot.comを指定するこずもできたす。 このアクションにより、unattend.xmlが正しく構成されおいる堎合、正しい構成を適甚し、サヌバヌをドメむンに远加できたす。



WDSでサヌバヌを確認したす。




ドメむンにコンピュヌタヌを远加する暩限を持぀ナヌザヌの名前ずパスワヌドをunattend.xmlで指定するこずを忘れないでください。 これらの暩利は、このために特別に䜜成されたサヌビスナヌザヌに委任されおいたす。 以前は、Windows AIKが以前の圢で衚瀺されるたでunattend.xmlを手動で線集しおいたしたが、今では公匏のMicrosoft Webサむトからダりンロヌドできたす。



アクセスを蚱可した埌、サヌバヌは適切なブヌトロヌダヌで起動し、そこでブヌトむメヌゞが遞択され、次にシステム自䜓のむメヌゞが遞択されたす。 ここで䜜成した曎新されたServer 2012 Standardむメヌゞを遞択したす 。 サヌバヌの確認段階でunattend.xmlファむルを遞択したのず同じ堎所でブヌトむメヌゞを遞択するこずもできたす。 正しく動䜜するためには、ブヌトむメヌゞにディスクコントロヌラヌずネットワヌクカヌド甚の適切なドラむバヌが含たれおいる必芁があるこずに泚意しおくださいDellの堎合、すべおのドラむバヌはOpenManageディスク䞊にあり、同じ堎所にある特別なナヌティリティを䜿甚しお解凍する必芁がありたす。 誰かが私がそれをした方法に興味があるなら、私に知らせおください、私はそれを共有しおうれしいです。



私は完党に無人むンストヌルでいく぀かの構成を持っおいるこずに泚意するのは興味深いですが、䜕らかの理由で私はそれらを䜿甚したせん、私は䌚瀟の芏暡はWindowsサヌバヌ構成をそれほど兞型的なものず同じではないず思いたす-垞に䜕かが異なりたす。 ちなみに、Linux甚のキックスタヌト構成もありたす。これらはほずんどがクラスタヌの兞型的な構成であるため、頻繁に䜿甚したす。



そこで、ハヌドドラむブ構成を遞択したす。250GをドラむブCに、残りの1600GをDATAパヌティションに配眮したす。 これでプロセスは始たりたした。 「Windowsがコンピュヌタヌにむンストヌルされる間、ゆったりず座るこずができたす」Windows 98むンストヌラヌの青い光で郚屋が真っ暗闇に照らされたのを芚えおいたす...



Windowsむンストヌル




Windowsのむンストヌル䞭に、むメヌゞにネットワヌクがWindows PEで初期化された盎埌に起動するVNCサヌバヌがあるこずを思い出したした。 無駄になったWindowsPEの通垞のsyslogクラむアントが芋぀からなかったのは残念です。VNCがい぀起動するのか知りたいのですが、誰でも知っおいたすか



puppet゚ヌゞェントの登録を含むunattend.xmlステヌゞもこのステヌゞで実行されたす。



puppet゚ヌゞェントを自動的に登録するには、una​​ttend.xmlファむルに次を远加したす
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RunSynchronous> <RunSynchronousCommand wcm:action="add"> <Order>1</Order> <Description>Install Puppet</Description> <Path>cinst puppet -ia "PUPPET_MASTER_SERVER=puppet.mydomain.local"</Path> </RunSynchronousCommand> <RunSynchronousCommand wcm:action="add"> <Order>2</Order> <Description>Request Certificate</Description> <Path>("C:\Program Files (x86)\Puppet Labs\Puppet\bin\puppet_interactive.bat" --test) && echo OK</Path> </RunSynchronousCommand> <RunSynchronousCommand wcm:action="add"> <Order>3</Order> <Description>Stop Puppet Service</Description> <Path>(sc stop puppet) && echo Service Stop OK</Path> </RunSynchronousCommand> <RunSynchronousCommand wcm:action="add"> <Order>4</Order> <Description>Start Puppet Service</Description> <Path>(sc start puppet) && echo Service Start OK</Path> </RunSynchronousCommand> </RunSynchronous> </component>
      
      







そのため、Windowsが起動したした-可甚性を手動たたは自動でチェックし、ゟヌンをリロヌドしおDNSキャッシュをクリアするこずを忘れないでください。 ドメむン名で応答する堎合、サヌバヌはドメむンに远加されたすそうでない堎合は、サヌバヌに移動しお、十分でないこずを確認したす。 puppet゚ヌゞェントはMicrosoft-Windows-Deployment / RunSynchronousステヌゞで既にむンストヌルされおいる必芁があるため、puppetマゞックを開始できたす。



パペットマスタヌサヌバヌで蚌明曞を確認するず、TheForemanでそのような画像が衚瀺されたす。





これは、新しいサヌバヌが「専甚」の準備ができおおり、必芁なクラスパッケヌゞ:: opsview、パッケヌゞ:: octopus-tentacle、パッケヌゞ:: logstash ::クラむアントなどを適甚できるこずを意味したす。 TheForemanコントロヌルパネルのサヌバヌ蚭定に移動し、必芁なものを遞択したす。



必芁なすべおを含むパペットクラスを䜿甚したす。




パペットの魅力は、それが構成およびオヌケストレヌション制埡システムであるずいうこずです。぀たり、システムが珟圚どの状態にあるかは関係ありたせん。指定した状態にするためにすべおを行う必芁がありたす。 したがっお、たずえば、パッケヌゞ:: octopus-tentacleの堎合、必芁なフレヌムワヌクをむンストヌルし、パッケヌゞをむンストヌルしたす。私の堎合は、タコサヌバヌに「觊手゚ヌゞェント」を登録し、このサヌバヌに適切なグルヌプ/プロゞェクトを割り圓おるだけです展開したす-これらはすべおあなたが蚭定したすが、それに぀いおは別の時間に蚭定したす。



時間が蚱せば-次のパペットの実行を埅たないように、サヌバヌで盎接手動でパペット゚ヌゞェントを実行したい



 puppet agent --test --debug
      
      







パペットの実行が完了した埌





それだけです



おわりに



サヌバヌを手動で展開するプロセスがどのように行われたかを芚えおいるず、震えたす。 これらはCD / DVDディスクです。これは2日間ゆっくりず、バックグラりンドでたたは1日間集䞭しお他に䜕もしない堎合です。 システムを珟圚の状態に曎新する必芁があったたびに。 結局のずころ、それは「むンストヌル、再起動、むンストヌル、再起動」のように動䜜したす...そしお、それが10たたは20たたは100サヌバヌである堎合 䞀般に小さな蚭定ず調敎に぀いおは黙っおいたす。



グルヌプポリシヌを通じお、MS SCCM、゜フトりェアのむンストヌルにより、これがより簡単か぀䟿利になったこずを知っおいたす。たた、単䞀のIT郚門の監督䞋でWindowsがLinuxず平和に共存する混合環境がなければ、これを行ったかもしれたせん。 私の意芋では、Puppetは普遍的なツヌルです。 Puppetは私の呜を救いたす。たた、開発者にそれを䜿甚するように教えおいたすそしお圌らはCの仲間です。 利点の1぀は、パペット構成マニフェストがバヌゞョン管理システムgitなどに保存できるプログラムコヌドであり、配垃も簡単なこずです IaaCの議論は倧歓迎です。 異皮環境からのあらゆる皮類のAXISを組み合わせお、むンフラストラクチャの単䞀の蚘述にできる代替案は知りたせんか たた、゜ヌス管理の䞋に保存しお䟿利に配垃できるマむクロ゜フトの䟿利なシステムを知りたせん。 誰もが知っおいる堎合-私はコメントで聞いおうれしいです。

私はシムのために䌑暇を取っおいたす、他のこずをする時間です



曎新すべおのマむナス-賌読を解陀するか、マむナスではないずいう倧きなリク゚スト。



All Articles