Ceph入门到精通- Linux 磁盘管理(block 与 inode)

1  硬盘 block 与 inode 详解

1.1  Sector(扇区)与 Block(块)

1)  硬盘的最小存储单位:sector(扇区),每个扇区储存 512 字节;操作系统会一次性连续读取多个扇区,即一次性读取多个扇区称为一个 block(块)

2)  文件存取的最小单位:block(块),由多个扇区组成;block 的大小常见的有 1KB、2KB、4KB,在 linux 中常见设置为 4KB,即连续 8 个扇区组成一个 block;/boot 分区的 block 一般为 1KB

3)  查看 block 的方法:

ext3 与 ext4 格式化文件系统:

       dumpe2fs /dev/sda1 | grep "Block size"

       tune2fs -l /dev/sda1 | grep "Block size"

       stat /boot/ | grep "IO Block"

   xfs 格式化文件系统:

       xfs_info /dev/sda1

 

stat /boot/ | grep "IO Block"

4)  每个 block 只能存放一个文件,如果文件的大小比 block 大,会申请更多的 block;如果文件的大小比 block 小,仍会占用一个 block,剩余的空间会浪费

例:有 1 万个文件,大小为 10B,block 为 4KB

理论上占用空间大小:10000 * 10B=97.656MB

实际上占用空间大小:10000 * 4KB = 40GB

1.2  硬盘 block 与 inode 详解

1.2.1   superblock、inode 与 block

操作系统对于文件数据的存放包括两个部分:1 文件内容、2 权限及文件属性

在硬盘分区中,还有一个超级区块(superblock)

1)  superblock:记录文件系统的整体信息,包括 inode 与 block 的总量、使用大小、剩余大小以及文件系统的格式与相关信息等

2)  inode:记录文件的属性、权限,同时会记录该文件的数据所在的 block 编号

3)  block:存储文件的内容

1.2.2   inode 与 block

每个 inode 与 block 都有编号,而每个文件都会占用一个 inode,inode 内则有文件数据放置的 block 号码;能够找到文件的 inode 就可以找到该文件所放置数据的 block 号码,从而读取文件内容

1)在格式化时可以指定默认的 inode 与 block 的大小;-b 指定默认 block 值,-I 指定默认 inode 值,例:mkfs.ext4 –b 4096 –I 256 /dev/sdb

2)查看 inode 的方法:

ext3 与 ext4 格式化文件系统:

dumpe2fs /dev/sda1 | grep "Inode size"

tune2fs -l /dev/sda1 | grep "Inode size"

 

   xfs 格式化文件系统:

 

2  硬链接

硬链接:Linux 系统多个文件名可以指向同一个 inode,这意味着可以用不同的文件名访问同样的内容,对文件内容进行修改会影响到所有文件名;但删除一个文件名不会影响另一个文件名的访问。

硬链接不能跨分区链接,只能对文件生效,对目录无效,链接后的文件不占用系统多余的空间

命令:ln test1.txt test2.txt         #test1.txt 为源文件,test2 为目标文件

 

3  软链接(符号链接)

软链接文件的 Inode 号不同,可以跨分区链接,支持目录同时也支持文件的链接;不管是删除源文件还是重启系统,该软链接还存在,但文件内容会丢失,一旦新建源同名文件,软链接文件恢复正常

命令:ln –s test1.txt test2.txt

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/47468.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 中 的progress加载进度条 的使用,在 页面显示数据加载的进度条,使用户的使用体验效果更好

学习目标: 学习目标如下: 例如: uniapp 中 的progress加载进度条 的使用,在 页面显示数据加载的进度条,使用户的使用体验效果更好 学习内容: 学习内容如下所示: 相关属性的说明 进度条的显…

k8s安装prometheus

安装 在目标集群上,执行如下命令: kubectl apply -f https://gitee.com/i512team/dhorse/raw/main/conf/kubernetes-prometheus.yml使用 1.在浏览器访问地址:http://master_ip:30000,如下图所示: 2.查看k8s自带的…

Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin

Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin 1. 前言Maven的两种打包方式 2. 流程图3. spring-boor-maven-plugin打包4. maven-jar-plugin/maven-dependency-plugin打包 1. 前言 Maven的两种打包方式 spring-boot-maven-plugin springboot默认打包方…

数据结构 | 基本数据结构——栈

目录 一、线性数据结构 二、栈 2.1 何谓栈 2.2 栈抽象数据类型 2.3 用Python实现栈 2.4 匹配括号 2.5 普通情况:匹配符号 2.6 将十进制数转换成二进制数 3.7 前序、中序和后序表达式 3.7.1 从中序到后序的通用转换法 3.7.2 计算后序表达式 一、线性数据结…

GAMS---典型优化模型和算法介绍、GAMS安装和介绍、GAMS程序编写、GAMS程序调试、实际应用算例演示与经验分享

优化分析是很多领域中都要面临的一个重要问题,求解优化问题的一般做法是:建立模型、编写算法、求解计算。常见的问题类型有线性规划、非线性规划、混合整数规划、混合整数非线性规划、二次规划等,优化算法包括人工智能算法和内点法等数学类优…

第一百一十四天学习记录:C++提高:类模板案例(黑马教学视频)

类模板案例 main.cpp代码&#xff1a; #include "myarray.hpp"void printIntArray(MyArray <int>& arr) {for (int i 0; i < arr.getSize(); i){cout << arr[i] << " ";}cout << endl; }void test01() {MyArray <int&…

图为科技T501赋能工业机器人 革新传统工业流程

工业机器人已成为一个国家制造技术与科技水平的重要衡量标准&#xff0c;在2019年&#xff0c;中国工业机器人的组装量与产量均位居了全球首位。 当前&#xff0c;工业机器人被广泛用于电子、物流、化工等多个领域之中&#xff0c;是一种通过电子科技和机械关节制作出来的智能机…

超详细推导逻辑回归公式与代码实现(二分类与多分类)

目录 概述逻辑回归理论数学推导二类分类多分类 代码实现备注 概述 本文使用梯度下降法对逻辑回归进行训练&#xff0c;使用类似于神经网络的方法进行前向传播与反向更新&#xff0c;使用数学公式详细推导前向传播与反向求导过程&#xff0c;包括二分类和多分类问题&#xff0c…

OS1_进程与线程的管理

序言 1.OS以进程、线程的方式在CPU中执行静态保存在外存(内存)中的程序&#xff0c;进程的构成与状态转化&#xff0c;特别是进程的切换&#xff1b; 2.当有多个进程处于就绪态&#xff0c;有哪些常见的挑选以执行方式&#xff1b; 3.并发执行(乱序发射)的进程&#xff0c;共享…

c# Outlook检索设定问题

基于c# 设定outlook约会予定&#xff0c;时间格式是YYYY-MM-DD HH:mm 的情报。 问题发生&#xff1a; 根据开始时间&#xff08;2023/01/01 7:00&#xff09;条件查询该时间是否存在outlook信息时&#xff0c;明明存在一条数据&#xff0c;就是查询不出来数据 c#代码 Strin…

20.1:ABC对应123问题

规定1和A对应、2和B对应、3和C对应…26和Z对应 那么一个数字字符串比如"111”就可以转化为: “AAA”、“KA"和"AK” 给定一个只有数字字符组成的字符串str&#xff0c;返回有多少种转化结果 一&#xff1a;暴力方法 public static int number(String str) {…

使用nginx和ffmpeg搭建HTTP FLV流媒体服务器(摄像头RTSP视频流->RTMP->http-flv)

名词解释 RTSP &#xff08;Real-Time Streaming Protocol&#xff09; 是一种网络协议&#xff0c;用于控制实时流媒体的传输。它是一种应用层协议&#xff0c;通常用于在客户端和流媒体服务器之间建立和控制媒体流的传输。RTSP允许客户端向服务器发送请求&#xff0c;如…

4. 方法(函数)

文章目录 4.1. 什么是方法的返回值?返回值在类的方法里的作用是什么?4.2. 为什么 Java 中只有值传递&#xff1f; 4.1. 什么是方法的返回值?返回值在类的方法里的作用是什么? 方法的返回值是指我们获取到的某个方法体中的代码执行后产生的结果&#xff01;&#xff08;前提…

机器学习02-再识K邻近算法(自定义数据集训练及测试)

定义&#xff1a; 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别&#xff0c;则该样本也属于这个类别。简单的说就是根据你的“邻居”来推断出你的类别。 用个成语就是物以类聚 思想&#xff1a; 如果一个样本在特征空间中的K个最…

视频内存过大如何压缩变小?这个压缩方法了解一下

在日常生活中&#xff0c;不管是日常随手拍的视频还是在工作中遇到的视频文件&#xff0c;在编辑处理的时候&#xff0c;如果视频的内存过大&#xff0c;不仅会占用很大的内存&#xff0c;在传送的时候也会花费很长时间&#xff0c;这时候将视频给压缩一下就可以很好的解决这一…

使用ComPDFKit PDF SDK 构建iOS PDF阅读器

在当今以移动为先的世界中&#xff0c;为企业和开发人员创建一个iOS应用程序是必不可少的。随着对PDF文档处理需求的增加&#xff0c;使用ComPDFKit这个强大的PDF软件开发工具包&#xff08;SDK&#xff09;来构建iOS PDF阅读器和编辑器可以让最终用户轻松查看和编辑PDF文档。 …

Elasticsearch监控工具Cerebro安装

Elasticsearch监控工具Cerebro安装 1、在windwos下的安装 1.1 下载安装包 https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.zip 1.2 解压 1.3 修改配置文件 如果需要修改相关信息&#xff0c;编辑C:\zsxsoftware\cerebro-0.9.4\conf\applica…

mybatis日志工厂

前言&#xff1a; 如果一个数据库操作&#xff0c;出现异常&#xff0c;我们需要排错&#xff0c;日志就是最好的助手 官方给我们提供了logImpl&#xff1a;指定 MyBatis 所用日志的具体实现&#xff0c;未指定时将自动查找。 默认工厂&#xff1a; 在配置文件里添加&#xf…

桥梁安全监测系统中数据采集上传用 什么?

背景 2023年7月6日凌晨时分&#xff0c;G5012恩广高速达万段230公里加80米处6号大桥部分桥面发生垮塌&#xff0c;导致造成2车受损后自燃&#xff0c;3人受轻伤。目前&#xff0c;四川省公安厅交通警察总队高速公路五支队十四大队民警已对现场进行双向管制。 作为世界第一桥梁…

msvcp140.dll丢失怎么办?(详细解决方法)

1.msvcp140.dll有什么用&#xff1f; 运行C程序&#xff1a;msvcp140.dll文件包含了许多C程序所需的函数和资源&#xff0c;使得C程序能够在计算机上正确运行。 提供运行时库&#xff1a;msvcp140.dll文件包含了C程序在运行时所需的库文件&#xff0c;如输入/输出操作、内存管…