导图社区 openEuler文件系统
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
编辑于2024-02-08 16:07:42openEuler文件系统
文件系统
文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统
文件系统的API
提供用户人性化接口
对象操纵和管理的软件集合
磁盘管理软件,类似于中间件
对象及属性
底层存储硬件,如磁盘或分区
作用
文件系统是对文件存诸设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统
它负责为用户建立文件,存入、读出、修改转储文件,控制文件的存取,当用户不再使用时撤销文件等
文件系统的功能包括:
管理和调度文件的存诸空间,提供文件的逻辑结构、物理结构和存储方法
实现文件及标识到实际地址的映射
实现文件的控制操作和存取操作
实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施
文件系统类型及使用场景
FAT
windoWs9X系统使用的文件系统,包括FAT16,FAT32
NTFS
NTFS文件系统是一个基于安全性的文件系统,是WindoWsNT所采用的独特的文件系统结构,Win2000采用了更新版本的NTFS文件系统NTFS5.0
NFS
网络文件系统,用于在UNIX系统间通过网络进行文件共享
RAW
RAW文件系统是一种磁盘未经处理或者未经格式化产生的文件系统
Ext
GNU/LinuX系统中标准的文件系统,其特点为存取文件的性能极好,对于中小型的文件更显示出优势,包括Ext2,Ext3,Ext4
XFS
一种高性能的日志文件系统,最早于1993年,由SiliconGraphics为他们的IRIX操作系统而开发,之后被移植到Linux内核上,特别擅长处理大文件,同时提供平滑的数据传输。
swap 系统交换空间
Linux系统交换空间(swap)就是磁盘上的一块区域,可以是一个分区,也可以是一个文件,简单的说就是当物理内存资源紧张时,将内存中不常访问的资源保存到预先设定的硬盘上的交换空间,来释放该资源占用的内存,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中
物理内存和交换空间的和就是系统可提供的虚拟内存的总量
为什么需要swap分区
增加系统可用内存空间
当物理内存不够用时,增加swap分区比增加物理内存更经济
提高系统整体性能
将不常用数据移动到swap后,系统会有更多内存用于缓存,加快系统I/O
许多Linux发行版(如ubuntu)的休眠功能依赖于swap分区
当系统休眠时,会将内存数据保存到swap分区,下次启动时再加载到内存
swap分区配置
交换分区
交换分区就是一个独立的硬盘没有文件或内容,即swap分区
创建swap分区:fdisk创建分区,mkswap创建swap分区,swapon启用swap分区
推荐的swap大小配置
交换文件
交换文件是文件系统中的一个特殊文件,独立于系统和数据文件之外
创建swap文件:创建文件,mkswap格式化文件,swapon启用swap文件
推荐的swap大小配置
磁盘
命令
fdisk -l 用于查看系统所有磁盘的信息,包括已挂载和未挂载磁盘
df -h 命令查看系统挂载、磁盘空间大小和利用率
磁盘分区
磁盘分区可以将硬盘驱动器划分为多个逻辑存储单元,这些单元称为分区。通过将磁盘划分为多个分区,系统管理员可以使用不同的分区执行不同功能
磁盘分区的好处
限制应用或用户的可用空间
允许从同一磁盘进行不同操作系统的多重启动
将操作系统和程序文件与用户文件分隔
创建用于操作系统虚拟内存交换的单独区域
限制磁盘空间使用情况以提高诊断工具和备份映像的性能
磁盘分区类型
硬盘分区
主分区
主分区 也称为主磁盘分区,主分区中不能再划分其他类型的硬盘分区,因此每个主分区都相当于一个逻辑磁盘
扩展分区
扩展分区与逻辑分区是为了突破分区表中只能保存4个扩展分区 分区的限制而出现的,扩展分区不能直接使用,需要在扩展分区内划分一个或多个逻辑分区后才能使用
扩展分区
在扩广展分区上面,可以创建多个逻辑分区,硬逻辑分区是盘上一块连续的区域,它是扩展分区的组成部分
磁盘分区方案
MBR分区方案
主启动记录(MasterBootRecord)分区方案指定了在运行BIoS固件的系统上应如何对磁盘进行分区,它是存在于驱动器开始部分的一个特殊的启动扇区
如果是SCSI接口硬盘则最多只能有15(其中扩展分区不能直接使用所以不计算)个分区,其中主分区最多4个,逻辑分区最多12个。IDE接口硬盘最多只能有63(其中扩展分区不能直接使用所以不计算)个分区,其中主分区最多4个,逻辑分区最多60个
由于分区大小数据居以32位值存储,使用MBR方案分区时,最大磁盘和分区大小限制为2TB
fdisk分区工具
GPT分区方案
随着硬盘驱动器容量的不断增长,老旧的MBR分区方案的2TB磁盘和分区大小限制已不再是理论上的限制,而是在生产环境中越来越经常遇到的实际问题,因此,GP正在取代传统的MBR方案进行磁盘分区
GPT意为GUID分区表,驱动器上的每个分区都有一个全局唯一的标识符(globally unique identifier,GUID),对于运行统一可扩展固件接口(UEFI)固件的系统,GPT是在物理硬盘上布置分区表的标准
没有主分区和逻辑分区之分,每个硬盘最多可以有128个分区,GPT为逻辑块地址分配64位,因此最大支持18EB的分区大小
parted分区工具
磁盘格式化
格式化是指对磁盘或磁盘中的分区进行初始化的一种操作,将分区格式化成不同的文件系统,这种操作通常会导致现有的磁盘或分区中所有的文件被清除
磁盘格式化命令 mkfs
mkfs命令是makefilesystem的缩写,用来在特定的分区建立Linux文件系统
磁盘挂载
临时挂裁
使用命令:mount /dev/sda5 /test,意思就是说将/devy/sda5挂载到test 录中,重启后失效
永久挂载
使用永久挂载,就意味着它开机会自动挂载,使用vim编辑 /etc/fstab
fstab
/etc/fstab文件的作用
用来存放文件系统的静态信息的文件,系统启动的时候,会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的自录,这样我们只需要将磁盘的挂载信息写入这个文件中就不需要每次开机启动之后手动进行挂载了
逻辑卷
LVM-逻辑卷管理
LVM-逻辑卷管理是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性
物理单元(PE)
PhysicalExtents-具有唯一编号的PE是能被LVM寻址的最小单元,PE的大小可以指定,默认为4MB。PE的大小一旦确定将不能改变,同一个卷组中的所有的物理卷的PE的大小是一致的
逻辑单元(LE)
Logical Extents--是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小,在同一个卷组中,LE的大小和PE是相同的,通常一一对应
物理卷(PV)
PhysicalVolume--底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等
卷组(VG)
VolumeGroup--建立在物理卷之上,它由一个或多个物理卷组成,即把物理卷整合起来提供容量分配,一个LVM系统中可以只有一个卷组,也可以包含多个卷组
逻辑卷(LV)
LogicalVolume-逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间,它是最终用户使用的逻辑设备,逻辑卷创建之后,其大小可以伸缩
逻辑卷原理
逻辑卷(lv)是将几个磁盘分区或者块设备(pv,pv可以位于不同的磁盘分区里,pv大小可以不一)组织起来形成一个大的扩展分区(vq卷组,一个vg至少要包含一个pv),该扩展分区不能直接用,需要将其划分成逻辑卷(lv)才能使用,lv可以格式化成不同的文件系统,挂载后直接使用。
逻辑卷优点
灵活的容量
当使用逻辑卷时,文件系统可以扩展到多个磁盘上,你可以聚合多个磁盘,或磁盘分区成单一的逻辑卷
可伸缩的存储池
可以使用简单的命令来扩大或缩循小逻辑卷大小,不用重新格式化或分区磁盘设备
在线的数据再分配
可以在线移动数据,数据可以在磁盘在线的情况下重新分配。比如可以在线更换可热插拔的磁盘
方便的设备命名
逻辑卷可以按任何方式来起任何名称
磁盘条块化
可以生成一个逻辑盘,它的数据可以被条块化存储在2个或更多的磁盘上这样可以明显提升数据吞吐量
镜像卷
逻辑卷提供方便的方法来镜像数据
卷快照
使用逻辑卷,可以获得设备快照用来一致性备份或者测试数据更新效果而不影响真实数据
逻辑卷创建流程
逻辑卷层LV(使用lvcreate 创建逻辑卷) <- 卷组层VG ( 使用vgcreate 合为物理卷组) <- 物理卷层PV (使用pvcreate转换为物理卷) <- 物理分区层(使用fdisk或parted 命令进行分区) <- 物理磁盘层
逻辑卷管理-pv的使用
pvcreate命令用于创建物理卷,可以使用物理磁盘或者磁盘分区创建
pvcreate /dev/hdaf6,7,8,9] #将磁盘hda的6-9分区创建成pv,注意大括号的使用
pvs #查看物理卷概要信息
使用pvdisplay、pvscan、pvs查看物理卷信息
逻辑卷管理 - vg的使用
vgcreate 命令用于创建LVM卷组。卷组将多个物理卷组织成一个整体,屏蔽了底层物理卷细节。在卷组上创建逻辑卷时不用考虑具体的物理卷信息。
vgcreate vg1000 /dev/sdb1 /dev/sdb2 #使用vgcreate命令创建卷组“vg1000”,并且将物理卷/dev/sdb1和/dev/sdb2添加到卷组中
vgdisplay vg1000 # 使用vgdisplay、vgscan查看卷组信息
逻辑卷管理-lv的使用
lvcreate命令用于创建LVM的逻辑卷,逻辑卷是创建在卷组之上的
lvcreate -L 200M vg1000 #使用lvcreate命令在卷组“vg1000”上创建一个200MB的逻辑卷
lvscan #扫描所有逻辑卷 使用lvdisplay、lvscan查看卷组信息
逻辑卷扩容
01 扩容前先查看确认是否有足够vg空间:vgs
02 使用命令扩容:lvextend -L +SIZE lv_device
03 调整文件系统的大小:resize2fs device lv_device
逻辑卷缩容
01 先确定缩减后的目标大小,并确保对应的目标逻辑卷大小中有足够的空间可容纳原有所有数据
02 卸载文件系统:umount,并要执行强制检测:e2fsck-f
03 缩减文件系统:resize2fs DEVICE
04 缩减逻辑卷:lvreduce
05 重新挂载使用
逻辑卷容量变更
lvresize指令用于调整逻辑卷空间大小,可以增大空间和缩小空间,实际上包含了lvextend和lvreduce的功能,因此扩容及缩容步骤相同
lvresize -L +200M /dev/vg1000/lvol0 #将逻辑卷空间增加200M