硬盘分区与文件系统全解析:从MBR到LVM 一、查看磁盘使用情况二、划分磁盘分区1.fdisk2.MBR分区a)概念MBR(Master Boot Record主引导记录)包含硬盘一系列参数和一段引导程序硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统并将控制权交给启动程序。MBR是由分区程序如Fdiskexe所产生的它不依赖任何操作系统而且硬盘引导程序也是可以改变的从而实现多系统共存。b类型主分区一块硬盘最多4个主分区主分区不可以再进行二次分区主分区可以直接建立文件系统存放数据可以用来引导、启动操作系统。扩展分区一块硬盘最多一个扩展分区加主分区最多4个不能创建文件系统可以划分逻辑分区。逻辑分区可以创建文件系统存放数据逻辑分区的数量没有限制。支持的分区数量4个主分区或者3个主分区1个扩展分区。为什么MBR最多只能有4个主分区:因为分区表占据64个字节其中每个分区的信息占用16个字节分区表里面可以记录四个分区信息描述。c划分MBR分区3.GPT分区a产生原因MBR分区表中最高支持磁盘容量为2.2TBMBR分区表中没有备份机制分区表被干掉则磁盘全部死光光MBR中存储开机管理程序的容量只有446B无法存储较多内容。b概念GPT(全局唯一标识分区表)是一种比MBR分区更先进、更灵活的磁盘分区模式GPT分区表使用LBA逻辑区块地址来记录磁盘引导、分区的相关信息不在区分主分区与其它分区默认情况下,GPT最多可支持128个分区支持大于2.2TB的总容量及大于2.2TB的分区最大支持18EB1EB1024PB1PB1024TB1TB1024GBGPT分区机制在较老的BIOS中不能识别则提供了一个UEFI 统一的可扩展固件接口来取代传统的BISO又称为UEFI BIOSUEFI使用C语言编写支持较多的平台。c划分GPT分区4.gdisk三、格式化1.格式化的目的当我们拿到了一张大白纸首先为了使用方便要裁剪然后为了书写工整要先画格这里的“白纸”就是原始的硬盘,而“裁剪”意味着分区然后的“画格”就是格式化最后写入内容格式化是对分区建立文件系统文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构即在存储设备上组织文件的方法。2.文件系统组成-ext2组成super block超级块)、inode 索引块、block数据块super block又称为“硬盘地图”记录文件系统的整体信息如inode/block块的总量、使用量、空闲块量、文件系统格式等相关信息inode记录文件的属性一个文件占用一个inode块并且记录次文件的数据所在的block块的号码默认为128B大小存储文件访问权限、文件所有者与所属组、文件大小、创建时间或修改内容时间、最有一次访问时间、特殊权限、真实数据地址block块记录实际文件的内容在EXT2文件系统中分为1KB、2KB、4KB容量文件太大时会占用多个数据块。3.查看文件系统格式方法输入mkfs在键入tab(点击2次)进行命令补全可显示支持的文件系统格式。四、为新建分区制作文件系统五、设备的挂载和卸载mount point挂载点是一个目录该目录是进入磁盘分区文件系统的入口。挂载将一个分区或者设备挂载至挂载点目录建立连接通过挂载点目录进入分区空间。1.设备挂载mount命令注意单一文件系统不应该被重复挂载在不同的挂载点(目录)中单一目录不应该重复挂载多个文件系统作为挂载点的目录应为空目录否则原有数据会隐藏。2.卸载umount命令作用卸载分区要移除USB磁盘、U盘、光盘和硬盘时需要先卸载。注意若正使用文件系统则应使用cd命令离开该目录后再卸载。当设备闲置时当设备忙时再开启一个shell3.在挂载时可以指定参数只读挂载设备当设备已经挂载如何更改设备参数4.开机挂载作用由于mount为手动挂载重启后就会卸载则修改/etc/fstab配置文件实现开机自动挂载。注意根目录/ 是必须挂载的而且一定要先于其它mount point 被挂载其它mount point 必须为已建立的目录可任意指定但一定要遵守必须的系统目录架构原则(FHS)所有mount point 在同一时间之内只能挂载一次所有partition 在同一时间之内只能挂载一次。六、如何永久挂载设备/etc/rc.d/rc.local 这个文件是开机启动脚本可以把mount命令写入此脚本中此脚本在开机过程中执行很晚。/etc/fstab 设备挂载策略文件在开机加载内核后就会被读取。七、删除此设备八、特殊挂载1.挂载大文件当只有一个分区剩余空间还很大自由空间很小不能进行新的分区则可以在当前分区制作一个大文件在进行挂载相当于一个新的分区来用。2.增加swap分区swap分区类似于Windows系统虚拟内存的功能将一部分硬盘空间虚拟成内存来使用从而解决内存容量不足的情况因为swap毕竟是用硬盘资源虚拟的所以速度上比真实物理内存要慢。添加过程新建分区-格式化该分区-启用新的swap-查看系统信息-挂载。注意swap在服务器中有时会关闭如数据库服务器但一般用于服务器内存剩余空间有一定压力时会发使用swap空间则swap空间大小设置一般为当物理内存小于2G时swap分区大小为物理内存的2倍超过2G的部分swap分区大小跟物理内存相等可以使用 swapoff命令停用部分swap空间。九、swap分区1.查看swap分区2.建立swap分区a建立标签为Linux swap的分区b格式化分区c激活设备d永久生效e删除十、df命令作用列出文件系统的磁盘空间占用情况dfdisk free通过文件系统来快速获取空间大小的信息当我们删除一个文件的时候这个文件不是马上就在文件系统当中消失了而是暂时消失了当所有程序都不用时才会根据OS的规则释放掉已经删除的文件 df记录的是通过文件系统获取到的文件的大小他比du强的地方就是能够看到已经删除的文件而且计算大小的时候把这一部分的空间也加上了更精确了。十一、du命令作用du显示磁盘空间使用量统计目录或文件所占磁盘空间大小在默认情况下文件大小的单位是KBdudisk usage是通过搜索文件来计算每个文件的大小然后累加du能看到的文件只是一些当前存在的没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和当文件系统也确定删除了该文件后这时候du与df就一致了。十二、软硬链接1.硬盘数据分类用户数据即文件的数据块,存储数据真实空间。元数据存储文件附加属性如文件的大小、创建的时间、所有者等信息。2.软链接原理软连接是一种符号连接类似于windows的“快捷方式”仅包含所连接的路径名。注意软连接只是一种指向关系删除源文件则数据不可访问可以通过ll命令查看软连接实际执行文件及位置更改软连接方法ln -snf 新文件名 软连接名删除软连接只是删除指向关系源数据依然可以访问。3.硬链接原理linux系统允许多个文件指向同一个inode即允许一个文件拥有多个有效地路径名理解硬连接就是指向原始文件inode的指针。注意硬连接建立后删除源文件后数据依然可以访问只有硬连接为0时数据旧无法访问了 硬连接不能给目录建立 目录自带2个硬连接即目录中的 . .. 表示当前目录和上一级目录不可以在不同的文件系统内建立硬连接由于inode是当前文件在本文件系统的索引值即只能在本分区使用应以硬连接不能跨越文件系统。4.软硬连接的区别硬连接中源文件与连接文件公用一个inode号是同一个文件软连接中源文件与连接文件拥有不同inode号是2个不同的文件软连接的指向关系可以查看硬连接不可以查看连接数不同软连接数不会增加文件大小不同硬连接文件大小与源文件一样软连接不受任何文件系统的影响任何用户都可以创建指向目录的软连接。十三、在系统之中查找文件1.建立实验素材2.命令操作在系统中如果需要通过文件的元数据来对文件进行查找通常使用find命令。十四、RAID1.概念当今CPU性能每年可提升30%-50%但硬盘仅提升7%硬盘在服务器中需要持续、频繁、大量的I/O操作故障机率较大则需要对硬盘进行技术改造提升读写性能、可靠性原理RAID将多个硬盘设备组成一个大容量、安全更好的磁盘阵列并将数据切割成多个片段后分别存储到不同的物理硬盘上利用分散读写技术来来提升硬盘性能同时也备份了多个副本到不同硬盘中拥有了备份冗余功能。2.常见RAID组建方案RAID0原理把至少2块硬盘通过硬件或软件方式串联组成一个大的卷组并将数据依次写入到各个硬盘优点数据同步传输,读取/写入分开,性能大大提升缺点若任意一块硬盘故障会导致整个系统的数据损坏无备份冗余能力错误修复能力总结使用率100%,至少2块磁盘才能使用优点是快提升磁盘的读写速度缺点是不安全。RAID1产生原因若生产环境对硬盘的读写速度没有较大要求但希望增加数据安全性时可使用RAID原理把至少2块硬盘绑定起来写入数据时将数据同时也写入另一或多块硬盘中本质多个硬盘作为镜像备份优点数据备份冗余安全性大大提升缺点硬盘利用率下降总结是镜像使用两块磁盘一式两份的方式支持容错冗余数据安全不丢失缺点是速度不快使用率50%成本较大。RAID5产生原因兼顾“读写速度”、“数据安全”、“成本”的一种折中方式原理需至少三块硬盘将数据分块存储到不同硬盘中硬盘中必须存储其它一个硬盘的parity(奇偶校验信息)优点兼顾性能通过“奇偶校验”替代“镜像备份”缺点硬盘数据安全性较低总结使用率(n-1)/n*容量,磁盘坏了会立即补上数据会恢复。RAID10 主流本质RAID1RAID0 的组合原理至少需要4块硬盘先制作两两的RAID1阵列以保证安全性在两两制作RAID0以提高读写速度优点兼具速度和安全性缺点成本较高。3.mdadm命令作用管理系统中的RAID磁盘阵列。4.取消RAID注意实际生产环境中若取消RAID10之前必须备份出其数据否则已存在数据无法使用。5.RAID备份盘技术产生原因在RAID10中若RAID1中的某个硬盘损坏在修复完毕前恰巧另一块RAID1的硬盘也损坏则数据就彻底丢失。原理在RAID中添加一个大容量的备份盘来预防此类事故某块硬盘故障备份盘同步恢复无须人工干预分析RAID10需要4块硬盘备份盘需要1块硬盘共5块硬盘。6.监控7.制作raid8.问题展示9.删除raid十五、管理逻辑卷1.工作原理产生原因硬盘分区或部署为RAID后在修改分区大小时就非常不容易此时用户随着实际的需求变化而动态调整硬盘分区大小时受到限制无灵活性LVM允许用户对硬盘资源进行动态调整。认识Linux逻辑卷LVM是 Logical Volume Manager(逻辑卷管理)的简写LVM将若干个磁盘或者磁盘分区连接为一个整块的卷组形成一个存储池通过LVM技术屏蔽了磁盘分区的底层差异管理员可以在卷组上任意创建逻辑卷并进一步在逻辑卷上创建文件系统管理员通过LVM可以方便的调整存储卷组的大小并且可以对磁盘存储按照组的方式进行命名、管理和分配。LVM基本概念PE物理区域物理区域是物理卷中可用于分配的最小存储单元物理区域的大小默认为4MB。物理区域大小一旦确定将不能更改同一卷组中的所有物理卷的物理区域大小需要一致物理卷简称PV物理卷可以是整个硬盘、硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID)是LVM的基本存储逻辑块但和基本的物理存储介质如分区、磁盘等比较却包含有与LVM相关的管理参数卷组简称VG可以看成单独的逻辑磁盘建立在PV之上一个卷组中至少要包括一个PV在卷组建立之后可以动态的添加PV到卷组中。卷组的名称可以自定义逻辑卷简称LV相当于物理分区。逻辑卷建立在卷组之上卷组中的未分配空间可以用于建立新的逻辑卷逻辑卷建立后可以动态的扩展或缩小空间。系统中的多个逻辑卷可以属于同一个卷组也可以属于不同的多个卷组。2.制作逻辑卷3.lvm相关设备查看命令4.lvm设备的拉伸a当vg容量充足时监控命令拉伸操作b当vg容量不足时划分新的物理分区拉伸动作5.lvm的缩减6.lvm的删除