Linux btrfs文件系统
btrfs,它名字挺多:B-tree fs;Butter fs;Better fs
开源协议是GPL,2007年由Oracle研发
核心特性:
- 多物理卷支持,btrfs可由多个物理卷组成;支持RAID,可以联机状态下,添加,移除,修改
- 写时复制(Cow:copy on write):修改前的文件内容还是保留的,只是让指针指向修改后的文件
- 数据及元数据校验码:checksum
- 支持子卷:sub_volume
- 支持快照:而且支持快照的快照
- 透明压缩:顶层用户感觉不到文件是被压缩了的,当要使用文件时,自动解压缩,但消耗cpu时钟。
btrfs有很多以btrfs开头的命令:
# btrfs
btrfs btrfs-convert btrfs-find-root btrfs-map-logical btrfstune
btrfsck btrfs-debug-tree btrfs-image btrfs-select-super btrfs-zero-log
btrfs有许多子命令,每个命令的帮助都可以使用--help获得。
管理子卷:btrfs subvolume
btrfs filesystem df
显示已有的btrfs:btrfs filesystem show
btrfs filesystem sync
动态调整文件系统的大小:btrfs filesystem resize
添加卷标:btrfs filesystem label
调整文件系统空间的分布:btrfs balance start
当新增物理卷后,把原来物理卷上的数据,调整一些到新增的物理卷上。
添加物理卷:btrfs device add
删除物理卷:btrfs device delete
擦除数据:btrfs scrub
紧急救援:btrfs rescue chunk-recover
修复:btrfs restore
创建btrfs文件系统:mkfs.btrfs命令(版本:btrfs-progs v4.9.1)
指定卷标:-L "label"
指定数据区的数据存放方式:-d <type>:raid0(默认值),raid1,raid5,raid6,raid10,single
指定元数据区的数据存放方式:-m <profile>:raid0,raid1(默认值),raid5,raid6,raid10,single,dup
指定文件系统的功能:-O <feature>
mkfs.btrfs -O list-all
:列出当前内核所支持的功能。btrfs的feature很多,但是并不是内核都默认支持。
btrfs的应用场景:组合多个硬盘构成一个文件系统。
组合一个硬盘的多个分区成一个btrfs,没有太大意义。
在centos7 1810上,试验创建btrfs
1,创建btffs
设备/dev/sdb和/dev/sdc分别是2块独立的硬盘。
组合/dev/sdb和/dev/sdc,创建bttfs,卷标是btr01.
-f的作用是:/dev/sdb原来有分区,-f就是强制覆盖原来分区里的内容。如果分区是干净的则不需要-f选项。
# mkfs.btrfs -f -L btr01 /dev/sdb /dev/sdc
btrfs-progs v4.9.1
See http://btrfs.wiki.kernel.org for more information.
Label: btr01
UUID: b1998e72-a16c-4b56-9a6b-8315bb621ff1
Node size: 16384
Sector size: 4096
Filesystem size: 2.00GiB
Block group profiles:
Data: RAID0 204.75MiB
Metadata: RAID1 102.38MiB
System: RAID1 8.00MiB
SSD detected: no
Incompat features: extref, skinny-metadata
Number of devices: 2
Devices:
ID SIZE PATH
1 1.00GiB /dev/sdb
2 1.00GiB /dev/sdc
2,查看创建出来的btffs
# btrfs filesystem show
Label: 'btr01' uuid: b1998e72-a16c-4b56-9a6b-8315bb621ff1
Total devices 2 FS bytes used 112.00KiB
devid 1 size 1.00GiB used 212.75MiB path /dev/sdb
devid 2 size 1.00GiB used 212.75MiB path /dev/sdc
3,用blkid查看,发现UUID是相同的,子卷id(UUID_SUB)是不同的。
# blkid /dev/sdb
/dev/sdb: LABEL="btr01" UUID="b1998e72-a16c-4b56-9a6b-8315bb621ff1" UUID_SUB="beceebee-4b19-4aed-a6df-a2d7464be690" TYPE="btrfs"
# blkid /dev/sdc
/dev/sdc: LABEL="btr01" UUID="b1998e72-a16c-4b56-9a6b-8315bb621ff1" UUID_SUB="7ef84d41-8cb6-4cb9-bb38-265e50283157" TYPE="btrfs"
4,查看已经挂载的btrfs
btrfs filesystem show --mounted
5,通过设备文件查看
# btrfs filesystem show /dev/sdb
Label: 'btr02' uuid: 1f0bca0c-adca-4270-b1a5-670765382d81
Total devices 2 FS bytes used 112.00KiB
devid 1 size 1.00GiB used 212.75MiB path /dev/sdb
devid 2 size 1.00GiB used 212.75MiB path /dev/sdc
# btrfs filesystem show /dev/sdc
Label: 'btr02' uuid: 1f0bca0c-adca-4270-b1a5-670765382d81
Total devices 2 FS bytes used 112.00KiB
devid 1 size 1.00GiB used 212.75MiB path /dev/sdb
devid 2 size 1.00GiB used 212.75MiB path /dev/sdc
6,通过挂载点查看
# btrfs filesystem show /mnt
Label: 'btr02' uuid: 1f0bca0c-adca-4270-b1a5-670765382d81
Total devices 2 FS bytes used 264.00KiB
devid 1 size 1.00GiB used 212.75MiB path /dev/sdb
devid 2 size 1.00GiB used 212.75MiB path /dev/sdc
7,查看btrfs设备文件的卷标:btrfs filesystem label /dev/sdc
8,查看文件系统里使用了多少空间:btrfs filesystem df 挂载点
# btrfs filesystem df /mnt
Data, RAID0: total=204.75MiB, used=136.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=102.38MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
挂载btrfs
和挂载别的文件系统没有区别。
# mount /dev/sdb /mnt
添加文件,卸载,再挂载(再挂载的时候,指定磁盘/dev/sdc,效果和指定磁盘/dev/sdb是相同的),发信添加的文件还在
# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# touch a.txt
[root@localhost mnt]# cp /etc/grub2.cfg ./
[root@localhost mnt]# ls
a.txt grub2.cfg
[root@localhost mnt]# cd ..
[root@localhost /]# umount /dev/sdb
[root@localhost /]# ls /mnt
[root@localhost /]# mount /dev/sdb /mnt
[root@localhost /]# ls /mnt
a.txt grub2.cfg
挂载时,启动透明压缩功能
透明压缩有2个算法:compress={lzo|zlib}
# mount -o compress=lzo /dev/sdc /mnt
扩容和缩减
扩展和缩减不需要事先卸载文件系统
btrfs filesystem resize [<devid>:][+/-]<size>[kKmMgGtTpPeE]|[<devid>:]max <path>
1,缩减
缩减前的状态:直接用df命令查看是2.0G
# btrfs filesystem df /mnt
Data, RAID0: total=204.75MiB, used=136.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=102.38MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 38G 4.5G 33G 13% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.5M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 19G 39M 19G 1% /home
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 28K 379M 1% /run/user/1000
tmpfs 379M 0 379M 0% /run/user/0
/dev/sdb 2.0G 17M 1.8G 1% /mnt
缩减后的状态:直接用df命令查看是1.6G.
用btrfs filesystem df /mnt
看,缩减前后都一样。
# btrfs filesystem resize -500m /mnt
Resize '/mnt' of '-500m'
# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 38G 4.5G 33G 13% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.5M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 19G 39M 19G 1% /home
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 28K 379M 1% /run/user/1000
tmpfs 379M 0 379M 0% /run/user/0
/dev/sdb 1.6G 17M 826M 2% /mnt
# btrfs filesystem df /mnt
Data, RAID0: total=204.75MiB, used=136.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=102.38MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
缩减后,看看文件是否有损坏
# ls /mnt
a.txt grub2.cfg
[root@localhost /]# less /mnt/grub2.cfg
2,扩容
扩容前:直接用df命令查看是1.6G.
# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 38G 4.5G 33G 13% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.5M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 19G 39M 19G 1% /home
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 28K 379M 1% /run/user/1000
tmpfs 379M 0 379M 0% /run/user/0
/dev/sdb 1.6G 17M 826M 2% /mnt
# btrfs filesystem df /mnt
Data, RAID0: total=204.75MiB, used=136.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=102.38MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
扩容后:直接用df命令查看是1.9G.
用btrfs filesystem df /mnt
看,扩容前后都一样。
# btrfs filesystem resize +300M /mnt
Resize '/mnt' of '+300M'
# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 38G 4.5G 33G 13% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.6M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 19G 39M 19G 1% /home
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 28K 379M 1% /run/user/1000
tmpfs 379M 0 379M 0% /run/user/0
/dev/sdb 1.9G 17M 1.4G 2% /mnt
# btrfs filesystem df /mnt
Data, RAID0: total=204.75MiB, used=136.00KiB
System, RAID1: total=8.00MiB, used=16.00KiB
Metadata, RAID1: total=102.38MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
扩容到逻辑边界的最大:btrfs filesystem resize max /mnt
如果已经到了逻辑边界的最大后,还想扩大,则添加物理磁盘。
# btrfs filesystem resize max /mnt
Resize '/mnt' of 'max'
# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 38G 4.5G 33G 13% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.6M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 19G 39M 19G 1% /home
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 28K 379M 1% /run/user/1000
tmpfs 379M 0 379M 0% /run/user/0
/dev/sdb 2.0G 17M 1.8G 1% /mnt
物理扩容:btrfs device add /dev/sdd /mnt
添加磁盘/dev/sdd
# btrfs device add /dev/sdd /mnt
[root@localhost /]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 38G 4.5G 33G 13% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.6M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 19G 39M 19G 1% /home
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 28K 379M 1% /run/user/1000
tmpfs 379M 0 379M 0% /run/user/0
/dev/sdb 3.0G 17M 2.6G 1% /mnt
添加磁盘后,不会自动把原来磁盘里存的东西,分给新添加的磁盘,要想分给新的磁盘,需要使用 btrfs balance start
# btrfs balance start /mnt
WARNING:
Full balance without filters requested. This operation is very
intense and takes potentially very long. It is recommended to
use the balance filters to narrow down the balanced data.
Use 'btrfs balance start --full-balance' option to skip this
warning. The operation will start in 10 seconds.
Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting balance without any filters.
Done, had to relocate 3 out of 3 chunks
如果磁盘里的数据很多,则执行需要很多时间,所以就有了查看状态,暂停,取消,继续等命令
- 查看状态:
btrfs balance status
- 暂停:
btrfs balance pause
- 继续:
btrfs balance resume
- 取消:
btrfs balance cancel
拆除掉一个物理磁盘:btrfs device delete /dev/sdd /mnt
拆除物理设备前不需要卸载,会自动把要拆掉磁盘里的内容,拷贝到别的磁盘(lvm在拆掉物理磁盘前,需要手动使用pvmove命令,拷贝内容到别的pv里)
# btrfs device delete /dev/sdd /mnt
# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 38G 4.5G 33G 13% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 9.6M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
/dev/mapper/centos-home 19G 39M 19G 1% /home
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 28K 379M 1% /run/user/1000
tmpfs 379M 0 379M 0% /run/user/0
/dev/sdb 2.0G 17M 1.6G 2% /mnt
发现空间从3G变成了2G。
修改RAID级别
修改元数据去的raid级别:btrfs balance start -dconvert=raid1 /mnt
# btrfs filesystem df /mnt
Data, RAID0: total=224.00MiB, used=136.00KiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=208.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
# btrfs balance start -dconvert=raid1 /mnt
Done, had to relocate 1 out of 3 chunks
# btrfs filesystem df /mnt
Data, RAID1: total=208.00MiB, used=200.00KiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=208.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
修改数据区的raid级别:btrfs balance start -mconvert=raid5 /mnt
# btrfs filesystem df /mnt
Data, RAID1: total=208.00MiB, used=200.00KiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=208.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
# btrfs device add /dev/sdd /mnt
# btrfs balance start -mconvert=raid5 /mnt
Done, had to relocate 2 out of 3 chunks
[root@localhost ~]# btrfs filesystem df /mnt
Data, RAID1: total=208.00MiB, used=200.00KiB
System, RAID5: total=64.00MiB, used=16.00KiB
Metadata, RAID5: total=256.00MiB, used=112.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
管理子卷
1,创建子卷btrfs subvolume create /mnt/子卷名
。/mnt是挂载点。
直接在挂载点下创建
# btrfs subvolume create /mnt/logs
Create subvolume '/mnt/logs'
# btrfs subvolume create /mnt/cache
Create subvolume '/mnt/cache'
2,查看子卷: btrfs subvolume list /mnt
logs子卷的id是265;cache的id是266
# btrfs subvolume list /mnt
ID 265 gen 104 top level 5 path logs
ID 266 gen 106 top level 5 path cache
3,查看详细信息:
/mnt是父卷
/mnt/logs和/mnt/cache是子卷
# btrfs subvolume show /mnt
/mnt
Name: <FS_TREE>
UUID: -
Parent UUID: -
Received UUID: -
Creation time: -
Subvolume ID: 5
Generation: 100
Gen at creation: 0
Parent ID: 0
Top level ID: 0
Flags: -
Snapshot(s):
logs
cache
[root@localhost ~]# btrfs subvolume show /mnt/logs/
/mnt/logs
Name: logs
UUID: fa094c8f-b0f3-0749-b885-c1b60c7fa009
Parent UUID: -
Received UUID: -
Creation time: 2020-02-11 15:33:20 +0800
Subvolume ID: 265
Generation: 104
Gen at creation: 99
Parent ID: 5
Top level ID: 5
Flags: -
Snapshot(s):
[root@localhost ~]# btrfs subvolume show /mnt/cache/
/mnt/cache
Name: cache
UUID: ce332381-964e-ff45-a4c0-dff98ed01914
Parent UUID: -
Received UUID: -
Creation time: 2020-02-11 15:33:27 +0800
Subvolume ID: 266
Generation: 106
Gen at creation: 100
Parent ID: 5
Top level ID: 5
Flags: -
Snapshot(s):
3,挂载子卷:mount -o subvol=logs /dev/sdc/ /mnt
子卷可以独立挂载。父卷挂载后,下面的子卷会被自动挂载。
# btrfs subvolume create /mnt/logs
Create subvolume '/mnt/logs'
# btrfs subvolume create /mnt/cache
Create subvolume '/mnt/cache'
# cp /var/log/messages /mnt/logs/
# touch /mnt/cache/ca.txt
# umount /mnt
# mount -o subvol=logs /dev/sdc/ /mnt
# ls /mnt
messages
# umount /mnt
# mount -o subvol=cache /dev/sdc/ /mnt
# ls /mnt
ca.txt
# umount /mnt
# mount /dev/sdd/ /mnt
# ls /mnt/{logs,cache}
/mnt/cache:
ca.txt
/mnt/logs:
messages
4,通过子卷id挂载
# btrfs subvolume list /mnt
ID 265 gen 104 top level 5 path logs
ID 266 gen 106 top level 5 path cache
# mount -o subvolid=265 /dev/sdb /mnt
# ls /mnt
messages
5,删除子卷
# btrfs subvolume list /mnt
ID 265 gen 104 top level 5 path logs
ID 266 gen 106 top level 5 path cache
# btrfs subvolume delete /mnt/logs
Delete subvolume (no-commit): '/mnt/logs'
# btrfs subvolume list /mnt
ID 266 gen 106 top level 5 path cache
快照管理
lvm中,快照必须和被快照的卷在同一个卷组(VG)中;
同理,子卷的快照必须和子卷在同一父卷中。
1,创建快照:btrfs subvolume snapshot /mnt/cache/ /mnt/cache_snapshot
/mnt/cache/是被快照的卷;
/mnt/cache_snapshot是快照卷。
# btrfs subvolume snapshot /mnt/cache/ /mnt/cache_snapshot
Create a snapshot of '/mnt/cache/' in '/mnt/cache_snapshot'
# ls /mnt/
a.txt cache cache_snapshot grub2.cfg
# ls /mnt/cache_snapshot/
ca.txt
# echo "new line" >> /mnt/cache/ca.txt
# cat /mnt/cache/ca.txt
new line
# cat /mnt/cache_snapshot/ca.txt
2,删除快照卷:
和删除子卷一样
# btrfs subvolume delete /mnt/cache_snapshot/
Delete subvolume (no-commit): '/mnt/cache_snapshot'
3,文件的快照:
# cp --reflink ca.txt ca.bak
[root@localhost cache]# cat ca.txt
new line
[root@localhost cache]# cat ca.bak
new line
[root@localhost cache]# echo 222 >> ca.txt
[root@localhost cache]# cat ca.txt
new line
222
[root@localhost cache]# cat ca.bak
new line
如果不是在b tree文件系统里,执行cp --reflink ca.txt ca.bak
命令是报错误的。
把ext系列文件系统无损转换成btrfs
/dev/sdd1是ext4文件系统
# blkid /dev/sdd1
/dev/sdd1: UUID="116b845a-5d35-4972-aa43-f9b67469072b" TYPE="ext4"
# mount /dev/sdd1 /mnt
# cp /etc/fstab /mnt
1,先卸载
# umount /mnt
2,检查
# fsck -f /dev/sdd1
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdd1: 12/57600 files (0.0% non-contiguous), 8289/230400 blocks
3,转换成btrfs
# btrfs-convert /dev/sdd1
create btrfs filesystem:
blocksize: 4096
nodesize: 16384
features: extref, skinny-metadata (default)
creating ext2 image file
creating btrfs metadatacopy inodes [o] [ 0/ 12]
conversion complete
# btrfs filesystem show /dev/sdd1
Label: none uuid: 21520cb5-9f79-4199-b1fb-c8e9d093f4d1
Total devices 1 FS bytes used 32.05MiB
devid 1 size 900.00MiB used 227.00MiB path /dev/sdd1
# blkid /dev/sdd1
/dev/sdd1: UUID="21520cb5-9f79-4199-b1fb-c8e9d093f4d1" UUID_SUB="f113dae5-0722-4409-bc76-6d44b7601035" TYPE="btrfs"
4,挂载后,发现确实是无损,文件还在。但多了个ext2_saved目录,这个目录不能删除。有这个目录,还能从btrfs转回去。
# mount /dev/sdd1/ /mnt
# ls /mnt
ext2_saved fstab lost+found
# cat /mnt/fstab
#
# /etc/fstab
# Created by anaconda on Fri Nov 29 16:44:28 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=3d3b316a-529e-484a-9895-e785fdde5365 /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
5,转回ext
# btrfs-convert -r /dev/sdd1
# c/c++ 学习互助QQ群:877684253
![](https://img2018.cnblogs.com/blog/1414315/201811/1414315-20181106214320230-961379709.jpg)
# 本人微信:xiaoshitou5854
Linux btrfs文件系统的更多相关文章
- Linux学习笔记之 Btrfs文件系统简介及使用
Btrfs 也有一个重要的缺点,当 BTree 中某个节点出现错误时,文件系统将失去该节点之下的所有的文件信息.而 ext2/3 却避免了这种被称为”错误扩散”的问题. Btrfs相关介绍: Btrf ...
- Linux学习笔记之Btrfs 文件系统
0x00 btrfs文件系统简介 btrfs文件系统:技术预览版(Centos7)Btrfs(B-tree.Butter FS.Better FS),GPL授权,Orale2007提出是想用来取代Ex ...
- linux下文件系统类型的学习
1. 以超级用户权限登陆Linux,进入 /lib/modules/2.6.32--504.el6.x86_64/kernel/fs目录执行 ls 命令(不同Linux发行版本的Fs目录有些不同你可 ...
- 存储那些事儿(五):BTRFS文件系统之Btree结构详解
Btree数据结构可以说是BTRFS文件系统的基础.它提供了一个通用的方式去存储不同的数据类型.它仅仅存储3个数据类型:key, item和block header. btrfs_header的定义如 ...
- linux btrfs文件系统管理与应用
btrfs文件系统管理与应用 1.btrfs文件系统 基本介绍 btrfs文件系统在CentOS7.x上属于技术预览版 btrfs文件系统英文名:B-tree FileSystem或者Butter ...
- RAID、LVM和btrfs文件系统
一.RAID: Redundant Arrays of Inexpensive Disks,廉价磁盘冗余阵列: Redundant Arrays of Independent Disks,独立磁盘冗余 ...
- Linux及文件系统基本介绍
Linux及文件系统基本介绍 1 互联网行业现状 在服务器端市场: 超级计算机 2014年11月的数据显示前500系统中的485个系统都在运行着 Linux 的发布系统,而仅仅只有一台运行着 Wi ...
- [20150925]Linux之文件系统与SHELL
Linux之文件系统与SHELL 文件系统介绍 ext2/ext3/ext4 Ext2是GNU/Linux系统中标准的文件系统.这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有 ...
- 文件系统管理 之 Linux 创建文件系统及挂载文件系统流程详解
阅读此文,必须具备知识点:<Linux 查看磁盘分区.文件系统.使用情况的命令和相关工具介绍><实例解说 fdisk 使用方法><合理规划您的硬盘分区><Fe ...
随机推荐
- 玩转Django2.0---Django笔记建站基础八(admin后台系统)
第八章 admin后台系统 admin后台系统也成为网站后台管理系统,主要用于对网站前台的信息进行管理,如文字.图片.影音和其他日常使用文件的发布.更新.删除等操作,也包括功能信息的统计和管理,如用户 ...
- Linux网络文件共享服务之smaba
一.SAMBA服务简介 samba是1991年由Andrew Tridgel开发实现,主要用于Windows和unix文件共享.samba实现了共享文件和打印,实现在线编辑,登录SAMBA用户的身份认 ...
- 异想家纯C语言矩阵运算库
Sandeepin最近做的项目中需要在嵌入式芯片里跑一些算法,而这些单片机性能不上不下,它能跑些简单的程序,但又还没到上Linux系统的地步.所以只好用C语言写一些在高级语言里一个函数就解决的算法了, ...
- SpringBoot整合三大组建(Servlet、Listener、Filter)
>[更多资源和教程请关注公众号:**非科班的科班**.如果觉得我写的还可以请给个赞,谢谢大家,你的鼓励是我创作的动力](https://blog.csdn.net/qq_43255017)## ...
- lua 中 . 和 : 的区别
lua 中 . 和 : 的区别 首先在lua中使用":"定义的函数会自动传入一个名为self的变量,这个变量是隐含的,self同c++中的this一样,表示当前对象的指针:而&qu ...
- Nginx(二) 常用配置
全局配置段 # 允许运行nginx服务器的用户和用户组 user www-data; # 并发连接数处理(进程数量),跟cpu核数保存一致: worker_processes auto; # 存放 n ...
- 每天一道Java题[9]
题目 native关键字的作用是什么? 解答 首先,需了解JNI(Java Native Interface),它是连接Java平台与本地C代码的一个API. 其次,用native关键字声明的方法,是 ...
- jsp简单实现交互
test.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...
- 【WPF学习】第四十章 画刷
画刷填充区域,不管是元素的背景色.前景色以及边框,还是形状的内部填充和笔画(Stroke).最简单的画刷类型是SolidColorBrush,这种画刷填充一种固定.连续的颜色.在XAML中设置形状的S ...
- virtualenv 指定 python 解释器的版本
使用如下命令为 ubuntu 系统安装 virtualenv sudo apt-get install python-virtualenv 当我们使用 virtualenv 命令创建虚拟环境时,默认使 ...