今回からはLXCがコンテナイメージを置く領域に使えるいろいろなストレージバックエンドを利用し,
LXCでいろいろなストレージバックエンドを利用する方法を紹介する前に,
タイトルは
overlayfsとは
overlayfsはunion filesystemの実装の1つで,
話題のDockerが持つ特長として,
Ubuntuなどの一部のディストリビューションではaufsが使えますが,
Ubuntuでは3.
Ubuntuで対応していたためか,
3.
Dockerでは1.
さらに,
overlayfsを使ってみる
union filesystemとか
まずはUbuntu 14.
overlayfsのマウント
まずは必要なディレクトリを作成します。重ねあわせの下層にするディレクトリ,
$ mkdir lower upper overlay $ ls -F lower/ overlay/ upper/
以上のように普通にディレクトリを作成しました。では早速マウントしてみましょう。
overlayfsのマウントにはオプションが必要です。
- lowerdir
- 重ねあわせの下層側のディレクトリ
- upperdir
- 重ねあわせの上層側のディレクトリ
$ sudo mount -t overlayfs -o lowerdir=lower,upperdir=upper overlayfs overlay $
何事もなくmount
コマンドが終了しました。成功したようですね。一応,
$ mount -l | grep overlayfs overlayfs on /home/ubuntu/overlay_test/overlay type overlayfs (rw,lowerdir=lower,upperdir=upper)
確かにマウントされています。では,
$ touch overlay/testfile_overlay $ mkdir overlay/testdir_overlay $ ls -F overlay/ testdir_overlay/ testfile_overlay
当たり前ですが普通にディレクトリとファイルができましたね。では,lower
とupper
はどうなっているか確認してみましょう。
$ ls -F lower/ (下層側ディレクトリの確認) $ ls -F upper/ (上層側ディレクトリの確認) testdir_overlay/ testfile_overlay
以上のようにlower
には何もありませんが,upper
には先ほど作成したファイルとディレクトリがあります。このように重ねあわせた上層であるディレクトリに変更が加えられていきます。
ここでさらにいろいろ試すために,
$ sudo umount overlay $ mount -l | grep overlayfs $
元から上層と下層にファイルが存在する状態でマウント
それではマウントされていない状態で下層であるlower
と上層であるupper
にファイルとディレクトリを置いてみましょう。
$ touch lower/testfile_lower(下層にファイルを作成) $ mkdir lower/testdir_lower (下層にディレクトリを作成) $ touch upper/testfile_upper(上層にファイルを作成) $ mkdir upper/testdir_upper (上層にディレクトリを作成) $ ls -F lower/ (下層側ディレクトリの確認) testdir_lower/ testfile_lower $ ls -F upper/ (上層側ディレクトリの確認) testdir_overlay/ testdir_upper/ testfile_overlay testfile_upper
lower
にはファイルとディレクトリがひとつずつ,upper
には先ほどoverlayfsをマウントした状態で作ったファイルとディレクトリに加えて,
それでは再度マウントしてみましょう。
$ sudo mount -t overlayfs -o lowerdir=lower,upperdir=upper overlayfs overlay
$ ls -F overlay/ (マウントしたディレクトリの確認)
testdir_lower/ testdir_upper/ testfile_overlay
testdir_overlay/ testfile_lower testfile_upper
先ほどマウントした状態で作ったファイル,