ブックマーク / gihyo.jp (8)

  • 第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp

    今回からはLXCがコンテナイメージを置く領域に使えるいろいろなストレージバックエンドを利用し、LXCを便利に使う方法を紹介していきます。 LXCでいろいろなストレージバックエンドを利用する方法を紹介する前に、今後コンテナでの利用が増えそうな、3.18カーネルで新たに追加されたoverlayfsについて紹介しておきましょう。 タイトルは「Linuxカーネルのコンテナ機能」としていますが、これまでの機能と同様にoverlayfsもコンテナ専用として使う機能ではありません。名前空間やCgroup以上にコンテナ以外でさまざまなシーンで使えそうですね。 overlayfsとは overlayfsはunion filesystemの実装の1つで、ディレクトリを重ね合わせて1つのディレクトリツリーが構成できます。 話題のDockerが持つ特長として、よくコンテナイメージの差分管理ができることが挙げられま

    第18回 Linuxカーネルのコンテナ機能 [7] ─ overlayfs | gihyo.jp
  • 第16回 Linuxカーネルのコンテナ機能 [6] ─ユーザ名前空間 | gihyo.jp

    年末を迎えて今年もAdvent Calendarが多数作られていますね。この連載の今回の記事はLinuxカーネルの機能を紹介するので、Linux Advent Calendar 2014の16日目の記事としても書きました。興味深い記事が並んでいて勉強になりますね。 さて、第13回から3回、田向さんにPlamo LinuxでのLXCの利用に焦点を当てて記事を書いていただきました。テンプレート内部の詳しい解説から、Plamo Linuxでのコンテナの作成、ネットワーク構成の応用的な解説、コンテナでサウンドを扱う話まで、面白い記事が続きましたね。 ネットワークの話やサウンドの話はPlamo Linux以外でも十分に応用ができる話でしたし、サウンドの記事に関してはサウンド以外のデバイスをコンテナで使う場合にも非常に参考になる話だったと思います。 田向さん担当の記事のうち、第14回と第15回では一般

    第16回 Linuxカーネルのコンテナ機能 [6] ─ユーザ名前空間 | gihyo.jp
  • 第38回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2 [2] | gihyo.jp

    前回の記事は、私が所属する会社のAdvent Calendarの5日目の記事でした。これまでは、この連載記事でAdvent Calendarに参加するのは1回だけでした。 今年はcgroup v2の話題を書こうと決めたときに、内容から考えて1回では済まない量になるだろうと思いました。そこで、続けて2回でcgroup v2の紹介をして、2つのAdvent Calendarに参加しようと決めました。1回目はちょうど社内で募集が始まっていた会社のAdvent Calendar、2回目は例年どおりLinux Advent Calendarに参加することにしました。 そういうわけで、今回の記事は昨年まで何度か参加していたLinux Advent Calendar 2017の19日目の記事です。 今回は、実際にcgroup v2を操作しながら、前回紹介したcgroup v2の特徴をおさらいしましょう。

    第38回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2 [2] | gihyo.jp
  • 第37回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[1] | gihyo.jp

    この連載をはじめてから、毎年この連載の記事でAdvent Calendarに参加してきました。昨年までは、この連載の記事で"Linux Advent Calendar"に参加してきました。 今年は参加するカレンダーを少し変えて、まずはこの記事で私が所属する会社のAdvent Calendarであるファーストサーバ Advent Calendar 2017の5日目に参加してみます。あまりたくさんの人が興味を持たなさそうな話題なので、会社のAdvent Calendarにマッチするのか心配です (^_^;)。 さて、Linuxでコンテナでリソース制限を行うための機能として、この連載では第3回から第5回まで3回に渡ってcgroupについて解説しました。 cgroupは、多くのLinuxディストリビューションでinitとして採用されているsystemdが使っていますので、今やLinuxをお使いであ

    第37回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[1] | gihyo.jp
  • 第5回 Linuxカーネルのコンテナ機能[4] ─cgroupとは?(その3) | gihyo.jp

    サブシステム紹介(続き) 今回は前回紹介できなかったサブシステムを紹介したあと、cgroup開発の現状に少し触れたいと思います。 Memoryサブシステム コンテナに対してメモリの制限を行いたい場合に使用するのがmemoryサブシステムです。cgroupに対して制限値を設定したり、cgroupのメモリ使用量の監視をしたりできます。 まずは制限を設定してみましょう。制限を設定するには以下の2つのファイルに値を書き込みます。 memory.limit_in_bytes メモリ消費量の制限値の設定と表示(バイト) memory.memsw.limit_in_bytes メモリ+スワップメモリの消費量の制限値の設定と表示(バイト) スワップの消費量も含めた制限を設定したい場合は後者を、スワップの消費量はカウントしない場合は前者を使用します。制限値の設定にはk、K、m、M、g、Gといった単位の文字が

    第5回 Linuxカーネルのコンテナ機能[4] ─cgroupとは?(その3) | gihyo.jp
  • 第4回 Linuxカーネルのコンテナ機能[3] ─cgroupとは?(その2) | gihyo.jp

    表1にある「実装されたバージョン」はカーネルに実装されたバージョンで、ディストリビューションによってはこれよりも古いバージョンのカーネルにバックポートされている場合もあります。また、実装された時点では階層構造がサポートされておらず、後のバージョンで実装されたものもあります。 お使いのシステムで使用可能なサブシステムは、カーネルのバージョンだけでなく、カーネルをどのような設定で作成したかによっても違います。使用可能なサブシステムは以下のように/proc/cgroupsで確認できます。 $ cat /proc/cgroups #subsys_name hierarchy num_cgroups enabled cpuset 0 1 1 cpu 0 1 1 cpuacct 0 1 1 memory 0 1 1 devices 0 1 1 freezer 0 1 1 blkio 0 1 1 per

    第4回 Linuxカーネルのコンテナ機能[3] ─cgroupとは?(その2) | gihyo.jp
  • 第3回 Linuxカーネルのコンテナ機能[2] ─cgroupとは?(その1) | gihyo.jp

    前回は、コンテナの仕組みとLinuxカーネルに実装されているコンテナ関連機能のひとつである名前空間について説明しました。今回は名前空間と並んでコンテナの実現に重要な役割を担っているcgroupについて説明していきます。 cgroupは2006年9月にGoogleエンジニアによって最初のパッチが投稿され、2.6.24カーネルで最初のマージがなされた機能です。2010年にリリースされたRed Hat Enterprise Linux 6.0にこの機能が搭載され、専用のマニュアルが存在したことから、使ったことのある方や、名前をご存知の方も多いのではないでしょうか。 cgroupは"Control Group"の略です。プロセスをグループ化して、そのグループ内に存在するプロセスに対して共通の管理を行うために使います。たとえば、ホストOSが持つCPUやメモリなどのリソースに対して、グループごとに制

    第3回 Linuxカーネルのコンテナ機能[2] ─cgroupとは?(その1) | gihyo.jp
  • 第2回 コンテナの仕組みとLinuxカーネルのコンテナ機能[1]名前空間とは? | gihyo.jp

    前回は、Linuxで使えるコンテナの実装を説明したあと、LXCを使って簡単にコンテナの作成、起動、停止が行えるところを紹介しました。今回は、そのコンテナの仕組みを簡単に説明し、その仕組みからくるメリット・デメリットを紹介した後、コンテナはカーネルのどのような仕組みを使って動作しているのかを簡単に説明していきたいと思います。 コンテナの仕組み コンテナをまだ使ったことがない方でも、VMwareやVirtualBox、KVMといった仮想マシン(VM)を使ったことはあるという方は多いのではないでしょうか。まずはVMとの比較をしながら、コンテナの仕組みを説明してみましょう。 図1 VMとコンテナの仕組み(1)仮想マシン VMでは図1のように、コンピュータの上で動くOSやVMを実現するためのハイパーバイザの上で、実際のハードウェアをエミュレートするVMが動きます。つまり実際の物理的なコンピュータと同

    第2回 コンテナの仕組みとLinuxカーネルのコンテナ機能[1]名前空間とは? | gihyo.jp
  • 1