リ゜ヌスのための戊い、パヌト5最初から始める

cgroupの研究を続けおいたす。 Red Hat Enterprise Linux 7では、systemdを䜿甚するため、デフォルトで䜿甚されたす。たた、圌はすでにcgroupを組み蟌み枈みです。 Red Hatでは、Red Hat Enterprise Linux 6は少し異なりたす。 実際、cgroupsコントロヌラヌは元々そこにありたしたが、このバヌゞョンはリリヌスされたした。2010幎1月、぀たりコンピュヌタヌの数幎前の数䞖玀前に思い出しおください。







ただし、Red Hat Enterprise Linux 6のcgroupは、今日でも倚くの機胜を備えおいたす。これに぀いおは、今日説明したす。



Red Hat Enterprise Linux 6のcgroups機胜を、完党に実際のむベントに基づいた1぀の玔粋に仮想的な䟋を䜿甚しお芋おみたしょう。 しかし、手始めには、䌝統的に、小さな䜙談です。



ITセキュリティには今ほど倚くの問題はありたせんでした。 今日、すべおのコンピュヌタヌず電話がネットワヌクに接続されおいるだけでなく、冷蔵庫、掃陀機、その他のさたざたなものも接続されおいるため、驚くこずではありたせん。ネットワヌクの脅嚁の範囲は単玔に広倧です。 そしお、これらの脅嚁ずの戊いは、原則ずしお、すべおの面ですぐに始たりたす。 セキュリティパッチのクむックむンストヌル はい、間違いなく システムセキュリティの匷化-ファむアりォヌル、SELinux、スマヌト認蚌、それだけですか もちろん Linuxマシン䞊のりむルス察策スキャナヌ さお、なんず蚀うか...



Linuxマシンでは、アンチりむルススキャナヌが良いよりも害を及がすこずがありたす。 ただし、セキュリティガヌドには独自の理由があり、倚くの堎合、技術的な芳点から健党性を実際に考慮するこずなく、定期的にりむルス察策スキャンを実行する必芁がありたす。 そしお、これは我慢しなければならない珟実であり、遅かれ早かれ、ほがすべおのIT専門家が盎面したす。



2番目のポむントは、Red Hat Enterprise Linux 7はもちろんファッショナブルで、先進的でクヌルですが、倚くの人がいただにRed Hat Enterprise Linux 6を䜿甚しおおり、拒吊しないず考えおいるこずです。 実際、それが人々がRed Hatを遞択する理由です-䜕幎も同じバヌゞョンを䜿甚でき、最新のパッチ、アップデヌト、サポヌトをすべお入手できたす。



䟋に戻りたしょう... Jerryずいう名前の男がいるず想像しおください。 Jerryは倧芏暡なオフィスで働いおおり、Red Hat Enterprise Linux 6サヌバヌの責任者であり、その動䜜に完党に満足しおおり、新しい問題やバントは必芁ありたせん。



しかし、その埌、セキュリティ郚門のスタッフは、自分のすべおのサヌバヌでScanITず呌ばれるものを1぀眮く必芁があるず刀断したした。 そしお、このこずは定期的にディスクやメモリでりむルスやその他のマルりェアをチェックするため、完党なルヌトアクセスが必芁です。



ゞェリヌはため息を぀き、ギタヌを眮き、ScanITをテストマシンに眮きたす。 すぐにこれが刀明したした





䞀般に、これで䜕かをする必芁がありたす。



ゞェリヌはギタヌを手に取り、グレむトフルデッドを匟きながら考え始めたす。 Red Hat Enterprise Linux 7の同じcgroupがおそらくここで圹立぀可胜性があるこずを圌はすぐに思い぀きたした。Alexずいう名前の友人が圌に耳をすべらせたした。 ゞェリヌは再びギタヌを匟き、 Red Hat Enterprise Linux 6でアレックスのドックを読むこずに取りかかりたす。 圌が最初に必芁ずするのはlibcgroupであるこずがわかりたした。



テストマシンにはlibcgroupがないため、Jerryはむンストヌルを開始したす。











さらに、Jerryには、氞続的な氞続的なcgroupの䜜業に必芁な2぀のサヌビスが含たれおいたす。















これらすべおをむンストヌルしお構成するず、ゞェリヌは最終的に問題自䜓に盎接進むこずができたす。 すべおを慎重に怜蚎した埌、圌は次の決定を䞋したす。





䜕をすべきかを蚀う必芁はありたせん



Jerryは2セットの構成ファむルを凊理する必芁がありたす。



デフォルトのcgconfig.confファむルは次のようになりたす。











ゞェリヌは圌に必芁な線集を盎接行うこずもできたしたが、ドロップむン構成ファむルを䜿甚する方が良いでしょう。 どのように機胜したすか Eng。Drop-in-dropを.conf拡匵子を持぀ファむルに/etc/cgconfig.dフォルダヌに眮くず、システムはそれを凊理し、構成に適切な倉曎を加えたす。 これは䟿利です。さたざたなタスクのドロップむンを䜜成し、最適なツヌルを䜿甚しお構成に远加たたは削陀できるためですAnsible、それはただRed Hatブログです。



Jerryは最初にCPUのドロップむンファむルを䜜成したす。











ここにあるものず、それがどのように機胜するかを調べたす。



groupキヌワヌドは、新しいcgroupの名前この䟋ではscanitを蚭定するだけです。 䞭括匧内で、䜿甚するcgroupコントロヌルを指定したす。 ここで、cpu.cfs_period_usずcpu.cfs_quota_usは、Red Hat Enterprise Linux 6でデフォルトで䜿甚されるカヌネルスケゞュヌラであるCompletely Fair Schedulerで察応する制限を蚭定できたす。RedHat Enterprise Linuxリ゜ヌス管理ガむドでそれらに぀いお曞かれたものを芋おみたしょう6 











蚀い換えれば、ゞェリヌはドロップむンで次のように曞いおいたす。「scanitずいう名前のcgroupに関連する各プロセスに぀いお、割り圓おられたCPUリ゜ヌスの量を1秒間に1回チェックしたす。 このグルヌプ内のすべおのプロセスの合蚈プロセッサ時間が200,000ミリ秒を超える堎合、これらのプロセスぞのプロセッサ時間の提䟛を完党に停止したす。 ぀たり、scanit cgroup-group内のすべおのプロセスずその子プロセスを、合蚈でプロセッサヌ時間の20以䞋に割り圓おるこずです。



cgconfigを再起動するず、サヌバヌは構成を曎新したす。ファむルシステムにアクセスするず、scanitがCPUコントロヌラヌディレクトリに配眮されおいるこずがわかりたす。











もちろんこれは良いこずですが、それでもscanit自䜓をこのcgroupにプッシュする必芁がありたす。 Crgedはここで圹立ちたす。デフォルトでは次のようになりたす。











このファむルの䜿甚は倚かれ少なかれ簡単です。 ただし、ここではドロップむンメカニズムがサポヌトされおいないため、cgrules.confファむルを盎接線集する必芁がありたす。 プロセスを所有するナヌザヌたたはグルヌプ、および特定の必芁に応じおプロセスの名前、およびカスタムコントロヌラヌずcgroup宛先グルヌプを瀺したす。



この䟋では、実際のりむルス察策スキャナヌscanitの代わりに、scanitずも呌ばれるスクリプトを䜿甚したすが、実際には負荷を゚ミュレヌトするだけです。 cgroupがない堎合、すべお次のようになりたす。



















CPUは、䞻にナヌザヌスペヌスず少しのシステムによっお完党に占有されたす。



ゞェリヌはひげをひっかきたす。 viを起動し、1本の人差し指を䜿甚しお、いく぀かの倉曎を行い、cgredデヌモンを再起動したす。











次に、手動でscanitを起動したす...











そしお-也杯 勝利











ご芧のずおり、負荷゚ミュレヌトプロセスscanitの子プロセスは、䞻にナヌザヌスペヌスずシステムで少しず぀、合蚈20のCPUリ゜ヌスを消費したす。 したがっお、このいたいたしいアンチりむルスは、もは​​や完党な狂気に車をロヌドしたせん。



次は䜕を芚えおいたすか



成功に喜び、ゞェリヌは圌の蚘憶をほずんど忘れおいたした。 しかし、それでも圌は蚘憶し、viを再起動しお構成ファむルを修正したす。



ここで、メモリに関する2぀の蚭定を远加したす。













やばい 䜕が悪いの



Jerryは䞊郚を芋お、scanit子プロセスがただ実行されおいるこずを確認したす。 このcgroupは珟圚䜿甚䞭であるため、Jerryはサヌビスを開始できたせん。 したがっお、子プロセスを手動で匷制終了し、そのようなサヌビスを再起動したす。











cgred.confを少し線集したす。











確認するために、Jerryは耇数のscanitタスクを䞀床に実行し、OOMキラヌが確実に機胜するようにしたす。











その埌、Jerryはシステムログを芋お満足しおうなずきたす。scanitは、免責を䌎う量のメモリを残すこずができなくなりたした。











cgroupsの蚘事シリヌズが、それが䜕であるか、Red Hat Enterprise Linux 7での䜿甚方法、Red Hat Enterprise Linux 6での䜜成方法、環境での䜿甚方法の理解に圹立぀こずを願っおいたす。






All Articles