导图社区 《Linux命令行与shell脚本编程大全》-第8章-管理文件系统
这是一篇关于管理文件系统的思维导图,主要内容包括:逻辑卷管理,操作文件系统,Linux文件系统。介绍详细,希望对大家有所帮助!
说明,元素、元素的属性、属性的值使用文字的颜色进行区分。黑色文字表示元素的名称、元素节点下的属性用红色文字表示、属性下的蓝色节点表示该属性可取的值。很精简,也很抽象,理解了就可以查的很快。
这是一篇关于docker的思维导图,主要内容包括:volume,plugin,network,container,image。
这是一篇关于Python基础的思维导图,主要内容包括:11-测试代码,10-文件和异常,9-类,8-函数,7-用户输入和while,6-字典,5-if语句,4-操作列表,3-列表简介,2-变量及数据类型,1-起步。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
管理文件系统
Linux文件系统
基本的Linux文件系统
ext
extended filesystem
通过索引节点表来存储文件信息
存储在虚拟目录中的文件在索引节点表中都有一个条目
extended
文件名
文件大小
文件的属主
文件的属组
文件的访问权限
指向存有文件数据的每块硬盘块的指针
文件大小不超过2GB,fragmentation严重
ext2
第二代扩展文件系统
为文件添加了时间值
创建时间值
修改时间值
最后访问时间值
最大文件大小增加到了2TB(后续的版本中增加到了32TB)
通过分组分配磁盘块来减轻碎片化
ext2文件系统容易在断电或系统崩溃时损坏
日志文件系统
先将文件写入临时文件(这个被称为journal)中,在数据成功写的存储设备和索引节点表后,再删除对应的日志文件
ext3
默认采用有序模式的日志功能,可用命令改为数据模式或回写模式
没有内建的数据压缩,也无法恢复被误删的文件
ext4
大多数Linux发行版默认的文件系统
支持数据压缩和加密
支持区段
区段在存储设备上按块分配空间
索引节点表中只保存起始块的位置
引入预分配技术
在知道文件大小的情况下可以预分配块空间
Reiser
只支持回写日志模式,所以速度在Linux文件系统中最快
可以在线调整已有文件系统的大小
tailpacking:将一个文件的数据填进另一个文件的数据块的空白空间
JFS
XFS
高性能,高风险
可以在线扩大文件系统
写时复制文件系统
copy-on-write(COW) 兼顾安全性和性能,如果要修改数据,会使用克隆或可写快照。修改过的数据不会直接覆盖当前数据,而是被放入文件系统的另一个位置。即使操作完成,之前的旧数据也不会被重写。
ZFS
Btrf
操作文件系统
创建分区
sudo fdisk /dev/[s,h]d[a-z][0-9]:指定操作设备
输入单字符命令进入操作
p:显示当前分区表
n:添加一个新分区
w:保存更改到设备(谨慎使用)
...
创建文件系统
创建不同文件系统所用的工具
mkefs ->
mke2fs ->
mkfs.ext3 ->
mkfs.ext4 ->
mkreiserfs ->
jfs_mkfs ->
mkfs.xfs ->
mkfs.zfs ->
mkfs.btrfs ->
使用type [command]检查命令是否可用
mount后即可使用该分区
文件系统的检查与修复
fsck
对于COW是否使用fsck存在争议,ZFS文件系统都没有提供fsck工具的接口
逻辑卷管理
logical volume manager LVM
逻辑卷管理布局
建议结合P155插图理解
多个物理卷形成一个卷组,被逻辑卷管理系统看作一个物理硬盘
实际上的卷组可能有多个物理硬盘(物理分区)组成,多个物理分组组成一个卷组(volume group),被逻辑卷管理系统看作一个物理硬盘,提供了一个创建逻辑分区的平台。 这些逻辑分区包含了文件系统。
可以使用任意一种标准Linux文件系统来格式化逻辑卷
Linux中的LVM
快照
Linux LVM可以在逻辑卷在线的状态下将其复制到另一个设备
LVM2可以创建在线逻辑卷的可读写快照
可以删除原先的逻辑卷,将快照作为替代挂载上
对快速故障转移和修改数据的程序实验非常有用
条带化
striping可跨多个物理硬盘创建逻辑卷,提高硬盘性能
LVM striping不同于RAID
LVM striping不提供创建容错环境的校验信息
LVM striping会增加文件因硬盘故障而丢失的概率
单个硬盘的故障可能会造成多个逻辑卷无法访问
镜像
镜像是一个实时更新的逻辑卷的完整副本
原始同步完成后,LVM会为每次写操作执行两次写入
使用Linux LVM
1.定义物理卷
将磁盘上的物理分区转换为linux LVM使用的物理卷区段
键入Command:t修改分区的系统id
id描述了系统如何对待该分区
键入8e,表示该分区将会被用作Linux LVM的一部分
用分区创建实际的物理卷
sudo pvcreate /dev/[s,h]d[a-z][0-9]:将分区标记为Linux LVM中的分区
sudo pvdisplay /dev/[s,h]d[a-z][0-9]:显示已创建物理卷列表
2.创建卷组
sudo vgcreate volname /dev/[s,h]d[a-z][0-9]:从物理卷中创建一个名为volname的卷组
sudo vgdisplay volname:查看卷组volname的细节
3.创建逻辑卷
lvcreate
lvdisplay
4.创建文件系统
使用之前提及的创建文件系统的软件为逻辑卷创建文件系统
Linux LVM将逻辑卷看成物理卷,同样需要挂在后使用
5.修改LVM
vgchange
vgremove
vgextend
vgreduce
lvextend
lvreduce