首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux物理磁盘做LVM

最近刚刚跳槽,新单位同事问了我个问题,突然把我问懵了,因为好久没有接触底层磁盘了,于是做了以下的实验。 首先电脑开虚拟机,在虚拟机上新建四磁盘 image.png 开机查看磁盘状态。...每块盘我添加的为2G可以看到sdb、sdc、sdd、sde四2G磁盘。.../dev/sda2 2099200 104857599 51379200 8e Linux LVM 磁盘 /dev/sdb:2147 MB, 2147483648 字节...of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 对硬盘/dev/sdb进行分区,其余三盘也要进行如下操作...[root@bigdata01 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘

4.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linux】基础IO --- 内核级和用户级缓冲区、磁盘结构、磁盘的分治管理、block group组剖析…

512字节,在LInux中的文件类型有一种叫做设备类型,磁盘就是典型的设备文件。...,等磁盘就绪实际上就是OS给了磁盘某个扇区的地址,然后盘片疯狂旋转,磁头高速来回摆动,帮助我们确定扇区的地址在哪里,在这个时间过程中,进程被迫等待,状态R状态变为S状态,也就是阻塞状态,等到磁盘就绪,...block bitmap代表数据的位图结构,比特位的位置和data block数据的位置一一对应,比特位的内容代表数据是否被使用,数据被占用,对应的比特位0置1,数据被释放,对应的比特位1...恢复文件其实就是将inode bitmap和block bitmap中文件的inode和数据对应的比特位0置为1即可。...然而在linux上,我们一直使用的是文件名,而不是文件的inode。 目录也是一个文件,目录的数据放的就是目录下所有文件的文件名与inode和数据的映射关系。

72530

Linux基础知识

和SATA接口 此时设备的文件名为 主机上皆有一IDE接口的磁盘,这一磁盘接在IDE2上主接口上(一个IDE上有三个接口),查表可知文件名为 /dev/hdc SATA/USB/SCSI接口使用的是...,机械手臂,磁头,主轴马达 数据在盘面上,盘片上可以分为扇区,柱面, 整块磁盘的第一扇区重要,因为其记录了整块磁盘的主要信息。...3和4的扩展分区,切出逻辑分区, /dev/hda1 /dev/hda2 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 /dev/hda9 主分区和逻辑分区最多有四个...的时候) 多系统 此时在一个硬盘的全部柱面区装有两个系统为linux和windows windows拥有转交给其他引导分区的loader 总结 每个扇区拥有自己的启动扇区 实际开机的文件是放置到各自分区内的...选择磁盘类型为SCSI 纠结了一会,选择SATA 硬件配置如下 [5.png] 选择安装选项 [6.png] 安装选项 暂时选择全部安装 [7.png] 分区配置 [9.png] 目前只有一硬盘 设置

1.5K41

Linux 虚拟文件系统

虚拟文件系统介绍 Linux使用了虚拟文件系统(VFS,Virtual Filesystem,下文统称“虚拟文件系统”),它不是磁盘文件的组织格式,而是抽象出来的文件树的集合,它通过标准接口动态的向其中增加或移除对应的目录...vfs.png 虚拟文件系统对象类型 虚拟文件系统,有四个主要对象类型: Superblock 表示特定加载的文件系统 Inode 表示特定的文件 Dentry 表示一个目录项,路径的一个组成部分...File 表示进程打开的一个文件 Superblock 超级(spuerblock)对象各自的文件系统实现,用来存储文件系统的信息。...这个对象对应为文件系统超级或者文件系统控制,它存储在磁盘特定的扇区上。不是基于磁盘的文件系统临时生成超级,并保存在内存中。 Inode 索引节点对象包含了内核在操作文件或目录时需要的全部信息。...该对象(不是物理文件)相应的open()系统调用创建,close()系统调用销毁,所有这些文件相关的调用实际上都是文件操作 表中定义的方法。

1.5K51

Linux内核设备驱动之虚拟文件系统笔记整理

VFS中包括了四个主要的对象类型。 a.超级对象super_block 所有文件系统都必须实现超级,该对象用于存储特定文件系统的信息,通常存储在磁盘的特定扇区中,每个文件系统只有一个超级。...对于不基于磁盘的文件系统,比如基于内存的文件系统sysfs,linux会在使用现场创建超级并将其保存到内存中。 超级的结构体为super_block,定义在。...在文件系统安装时,内核会调用alloc_super()函数从磁盘读取文件系统超级,并将其信息填充到内存中的超级对象中。...b.索引节点对象inode 索引节点对象包含了内核在操作文件或目录是需要的全部信息,如文件的访问控制权限,大小,拥有者,创建时间等。 系统把这些信息存储在一个单独的数据结构中,称为索引节点。...文件对象file结构体表示,定义在中。file对象的操作函数结构体为file_operations,定义在中。

2.1K20

LAMP优化

目前,几乎在所有的Linux发布版中都默认包含了“LAMP stack”的产品。这些产品组成了一个强大的Web应用程序平台 LAMP 平台四个组件组成,呈分层结构。...时间长了会发现每个磁盘上确实积累了非常多的垃圾文件,释 放磁盘空间可以帮助系统更好地工作。Linux最好的整理磁盘碎片的方法是做一个完全的备份,重新格式化分区,然后从备份恢复文件。...第一个数字是在"dirty"缓冲区达到多少的时候强制唤醒bdflush进程刷新硬盘, 第二个数字是每次让bdflush进程刷新多少个dirty。所谓dirty是必须写到磁盘中的缓存。...Linux安装后系统默认是6个虚拟终端机,也就是 CTRL+ALT F1~F6 那六个,作为服务器使用可以关掉其中四个,只留下 CTRL+ALT F1~F2,大约省下 4 Mbytes 的内存,但是这样一来...修改 /etc/inittab 中,将 mingetty 3 ~6 全部加上 # 字号 。 6.

71220

Linux】详解文件系统以及周边知识

每个磁道又可以被均分成一个一个的扇区,扇区是磁盘IO的基本单位(想要修改扇区中的一个比特位就必须把该扇区的全部比特位都加载到内存中)。磁盘中的盘面,磁道和扇区都是有编号的。...假设磁盘每一个盘面的大小为200GB,一共有四个盘面,假设每一个扇区大小为512kb,那800GB就可以被分成1677721600个扇区大小。...那么如果把这个线性结构看成是一个数组的话,那么我们每次拿着要访问的扇区对应的数组下标通过对应的算法转化成CHS地址就能访问到该扇区了,该工作是磁盘完成的。...Linux磁盘文件特性分为文件内容加上文件属性,文件属性包括类型,大小,权限,时间,inode编号等等.........删除一个文件只需要将其在inode Bitmap和Block Bitmap中所占有的比特位置0即可,而不需要再磁盘中将对应的数据全部删除掉,这也是为什么我们删除一个文件比下载一个文件快得多的本质原因。

8710

写时复制技术详解(COW)

文件系统可以看作是磁盘组成的大树,当使用COW策略修改叶时,还需要修改其父节点以更新修改后的子的新位置。此更新过程将递归进行,直到到达根为止,该根可以在磁盘上的固定位置进行更新。...递归更新可能会导致存储系统出现多种副作用,例如WRITE放大,I / O模式变更和性能下降 缺点: 写放大:递归更新可能会导致写放大,比如应用程序只需要修改一个叶子数据F 但是,递归更新导致总共修改了四个父级节点...实际上,由于在这种情况下忽略了分配引起的递归更新,因此修改的数量可能会更高。 性能下降: WRITE放大会引入其他数据以进行写入,这最终可能会降低文件系统的性能。...优点: 保护数据:本地文件系统.由于有备份机制,不会因为文件系统崩溃导致大量甚至全部数据丢失....这些区域父、子进程共 享,而且内核将它们的存取许可权改变为只读的。

4.4K11

如何使用Linux dd命令克隆磁盘

conv = sync,noerror - 同步I / O,如果在源磁盘上遇到错误,请勿停止 | - Linux管道(Linux或FIFO中的进程间通信通道) pv -s 21GB - 监视克隆进度...- 大约21GB应通过管道传输 的 - 管道数据实际写入的目标磁盘(输出/输出文件) 如果要使用比标准磁盘大小(512)更大的大小进行操作,则假定标准大小(2048)的大小是四倍,为了加快速度,您可以进行一些简单的数学和乘法通过四个盘的标准大小...- 示例二 - 克隆GPT磁盘(Windows操作系统安装在第四个分区上) 在这个摘录中, dd将以大小达到标准大小(4096)的8倍的大小运行,以便一次传输更多的。...Windows操作系统驻留在硬盘的第四个分区中。 所有以前的Windows分区也必须被克隆。 磁盘将被完全复制,直到最后一个19855359扇区,代表Windows分区边界的结尾。...4096 count=2481920 conv=sync,noerror | pv -s 9G |sudo dd of=/dev/sdb 在这个例子中,因为我们只复制Windows操作系统,而不是第四个分区之后的整个磁盘数据

16.2K20

Linux磁盘分区和挂载

挂载的经典案例 如何增加一硬盘: 虚拟机增加硬盘步骤 1 虚拟机增加硬盘步骤 2 虚拟机增加硬盘步骤 3 虚拟机增加硬盘步骤 4 虚拟机增加硬盘步骤 5 Linux 分区 查看所有设备挂在情况 命令...“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。...挂载的经典案例 说明: 下面以增加一硬盘为例来熟悉下磁盘的相关指令和深入理解磁盘分区、挂载、卸载的概念。 ?...如何增加一硬盘: 虚拟机添加硬盘 分区 格式化 挂载 设置可以自动挂载 虚拟机增加硬盘步骤 1 在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改...两次回车默认剩余全部空间。最后输入 w 写入分区并退出,若不保存退出输入 q ?

3.1K20

带你真正认识 Linux 系统结构

Linux 的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。...Linux正统的文件系统(如ext2、3等)将硬盘分区时会划分出超级、inode Table区块和data block数据区域。一个文件一个超级、inode和数据区域组成。...block 号码,此时我们的操作系统就能够据此来排列磁盘的阅读顺序,可以一口气将四个 block 内容读出来!...如果打开一个字符设备文件,那么它的read、write操作肯定和常规文件不一样,不是读写磁盘的数据而是读写硬件设备,所以file结构体应该指向不同的file_operations结构体,其中的各种文件操作函数该设备的驱动程序实现...super_block结构体保存着从磁盘分区的超级读上来的信息,例如文件系统类型、大小等。

57820

linux系统结构详解

Linux 的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。...Linux正统的文件系统(如ext2、3等)将硬盘分区时会划分出超级、inode Table区块和data block数据区域。一个文件一个超级、inode和数据区域组成。...block 号码,此时我们的操作系统就能够据此来排列磁盘的阅读顺序,可以一口气将四个 block 内容读出来!...如果打开一个字符设备文件,那么它的read、write操作肯定和常规文件不一样,不是读写磁盘的数据而是读写硬件设备,所以file结构体应该指向不同的file_operations结构体,其中的各种文件操作函数该设备的驱动程序实现...super_block结构体保存着从磁盘分区的超级读上来的信息,例如文件系统类型、大小等。

2.1K53

Linux 系统结构详解

Linux 的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。...Linux正统的文件系统(如ext2、3等)将硬盘分区时会划分出超级、inode Table区块和data block数据区域。一个文件一个超级、inode和数据区域组成。...block 号码,此时我们的操作系统就能够据此来排列磁盘的阅读顺序,可以一口气将四个 block 内容读出来!...如果打开一个字符设备文件,那么它的read、write操作肯定和常规文件不一样,不是读写磁盘的数据而是读写硬件设备,所以file结构体应该指向不同的file_operations结构体,其中的各种文件操作函数该设备的驱动程序实现...super_block结构体保存着从磁盘分区的超级读上来的信息,例如文件系统类型、大小等。

3.6K30

Linux 文件系统详解

和 DOS 等操作系统不同,Linux 操作系统中单独的文件系统并不是驱动器号或驱动器名称(如 A: 或 C: 等)来标识的。...相反,和 UNIX 操作系统一样,Linux 操作系统将独立的文件系统组合成了一个层次化的树形结构,并且一个单独的实体代表这一文件系统。...Linux正统的文件系统(如ext2、3等)将硬盘分区时会划分出超级、inode Table区块和data block数据区域。一个文件一个超级、inode和数据区域组成。...block 号码,此时我们的操作系统就能够据此来排列磁盘的阅读顺序,可以一口气将四个 block 内容读出来!...如果打开一个字符设备文件,那么它的read、write操作肯定和常规文件不一样,不是读写磁盘的数据而是读写硬件设备,所以file结构体应该指向不同的file_operations结构体,其中的各种文件操作函数该设备的驱动程序实现

10.4K20

Linux 系统结构详解

Linux  的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。...Linux正统的文件系统(如ext2、3等)将硬盘分区时会划分出超级、inode Table区块和data block数据区域。一个文件一个超级、inode和数据区域组成。...block 号码,此时我们的操作系统就能够据此来排列磁盘的阅读顺序,可以一口气将四个 block 内容读出来!...如果打开一个字符设备文件,那么它的read、write操作肯定和常规文件不一样,不是读写磁盘的数据而是读写硬件设备,所以file结构体应该指向不同的file_operations结构体,其中的各种文件操作函数该设备的驱动程序实现...super_block结构体保存着从磁盘分区的超级读上来的信息,例如文件系统类型、大小等。

2.2K20

磁盘阵列怎么组linux系统,Linux系统下如何设置磁盘阵列?

磁盘阵列到目前为止,有不下于十种的类型。而Linux系统则只支持其中的不种类型。系统管理员需要了解这五种磁盘阵列类型的特点,并根据企业的实际应用场景选择合适的磁盘类型。...如果采用这种磁盘阵列模式,Linux系统会先将数据存放在第一硬盘中。只有当这个硬盘空间已经使用完了,操作系统才会将数据存储到第二硬盘中。 以此类推。...参数三:persistent-superblock:设置是否要写入超级。  在微软的操作系统下部署磁盘阵列的话,就不需要设置这个内容。但是在Linux下,必须对此进行设置。...这个大小在创建ext2文件系统的时候被决定,它可以系统管理员指定,也可以文件系统的创建程序根据硬盘分区的大小,自动选择一个较合理的值。...全部 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145076.html原文链接:https://javaforall.cn

4.2K20

Linux磁盘分区和挂载

原理介绍 1) Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux中每个分区都是用来组成整个文件系统的一部分。...“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。...挂载的经典案例 说明: 下面以增加一硬盘为例来熟悉下磁盘的相关指令和深入理解磁盘分区、挂载、卸载的概念。...[在这里插入图片描述] 如何增加一硬盘: 1) 虚拟机添加硬盘 2) 分区 3) 格式化 4) 挂载 5) 设置可以自动挂载 虚拟机增加硬盘步骤 1 在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘...两次回车默认剩余全部空间。

3.4K00

Linux下的fdisk命令用法详解

Linux下的fdisk功能是极其强大的,用它可以划分出最复杂的分区,下面简要介绍一下它的用法: 对于IDE硬盘,每块盘有一个设备名:对应于主板的四个IDE接口,设备名依次为:/dev/hda,/dev...对于SCSI硬盘,则设备名依次为/dev/sda,/dev/sdb…等等 fdisk的命令行用法为: fdisk 硬盘设备名 进入fdisk后,首先键入’m’,即可显示fdisk全部菜单。...注:每块硬盘最多可划分四个主分区(包括基本分区和扩展分区),其中:基本分区最多可划分四个,扩展分区最多可划分一个,但扩展分区内可再划分多个逻辑分区(最多几个我没试过,总之很多)。...输入 w 结束并写入硬盘分割区属性 eg: 格式化与分区   hd–IDE设备 sd–SCSI设备   fdisk -l /dev/sda 查看第一硬盘分区情况   fdisk /dev/sdb 给第二硬盘分区...number (1-4):2 #选择第二个主分区  hex code (type L to list codes):82 #按L可列出分区类型所对应的编码 可以使用 “partprobe” 命令,重新探测磁盘中分区清空

8.8K32

read文件一个字节实际会发生多大的磁盘IO?

这个故事其实我发现了一个问题,虽然我们中的大部分人都是计算机科班出身,代码也写的很遛。但是在一些看似司空见惯的问题上,我们中的绝大多数人并没有真正理解,或者理解的不够透彻。...VFS提供的核心数据结构有四个,它们定义在内核源代码的include/linux/fs.h和include/linux/dcache.h中。...围绕这这四个核心数据结构,VFS也都定义了一系列的操作方法。...通用层 通用层是一个处理系统中所有设备IO请求的内核模块。它定义了一个叫bio的数据结构来表示一次IO操作请求(include/linux/bio.h)。...而每个组件之间都是采用不同长度的来管理磁盘数据的。

1K21
领券