btfs
以下都是举例说明:
A. 使用fdisk命令对/dev/sdb进行分区
B. 先对/dev/sdb5和/dev/sdb6进行格式化, 文件系统为btrfs
C. 使用btrfs filesystem show命令查看所有的btrfs类型的分区
D. 发现磁盘不够, 希望扩展该btfs文件系统的大小, 先使用
mount -o compress=zlib /dev/sdb5 mydata
E. 接着使用btrfs device add /dev/sdb7 mydata, 系统就会自动的
将sdb7格式化为btrfs类型, 并添加到btrfs filesystem show中
F.刚刚添加到btrfs中的设备的使用率为0, 为了平均一下空间, 使用
btrfs balance start -dconvert raid1 -mconvert raid1 -sconvert raid1 /mydata
将数据的使用空间合理分配, 并且将存放元数据的方式改为raid1, 存放数据的方式改为raid1
系统的数据使用raid1的方式进行存储
G. 发现IO操作耗时, 使用btrfs balance pause mydata暂停一下
H. 继续进程balance, 使用btrfs balance resume mydata
I. 发现不需要对存储空间进行均衡了, 使用btrfs balance cancel mydata
J. 查看均衡的状态: btrfs balance status mydata
K. 创建一个子卷, 首先进入父卷(mydata)目录下, 使用btrfs subvolume create test
在目录中就会自动生成一个名为test的目录, 该目录就是我们需要的子卷
L. 在子卷中vim一个main文件
M. 在使用btrfs subvolume create test2再一次创建一个子卷, 目录名为test2
在该目录中创建一个文件main2
N. 想要只挂载该mydata卷的子卷test, 卸载mydata, 使用命令umount mydata
O. 将子卷挂载, 但是需要先知道子卷的名称, 以为已经卸载了mydata, 无法通过访问mydata来查看,
进入到mydata中是没有任何内容的, 使用btrfs subvolume list mydata也无法访问, 因此我们
需要再一次挂载mydata这个父卷来查看指定子卷
使用命令 mount -o compress=zlib /dev/sdb5 mydata
在使用btrfs subvolume list mydata查看其所有的子卷
P. 使用umount mydata卸载父卷, 再使用mount -o subvol=test /dev/sdb5 mydata(其中的mydata目录也可以是别的目录)
或者也可以通过指定子卷的id号来挂载, 使用mount -o subvolid=256 /dev/sdb5 mydata
Q. 进入到test目录中, 发现只有一个main文件
R. 现在希望将test子卷删除, 需要卸载test, 挂载上父卷
S. 进入到父卷中, 使用命令btrfs subvolume delete test即可
U. 现在想要删除/dev/sdb7, 使用btrfs device delete /dev/sdb7 mydata
在删除该设备时, btrfs文件系统会将该设备上的所有的数据到放在其他的设备上
目的就是为了防止数据的丢失, 如果只有一个设备的话, 使用命令会报错
V. 使用btrfs-convert进行文件系统类型的转换
① 先卸载umount mydata
② 使用fsck -f /dev/sdb5进行强制检测
③ 使用btrfs-convert /dev/sdb8将/sdb8设备的文件系统的格式转换为btrfs
④ 如果希望在将/deb/sdb8的文件系统还原, 使用btrfs-convert -r /dev/sdb8即可
⑤ 之后再将该设备挂载即可
注意: 如果LVM卷被格式化成了xfs文件系统, 我们在lvresize了lvm之后, 要想扩展文件系统, 不能使用resize2fs, 而是应该使用xfs_grows
btfs的更多相关文章
- 群晖系统下btfs(占用5%)和ext4文件格式的硬盘占用和选择
1个人感觉选择ext4就可以,毕竟重要数据会设置raid1 不重要的数据也不需要快照什么的 商用除外 对于一个4t的硬盘 实际容量3726G 使用ext4可用空间3666G,群晖 占用60G大概1.6 ...
- 4 个最好的 Linux 引导程序
导读 当你打开你的机器,开机自检(POST)成功完成后,BIOS(基本输入输出系统)立即定位所配置的引导介质,并从 MBR(主引导记录)或 GUID(全局唯一标识符)分区表读取一些命令,这是引导介质的 ...
- ios 利用Reveal来调试界面2--真机调试(步骤详解)
使用真机调试我们的App界面,如果你的真机是没有越狱的设备,那么使用Reveal来调试UI的步骤是最麻烦的.
- Docker存储驱动之Btrfs简介
简介 Btrfs是下一代的copy-on-write文件系统,它支持很多高级特性,使其更加适合Docker.Btrfs合并在内核主线中,并且它的on-disk-format也逐渐稳定了.不过,它的很多 ...
- Linux内核的基本概念
Linux内核学习,推荐的书籍: <linux设备驱动开发详解第二版>.<Linux内核设计与实现第三版>.<嵌入式Linux应用开发完全手册> 第一篇:讲解Lin ...
- 038、Docker 的两类存储资源(2019-02-27 周三)
参考https://www.cnblogs.com/CloudMan6/p/7127843.html Docker为容器提供了两种存放数据的资源: 1.由storage driver ...
- [archlinux][crypto] 从T450迁移archlinux操作系统至T460s笔记本
从T450笔记本迁移archlinux操作系统之T460s笔记本,同时: 1. 使用cryptsetup做底层块加密. 2. 全新使用btrfs文件系统. 一,硬盘分区. 1T的SSD,使用U ...
- mac 安装geckodriver和chromedriver
Last login: Fri Apr :: on ttys000 (base) localhost:~ ligaijiang$ env TERM_PROGRAM=Apple_Terminal SHE ...
- Debian 7.0(Wheezy) 安装配置笔记
1. 下载光盘镜像 ftp://debian.ustc.edu.cn/debian-cd/7.1.0/amd64/iso-dvd/ [2012.3.25] 1.1 去官网 http://cdimag ...
随机推荐
- Linux - 在 CentOS 7 上部署 Google BBR
BBR(Bottleneck Bandwidth and RTT)是一种新的拥塞控制算法,由Google开发.有了BBR,Linux服务器可以显着提高吞吐量并减少连接延迟. Step 1: Upgra ...
- Data Base oracle简单使用及管理工具使用
oracle简单使用及管理工具使用 一.常用工具: 1.sqldeveloper 2.navicat for oracle 3.PLSQL Developer 4.toad
- c# sql省市联动
C# sql省市联动 USE [Book] GO ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ); ...
- JavaAppArguments示例
本实验要求编写一个程序,此程序从命令行接收多个数字,求和之后输出结果.一大难点是命令行参数都是字符串,必须先将其转化为数字,才能相加. 中心想法就是将求和数字转换为整型并依次相加. 程序流程图: pu ...
- kuangbin专题16D(next求最小循环节)
题目链接: https://vjudge.net/contest/70325#problem/D 题意: 给出一个循环字符串, 可以在两端添加任意字符, 问最少添加多少字符可以使循环字符串变成周期循环 ...
- sql 日期对比
来自这里
- Experimental Educational Round: VolBIT Formulas Blitz A
Description The HR manager was disappointed again. The last applicant failed the interview the same ...
- django组件之ajax
AJAX简介 AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互,传输的数 ...
- 查询mysql单库的修改时间,大小
select database_name,max(last_update) from mysql.innodb_table_stats group by database_name; SELE ...
- JDK Throwable
Throwable 1. 使用大量数组和List常量: private static final StackTraceElement[] UNASSIGNED_STACK = new StackTra ...