Dockerのoverlayfsドライバーによる性能向上

※この記事は読者によって投稿されたユーザー投稿です:
  • 編集部の見解や意向と異なる内容の場合があります
  • 編集部は内容について正確性を保証できません
  • 画像が表示されない場合、編集部では対応できません
  • 内容の追加・修正も編集部では対応できません

CTC教育サービスはコラム「Dockerのoverlayfsドライバーによる性能向上」を公開しました
はじめに
 前回のコラムでは、Dockerのストレージバックエンドの性能比較として、1000個のコンテナーを起動/停止するベンチマークの結果を紹介しました。その中で、オーバーレイ型のファイルシステムを利用した、overlayfsドライバーの性能が優れていることがわかりました。今回は、このoverlayfsドライバーについて解説したいと思います。

overlayfsの仕組み
 overlayfsは、2014年の年末に公開されたLinuxカーネル3.18で正式採用されており、Linuxの標準機能として利用することができます。たとえば、Fedora22では、標準でoverlayfsが利用可能になっています(*1)。

 overlayfsは、「Lowerレイヤー」と呼ばれる既存のディレクトリーの上に、「Upperレイヤー」と呼ばれる新しいディレクトリーを被せた状態で、ファイルシステムをマウントする機能を提供します。次は、「/old」ディレクトリーに「/upper」ディレクトリーを被せて、「/new」ディレクトリーにマウントする例になります。「/work」は、overlayfsが内部的に使用する作業用ディレクトリーです。

# mount -t overlay overlay -o upperdir=/upper,lowerdir=/old,workdir=/work /new
 /newの中を見ると/old同じ内容が見えますが、/newに書き込んだ内容は、上に被せた/upperの方に保存されます。つまり、既存のディレクトリーに透明なビニールシートを被せて読み書きしているようなもので、既存のディレクトリーの内容を破壊することなく、自由に読み書きすることが可能になります。この時、1つのLowerレイヤーに対して、異なるUpperレイヤーを用いて、複数のマウントポイントにマウントすることも可能です。これは、Lowerレイヤーのディレクトリーについて、複数のスナップショットコピーを作成して、同時に読み書きするような使い方になります。

Dockerのoverlayfsドライバー
 Dockerでoverlayfsドライバーを利用すると、ローカルにダウンロードしたDockerイメージは、それぞれ、ディレクトリー「/var/lib/docker/overlay/<イメージID>/root」の下に展開されます。この時、ベースイメージから派生したイメージの場合、ベースイメージに含まれるファイルについては、ベースイメージのディレクトリーにあるファイルへのハードリンクを使用することで、ディスク使用量を削減します。

この続きは以下をご覧ください
http://www.school.ctc-g.co.jp/columns/nakai/nakai69.html

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

Webアプリケーション
Webアプリケーションは、一般にオンラインで作動するアプリケーションを指す。 ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]