NOTE
Linux AUFS
1. History of Linux AUFS Because UnionFS had poor reliability and performance, AUFS is effectively a rewrite of UnionFS. 2. What Is Linux AUFS? Advanced multi layered unification filesystem is an implementation of union mount for the Linux filesystem
This is a historical learning note and may contain outdated or incomplete understanding.
1. History of Linux AUFS
Because UnionFS had poor reliability and performance, AUFS is effectively a rewrite of UnionFS.
2. What Is Linux AUFS?
Advanced multi-layered unification filesystem is an implementation of union mount for the Linux filesystem. A union mount is a method of combining multiple directories into one directory. Externally, this directory appears to contain the contents of all the directories.
3. Why Linux AUFS Is Needed
4. How to Use Linux AUFS
- Create directories and files
mkdir aufs mkdir aufs/mnt mkdir aufs/container-layer echo "I am container layer" > aufs/container-layer/container-layer.txt mkdir aufs/{image-layer1,image-layer2,image-layer3} echo "I am image layer 1" > aufs/image-layer1/image-layer1.txt echo "I am image layer 2" > aufs/image-layer2/image-layer2.txt echo "I am image layer 3" > aufs/image-layer3/image-layer3.txt - Mount as AUFS
cd aufs sudo mount -t aufs -o dirs=./container-layer:./image-layer1:./image-layer2:./image-layer3 none ./mnt - View the contents of the mounted directory
tree mnt - Modify the contents of a file under mnt
echo "I changed mnt/image-layer2.txt" >> mnt/image-layer2.txt - View the file contents under mnt and under image-layer2
# changed cat mnt/image-layer2.txt # unchanged cat image-layer2/image-layer2.txt - View the container-layer directory
tree container-layer
5. Linux AUFS Principle
5.1. Copy-on-Write
If a resource is duplicated, there is no need to immediately copy a new resource instance before the resource is modified. The resource is shared by different owners. When any owner wants to modify the resource, a new resource instance is copied for that owner to modify. The modified resource becomes that owner’s private resource. By sharing resources in this way, the cost of copying identical resources can be significantly reduced, but doing so also adds some overhead when the resource is modified.
Discussion
Sign in with GitHub to comment. Discussions are stored as GitHub Issues.View on GitHub