init
This commit is contained in:
commit
c5cd492449
475 changed files with 27928 additions and 0 deletions
105
technology/linux/filesystems/Btrfs.md
Normal file
105
technology/linux/filesystems/Btrfs.md
Normal file
|
@ -0,0 +1,105 @@
|
|||
---
|
||||
arch-wiki: https://wiki.archlinux.org/title/Btrfs
|
||||
obj: filesystem
|
||||
---
|
||||
# Btrfs
|
||||
Btrfs is a modern copy on write (CoW) filesystem for [Linux](../Linux.md) aimed at implementing advanced features while also focusing on fault tolerance, repair and easy administration. Btrfs is licensed under the GPL and open for contribution from anyone.
|
||||
|
||||
## Create the filesystem
|
||||
**Single Device**:
|
||||
``` shell
|
||||
mkfs.btrfs -L _mylabel_ /dev/partition
|
||||
```
|
||||
**Multiple Devices (similiar to [RAID](RAID.md))**:
|
||||
```shell
|
||||
mkfs.btrfs -d single -m raid1 /dev/part1 /dev/part2 ...
|
||||
```
|
||||
|
||||
## Subvolumes
|
||||
Subvolumes are their own seperated namespaces and work like [ZFS](ZFS.md) Datasets. They can be mounted seperately. Each Btrfs file system has a top-level subvolume with ID 5.
|
||||
|
||||
**Create a subvolume**:
|
||||
```shell
|
||||
btrfs subvolume create /path/to/subvolume
|
||||
```
|
||||
|
||||
**List suvolumes**:
|
||||
```shell
|
||||
btrfs subvolume list -p path
|
||||
```
|
||||
|
||||
**Delete subvolume**:
|
||||
```shell
|
||||
btrfs subvolume delete /path/to/subvolume
|
||||
```
|
||||
|
||||
## Using Swapfiles
|
||||
Swapfiles can be used by disabling CoW:
|
||||
```shell
|
||||
chattr +C /path/to/swapsubvolume
|
||||
```
|
||||
|
||||
**Use swapfile:**
|
||||
```shell
|
||||
touch /swapfile
|
||||
chattr +C /swapfile
|
||||
fallocate -l 8G /swapfile
|
||||
chmod 0600 /swapfile
|
||||
mkswap /swapfile
|
||||
swapon /swapfile
|
||||
```
|
||||
|
||||
## Filesystem Usage
|
||||
**See Usage**:
|
||||
```shell
|
||||
btrfs filesystem usage /
|
||||
```
|
||||
|
||||
**Available Space:**
|
||||
```shell
|
||||
btrfs filesystem df /
|
||||
```
|
||||
|
||||
## Scrub
|
||||
Btrfs can self heal itself or check for errors with scrubbing.
|
||||
**Start:**
|
||||
```shell
|
||||
btrfs scrub start /
|
||||
```
|
||||
|
||||
**See Status:**
|
||||
```shell
|
||||
btrfs scrub status /
|
||||
```
|
||||
|
||||
## Balance
|
||||
Rebalance the filesystem.
|
||||
```shell
|
||||
btrfs balance start --bg /
|
||||
btrfs balance status /
|
||||
```
|
||||
|
||||
## Snapshots
|
||||
Btrfs can use snapshots
|
||||
```shell
|
||||
btrfs subvolume snapshot source [dest/]name
|
||||
````
|
||||
|
||||
## Resizing
|
||||
Btrfs can be resized.
|
||||
|
||||
**To extend the file system size to the maximum available size of the device:**
|
||||
```shell
|
||||
btrfs filesystem resize max /
|
||||
```
|
||||
|
||||
**To extend the file system to a specific size:**
|
||||
```shell
|
||||
btrfs filesystem resize size /
|
||||
```
|
||||
|
||||
**Add or remove size**
|
||||
```shell
|
||||
btrfs filesystem resize +size /
|
||||
btrfs filesystem resize -size /
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue