文件系统原理(读书笔记)

本文介绍了硬盘类型,包括机械硬盘和固态硬盘,并探讨了实际场景中的混合部署策略。接着,文章深入讲解了RAID的不同级别,如RAID0、RAID1、RAID10和RAID5,分析了它们的数据冗余和存储效率。最后,文章聚焦于Hadoop的分布式文件系统HDFS,阐述了DataNode和NameNode的角色以及数据复制策略,强调了通过文件控制块进行数据管理的重要性。

硬盘

机械式硬盘和固态硬盘

机械式硬盘 :
	通过移动磁头臂进行读取相应的数据,如果数据存储不是连续的会造成来回移动,时间损耗大
固态硬盘 :
	完全的电子操作,对于文件的访问速度快于机械式硬盘
实际场景

由于固态硬盘成本高于机械式硬盘,通过使用固态硬盘与机械式硬盘的混合部署方式,满足不同文件类型的存储需求

文件系统

文件系统将硬盘以块为单位进行划分,每个文件占据若干块,然后通过文件控制块FCB记录每个文件占据的硬盘数据块

在这里插入图片描述
FCB在linux操作系统中就是inode,访问文件时,通过获取inode信息,查找文件所在的位置

RAID(独立硬盘冗余阵列)

核心思路:
	利用文件系统将数据写入硬盘中不同数据块的特性,将多块硬盘上的空闲空间看做一个整体,进行数据写入

RAID级别(常用)

RAID0:
将一个文件的数据分成N片,向N个硬盘写入,虽然可存储的容量扩大了N倍,但是任何一块硬盘的损坏会导致数据不完整,没有备份
RAID1:
将数据同时备份在两块硬盘上,解决了RAID0文件数据丢失的问题,文件可用性提升
RAID10:
结合RAID0和RAID1,将多块硬盘进行两两分组,将文件数据分成N片,每一组写入一片,每个分组内的两块硬盘进行数据备份,既扩大了存储容量有提高文件的可用性,但是硬盘的利用率只有50%
RAID5:
将数据分成 N-1 片,再利用这 N-1 片数据进行位运算,计算一片校验数据,然后将这 N 片数据写入 N 个硬盘。这样任何一块硬盘损坏,都可以利用校验片的数据和其他数据进行计算得到这片丢失的数据,而硬盘的利用率也提高到 N-1/N。

分布式文件系统

在Linux系统中文件的信息记录在inode中,通过inode找到文件的地址进行访问数据
分布式的思路是通过将数据库的地址改为分布式服务器的地址,当用户查询数据时,根据数据所在的服务器地址进行数据查询,存储容量是整个分布式服务器集群的整体容量
Hadoop 分布式文件系统 HDFS

在这里插入图片描述
HDFS关键组件:DataNode,NameNode
HDFS将文件数据分割,每一个DataNode存储一部分数据块,客户端可以并行对这些数据库进行访问,极大地提高了访问速度
NameNode相当于Linux文件系统中inode的角色,并且HDFS会将一个数据块复制多份,并将多份相同数据块存储在不同服务器上,防止某个服务器宕机,数据完整性被破坏

小结

以上都有一个共通之处,就是通过文件控制块进行数据管理,根据不同的需求使用不同的方法,如:需要高读写速度,单服务器可以使用RAID实现,多服务器通过使用分布式文件系统集群对数据管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值