aufs(Another
UnionFS)は、
Linux環境において複数の
ファイルシステムをあたかも一つの
ファイルシステムのように統合する技術です。具体的には、複数の異なる
ファイルシステム(ブランチ)を重ね合わせ、ユーザーからは単一の
ファイルシステムとして認識させることができます。この仕組みは、
UnionFSという既存の技術をベースに、より高度な機能と安定性を追求するために開発されました。
aufsの仕組み
aufsは、
UnionFSと同様に、データの物理的な書き込みを直接行うわけではありません。書き込み可能なブランチが、データの変更を実際に保存する役割を担います。この方式により、元の
ファイルシステムを保護しつつ、変更を加えて実験的な環境を構築したり、データのバックアップや差分管理を効率的に行ったりすることが可能になります。
開発の経緯と特徴
aufsの開発は、2006年初頭に岡島順治郎氏によって開始されました。
UnionFSの完全な書き換えを目指し、信頼性とパフォーマンスを向上させることを目標としています。aufsは、書き込み可能なブランチのバランシングやその他の新しい概念を導入しており、それらのアイデアの一部は
UnionFS 2.xにも取り込まれています。
aufsの採用事例
その安定性とパフォーマンスの高さから、多くのプロジェクトやディストリビューションで採用されてきました。例えば、
Knoppixや
SLAXといった
Linuxディストリビューションは、以前の
UnionFSからaufsに切り替えることで、システム全体の安定性向上に成功しています。また、
Linux Liveスクリプトもaufsを利用して、柔軟で安定した環境を提供しています。
ASUS
Eee PC モデル 901に搭載されているXandrosも、aufsを採用しています。また、Debianや
Ubuntuといったディストリビューションでは、aufsを利用し、
ファイルシステムへの変更を一時的にメモリ(tmpfs)に保存するためのツール「fsprotec」が提供されています。このツールを使用することで、設定ファイルを実験的に変更し、再起動時に元の状態に戻すといった運用が可能になります。これにより、サーバーの設定変更などを安全に行えるようになります。
コンテナ技術での利用
コンテナ型
仮想化技術である
Dockerは、以前はストレージドライバとしてaufsを利用していました。aufsは、
Dockerの持つ差分管理の機能を効率的に実現する上で重要な役割を果たしていました。しかし、2020年1月現在では、
Dockerは基本的にoverlay2をストレージドライバとして採用しています。overlay2は、aufsよりも新しい技術であり、より高いパフォーマンスと安定性を提供します。ただし、
Linuxカーネル 3.13以前の
Ubuntuではoverlay2を使用できないため、これらの環境では依然としてaufsが利用されることがあります。
関連技術
ファイルシステム: オペレーティングシステムがデータを保存・管理するための仕組みです。
UnionFS: aufsのベースとなっている技術で、複数の
ファイルシステムを統合する機能を提供します。Erez Zadok教授とStony Brook大学の研究チームによって開発されました。
Docker: コンテナ
仮想化技術で、アプリケーションを軽量なコンテナにパッケージ化し、実行するためのプラットフォームです。
外部リンク
公式ウェブサイト
単純な例
Linuxキーワード - AUFS:ITproへのリンク'>
Linuxキーワード - AUFS:ITpro