[filesystem][archlinux][disk encryption][btrfs] btrfs
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的更多相关文章
- [cipher][archlinux][disk encryption][btrfs] 磁盘分区加密 + btrfs
科普链接:https://wiki.archlinux.org/index.php/Disk_encryption 前面的链接关于硬盘加密,讲了几种,基本上就是选dm-crypt with LUKS ...
- [archlinux] 迁移T7从T460s到T470
这已经不是第一次做OS的迁移了,T7早已经迁移过多台设备了.所以,其实只需要如下三步: 1. rsync 我一直有全系统备份的习惯,T7一直会不定期的全系统rsync到Tstation上面去.所以我 ...
- [archlinux][crypto] 从T450迁移archlinux操作系统至T460s笔记本
从T450笔记本迁移archlinux操作系统之T460s笔记本,同时: 1. 使用cryptsetup做底层块加密. 2. 全新使用btrfs文件系统. 一,硬盘分区. 1T的SSD,使用U ...
- [daily][archlinux][btrfs][mysql] 在btrfs上使用mariadb
在btrfs上使用mariadb的时候,需要注意关闭btrfs的Copy on Write (/var/lib/mysql目录) 如下: ┬─[tong@T7:~/Data/anthropoid]─[ ...
- btrfs文件系统简单学习
1 btrfs文件系统 btrfs文件系统在生产环境应用还不多,因此,本文仅仅简单学习. 1.1 btrfs文件系统核心特性 1)多物理卷支持:btrfs可由多个底层物理卷组成(可以是单块物理磁盘,也 ...
- Linux btrfs文件系统
btrfs,它名字挺多:B-tree fs;Butter fs;Better fs 开源协议是GPL,2007年由Oracle研发 核心特性: 多物理卷支持,btrfs可由多个物理卷组成:支持RAID ...
- Docker存储驱动之Btrfs简介
简介 Btrfs是下一代的copy-on-write文件系统,它支持很多高级特性,使其更加适合Docker.Btrfs合并在内核主线中,并且它的on-disk-format也逐渐稳定了.不过,它的很多 ...
- linux btrfs文件系统管理与应用
btrfs文件系统管理与应用 1.btrfs文件系统 基本介绍 btrfs文件系统在CentOS7.x上属于技术预览版 btrfs文件系统英文名:B-tree FileSystem或者Butter ...
- Btrfs管理及应用
一.btrfs基本概念 btrfs文件系统是2007年Oracle开发,支持GPL协议,为了取代Linux早期的ext系列文件系统. btrfs核心特性: 多物理卷支持:btrfs可由多个底层物理卷组 ...
随机推荐
- [Big Data - Kafka] Kafka设计解析(三):Kafka High Availability (下)
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如Cloudera.Apache Storm.Spa ...
- Mycat源码中的单例模式
在MyCat的源码中,很多对象都使用到了单例模式. 首先是MycatServer类,该实例必须全局唯一,所以这里涉及到JAVA的单实例模式,就是一个类只有唯一一个实例对象存在.先来看看mycat源码是 ...
- 4. Tensorflow的Estimator实践原理
1. Tensorflow高效流水线Pipeline 2. Tensorflow的数据处理中的Dataset和Iterator 3. Tensorflow生成TFRecord 4. Tensorflo ...
- VS2012+openCV 2.4.8进行编译:VS2012 64位 使用OPENCV应用程序不能正常启动 (0xc000007b)怎么处理?
[OpenCV入门教程之一] 安装OpenCV:OpenCV 2.4.8 +VS 开发环境配置 http://blog.csdn.net/poem_qianmo/article/details/198 ...
- Hibernate HQL的使用
1.简单查询(查询所有) Session session=HibernateUtil.getSessionFactory().getCurrentSession(); Transaction tx=s ...
- [Unity3D] C# Basic : Gameplay Scripting
教程:https://unity3d.com/cn/learn/tutorials/s/scripting 补充:http://www.runoob.com/csharp/csharp-inherit ...
- Invoke和BeginInvoke理解
在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法. 一.为什么Control类提供了Invoke和Begin ...
- Excel 保护工作表
1.选取整张表格,格式--设置单元格格式--锁定状态 2.将用户可编辑区域解锁 3.在审阅--保护工资表,设置除第一行不选,其他全选,添加密码保护,确定
- HttpWatch的Result中出现Aborted的原因分析
我们在使用HttpWatch进行Web调试的过程中有时候会看到非HTTP Status Code(状态码)的值,例如:(Aborted). (Aborted)是HttpWatch中定义的三种非HTTP ...
- 解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
主app的build.gradle里面的 defaultConfig { targetSdkVersion:*** minSdkVersion :*** versionCode:*** version ...