Linux文件系统分类:
日志文件系统(journal filesystem)和写时复制文件系统(copy-on-write,简COW)
日志文件系统:
1.日志文件系统是基于对每个存储在存储设备上的文件进行索引节点,即每个存放在虚拟目录下的文件都有与之对应的索引节点,从而形成一个索引节点表,每个索引节点包含文件信息及其物理设备上的文件位置指针。每个文件都有与索引节点对应的唯一标志索引节点号(inode),在文件系统通过索引节点号对文件进行操作,而不是文件名及路径。
2.在存储文件及更新索引节点表时,存在错误的发生概率,而导致系统对文件是否存储、索引位置是否正确,从而导致文件系统各种问题
3.日志文件系统通过在存储数据和更新索引节点表时,先把存储的文件或索引节点表更新存入日志文件中,再对文件进行更新,在成功后删除其日志文件对应项,在系统断电或崩溃后打断储存及其更新造成系统错误时,文件系统下次会重新读取日志文件继续更新操作。
4.日志文件系统对存入日志文件有三种不同的方式,对应不同的安全性及性能
1】数据模式 – 索引节点表和更新文件都被写入日志,成功后删除 – 安全性高,但性能差
2】有序模式 – 只存入索引节点表,成功后删除 – 安全性稍差,但性能较好
3】回写模式 – 只存入索引节点表,但不管控数据更新 – 安全性差,性能好
5. ext3,ext4,Reiser,JFS,XFS等文件系统都属于日志文件系统
写时复制文件系统:
1.含有活动数据的块从来不被覆盖;而是分配一个新块,并把修改过的数据写在新块上。所有与该块相关的元数据块都被重新读、分配和重写
2.有索引节点和存储池两种方式对物理存储设备管理
6. ZFS、Btrf等系统
逻辑卷管理(LVM)
简介: Linux LVM由Heinz Mauelshagen 开发,1998年发布至Linux社区
1.Linux 逻辑卷管理器(logical volume manager,LVM)核心在如何处理安装在系统上的硬盘分区
2.每一个物理硬盘分区被作为物理卷(physical vilume,PV)对待,每个物理卷都映射到硬盘的某个分区
3.卷组由多个物理卷组成,该物理卷可能在一个物理硬盘上的多个分区,也可能是多个物理硬盘的多个分区
4.逻辑卷(logical volume,LV),即在逻辑上将一个卷组当成整块硬盘,而逻辑卷就是这块硬盘上的一个分区,因此一个文件数据可能分布在多个物理硬盘分区上
5.快照,允许逻辑卷在线工作状态下将其复制到另一个设备上,并且拥有可读写功能(从LVM2版本开始有),该功能对于故障维修测试修改数据数据备份等非常有用,从而增加了数据的安全性
6.条带化(striping),可跨越多个物理硬盘创建逻辑卷。每一个数据块将被写入下一块硬盘,因此在文件写入操作时,每个硬盘的磁头同步工作,从而增大了数据读写性能,但是同样增加了数据因硬盘故障丢失的概率,牵一发而动全身
7.镜像,即一个实时更新的快照。用于大存储更新速度较快设备的备份,如数据库服务器等,每次读写操作都需进行两次,虽然保证了数据损坏的安全性,但同时降低了io性能
8.LVM硬盘的好处在于可以随时增大减小逻辑硬盘(卷组)、逻辑分区(逻辑卷)的大小,比如新增一个物理硬盘到文件系统下,只需将该硬盘下的物理分区转化成物理卷再添加到某个卷组,那么逻辑上的整块硬盘就增大了,同时又可以针对逻辑分区(逻辑卷)扩展/压缩空间
配置LVM:
1.如果对Linux系统拥有LVM模式,需在安装Linux时对分区进行LVM
2.将硬盘分区转变LVM:
1】通过fdisk创建分区后,通过t命令改变分区类型为LVM。 https://blog.youkuaiyun.com/weixin_40948696/article/details/84619819
2】建立LVM需要工具lvm2,]$sudo apt-get install lvm2 查看所有命令] $man lvm
3】基本使用命令:pvcreate创建物理卷:] $ sudo pvcreate /dev/sd*
… . . . . . . . . . . . . . pvdisplay显示物理卷信息:] $ sudo pvdispaly /dev/sd*
… . . . . . . . . . . . . . vgcreate创建卷组:] $ sudo vgcreate vg_name /dev/sd* #卷组必须基于物理卷来创建,毕竟一块硬盘没有内存,那还叫硬盘?
… . . . . . . . . . . . . . vgdisplay显示卷组信息:] $ sudo vgdispaly vg_name
… . . . . . . . . . . . . . lvcreate创建逻辑卷:] $ sudo lvcreate -l space_size -n label vg_name 其他选项man
… . . . . . . . . . . . . . lvdisplay显示逻辑卷信息:] $ sudo lvdispaly lv_name
4】然后就是格式化文件系统:] $ sudo mkfs.ext4 /dev/vg_name/lv_name
5】最后挂载逻辑卷