fork from here http://www.cnblogs.com/hugetong/p/6914248.html

boot分区,MBR加密:https://wiki.archlinux.org/index.php/Dm-crypt/Specialties#Securing_the_unencrypted_boot_partition

首先,我选择在LUKS上创建btrfs。查看上述文档的btrfs章节。

1. btrfs不支持swap file,必须使用swap分区 https://wiki.archlinux.org/index.php/Btrfs#Swap_file

2. 不建议在裸盘直接使用btrfs文件系统。https://wiki.archlinux.org/index.php/Btrfs#Partitionless_Btrfs_disk

3. btrfs带压缩会提高性能表现。https://wiki.archlinux.org/index.php/Btrfs#Compression

4. 新概念 subvolumes。 https://wiki.archlinux.org/index.php/Btrfs#Subvolumes

这个更详细,讲的更清楚,上边那个讲的很不清楚。。。:https://btrfs.wiki.kernel.org/index.php/SysadminGuide#Subvolumes

btrfs文档:https://wiki.archlinux.org/index.php/Btrfs (跟上边那一堆,明明都是一个。。。)

多个磁盘的情况下可以组成一个pool,Btrfs支持 RAID0,1, 10, 5, 6。https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices

5.  不要使用btrfs 的 RAID5, RAID6模式。

6.  常用命令们

https://btrfs.wiki.kernel.org/index.php/Getting_started#Basic_Filesystem_Commands

7.  最大容量 70% ??

Be aware that for that size, it will report full when reaching about 75%.

-----------------------------------------------------------

1.  初始化一个 btrfs 文件系统

 root@archiso ~ # mkfs.btrfs -L vd_root -f /dev/mapper/vd_root                                                       :(
btrfs-progs v4.10.2
See http://btrfs.wiki.kernel.org for more information. Label: vd_root
UUID: ba0b8b0b--455b-90f6-422f61d59df1
Node size:
Sector size:
Filesystem size: .00GiB
Block group profiles:
Data: single .00MiB
Metadata: DUP .00GiB
System: DUP .00MiB
SSD detected: no
Incompat features: extref, skinny-metadata
Number of devices:
Devices:
ID SIZE PATH
.00GiB /dev/mapper/vd_root root@archiso ~ #

2.  创建一个 subvolume

root@archiso ~ # btrfs subvolume create mnt/real_root
Create subvolume 'mnt/real_root'

3.  创建快照(很显然从命令来看,快照也是一个subvolume )

root@archiso ~ # btrfs subvolume snapshot mnt/real_root mnt/snapshot_of_real_root
Create a snapshot of 'mnt/real_root' in 'mnt/snapshot_of_real_root'

4.  设置default

root@archiso ~ # btrfs subvolume set-default  mnt
root@archiso ~ # btrfs subvolume get-default mnt
ID gen top level path real_root

5.  删除快照或subvolume

root@archiso ~ # btrfs subvolume list /root/mnt
ID gen top level path real_root
ID gen top level path snapshot_of_real_root
ID gen top level path snapshot/snapshot_of_real_root_2
root@archiso ~ # btrfs subvolume create mnt/test
Create subvolume 'mnt/test'
root@archiso ~ # btrfs subvolume list /root/mnt
ID gen top level path real_root
ID gen top level path snapshot_of_real_root
ID gen top level path snapshot/snapshot_of_real_root_2
ID gen top level path test
root@archiso ~ # btrfs subvolume delete mnt/test
Delete subvolume (no-commit): '/root/mnt/test'
root@archiso ~ # btrfs subvolume list /root/mnt
ID gen top level path real_root
ID gen top level path snapshot_of_real_root
ID gen top level path snapshot/snapshot_of_real_root_2
root@archiso ~ #

6. 根据文档里的描述, 选用Flat方式创建subvolume

https://btrfs.wiki.kernel.org/index.php/SysadminGuide#Flat

root@archiso ~ # find mnt
mnt
mnt/real_root
mnt/real_root/root
mnt/real_root/home
mnt/snapshot
root@archiso ~ # btrfs subvolume get-default mnt
ID gen top level path real_root
root@archiso ~ # btrfs subvolume list mnt
ID gen top level path real_root
ID gen top level path real_root/root
ID gen top level path real_root/home
root@archiso ~ #

7. 挂载指定的 subvolume

root@archiso ~ # btrfs subvolume list mnt
ID gen top level path top
ID gen top level path top/root
ID gen top level path top/home
root@archiso ~ # mount -o subvol=top/root /dev/mapper/crypt_root mnt

[filesystem][archlinux][disk encryption][btrfs] btrfs的更多相关文章

  1. [cipher][archlinux][disk encryption][btrfs] 磁盘分区加密 + btrfs

    科普链接:https://wiki.archlinux.org/index.php/Disk_encryption 前面的链接关于硬盘加密,讲了几种,基本上就是选dm-crypt with LUKS ...

  2. [archlinux] 迁移T7从T460s到T470

    这已经不是第一次做OS的迁移了,T7早已经迁移过多台设备了.所以,其实只需要如下三步: 1.  rsync 我一直有全系统备份的习惯,T7一直会不定期的全系统rsync到Tstation上面去.所以我 ...

  3. [archlinux][crypto] 从T450迁移archlinux操作系统至T460s笔记本

    从T450笔记本迁移archlinux操作系统之T460s笔记本,同时: 1.  使用cryptsetup做底层块加密. 2.    全新使用btrfs文件系统. 一,硬盘分区. 1T的SSD,使用U ...

  4. [daily][archlinux][btrfs][mysql] 在btrfs上使用mariadb

    在btrfs上使用mariadb的时候,需要注意关闭btrfs的Copy on Write (/var/lib/mysql目录) 如下: ┬─[tong@T7:~/Data/anthropoid]─[ ...

  5. btrfs文件系统简单学习

    1 btrfs文件系统 btrfs文件系统在生产环境应用还不多,因此,本文仅仅简单学习. 1.1 btrfs文件系统核心特性 1)多物理卷支持:btrfs可由多个底层物理卷组成(可以是单块物理磁盘,也 ...

  6. Linux btrfs文件系统

    btrfs,它名字挺多:B-tree fs;Butter fs;Better fs 开源协议是GPL,2007年由Oracle研发 核心特性: 多物理卷支持,btrfs可由多个物理卷组成:支持RAID ...

  7. Docker存储驱动之Btrfs简介

    简介 Btrfs是下一代的copy-on-write文件系统,它支持很多高级特性,使其更加适合Docker.Btrfs合并在内核主线中,并且它的on-disk-format也逐渐稳定了.不过,它的很多 ...

  8. linux btrfs文件系统管理与应用

    btrfs文件系统管理与应用 1.btrfs文件系统 基本介绍 btrfs文件系统在CentOS7.x上属于技术预览版 btrfs文件系统英文名:B-tree  FileSystem或者Butter ...

  9. Btrfs管理及应用

    一.btrfs基本概念 btrfs文件系统是2007年Oracle开发,支持GPL协议,为了取代Linux早期的ext系列文件系统. btrfs核心特性: 多物理卷支持:btrfs可由多个底层物理卷组 ...

随机推荐

  1. [svc]glusterfs的简单部署

    服务端安装 gluster01主机挂载磁盘 [root@glusterfs01 ~]# mkfs.xfs /dev/sdb [root@glusterfs01 ~]# mkdir -p /data/b ...

  2. 【iCore4 双核心板_FPGA】例程十六:基于双口RAM的ARM+FPGA数据存取实验

    实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ int i; int address,data; ; ]; ]; char *p; /* US ...

  3. 【GMT43智能液晶模块】例程二:串口通信实验

    实验原理: GMT43智能液晶模块的串口包括USB_UART(CH340),TTL,RS-232,RS-485/ RS-422等四部分,USB_UART部分通过CH340芯片与STM32F429的US ...

  4. Android 5.0 Phone初始化分析

    已经更新至个人blog:http://dxjia.cn/2015/07/android-5-0-phone-init-analysis/ persistent属性 要想了解phone的框架,首先需要了 ...

  5. 开发过程中遇到的问题1--------我们的mysql的查询语句时自己写的,没有用oracle的nextvalue函数。所以这里涉及到了并发的问题。

    效果http://www.cnblogs.com/wanggangblog/p/4037543.html 很多的采购单会生成.生成的时候会有订单的编号,然后一个采购单的编号是唯一的,怎么生成呢?之前o ...

  6. 稍稍解读下ThreadPoolExecutor

    # 说说ThreadPoolExecutor ## 认识 先来看看它所在的架构体系: ```java package java.util.concurrent; public interface Ex ...

  7. Mysql系列一:SQL入门

    csdn博客搬迁 连接数据库:1.在dos窗口下,进入数据库的安装目录的bin目录下,使用mysqld命令启动数据库服务,或者在计算机的服务里面启动mysql服务2.另外打开一个dos窗口,进入数据库 ...

  8. Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd'问题解决方法

    Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd'问题解决方法 关于dubbo服务的 ...

  9. react获取当前页面的url参数

    react获取当前页面的url参数,必须在url路由对应的组件上获取,在子组件上获取不到,为undefined,获取形如  /news/:id  的后面的参数 id this.props.match. ...

  10. jexl2 执行字符串Java代码

    一,引入jar包, <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-jexl --><depen ...