当前位置: 首页 > Linux

Linux磁盘管理

时间:2023-04-06 07:20:02 Linux

前言机械硬盘:磁盘存储数据扇区:固定大小——512Byte——磁盘的最小存储单元磁道:逻辑结构,最外层磁道为0磁盘大小:磁头数*柱面数*Sectors分区数*每个扇区大小IDE硬盘接口:ATA硬盘或PATA硬盘理论133MB/SSATA硬盘接口:理论600MB/SSCSI接口:服务器理论值320MB/S固态硬盘:flash内存颗粒存储数据(主控+Particles)摒弃了机械硬盘的物理结构,具有低功耗、无噪音、抗震动、低散热、体积小、读写速度快等特点;它价格昂贵且使用寿命有限。Partition:分区(组)硬盘空间MBR(masterbootrecord):兼容windows磁盘分区方式,物理容量<2T使用GPT(GUID分区表):物理容量>2T使用,没有主分区和logicpartition逻辑块地址的概念[LAB]格式化:规划写入文件系统(在硬盘中插入一个分区并打上标签)datablock[datablock——block]:记录文件数据,大小(1KB,2KB,默认为4KB),数量已经格式化后确定,不可更改。除非重新格式化,否则每个块只能保存一个文件的数据。如果文件小于一个block,那么这个block的剩余空间不能被其他文件占用;如果文件大于1块,则需要多占用几个块。Windows中的磁盘碎片整理工具就是将多个块尽可能整合在一起,以加快读写速度inode[inode,index]:记录文件属性;每个文件需要占用一个inode;inode相同,相互之间是硬链接分类:1、ext2、ext3、ext42、fat16、fat323、NTFS——需要重新编译内核1、硬盘分区类型Windows和Linux系统可以识别以下三种类型的分区。主分区:最多可分为4个扩展分区:只有一个,属于主分区;不能存储数据和格式,必须划分逻辑分区才能使用逻辑分区:IDE硬盘——50个逻辑分区;SCSI硬盘——11个逻辑分区“sd”:SCSI或SATA硬盘;“hd”:IDE硬盘;"1~4":主分区或扩展分区"5~59":逻辑分区,必须从/dev/sda5算起。Linux中的所有存储设备都需要挂载后才能使用。(Swap分区系统直接调用,不需要挂载)挂载:建立分区与挂载点硬盘设备的连接它由大量的扇区组成,每个扇区的容量为512字节.其中,第一个扇区最为重要,保存着主引导记录和分区表信息。主引导记录占446字节,分区表占64字节,终结符占2字节;其中,分区表中记录的每个分区信息需要16个字节,这样最多只能写入4个分区信息在第一个扇区,这4个分区就是4个主分区。扩展分区不是真正的分区,更像是一个占用16字节分区表空间的指针——指向另一个分区的指针。该结构将形成一个单链表。这样,用户一般会选择使用3个主分区加1个扩展分区,然后在扩展分区中创建多个逻辑分区,以满足多个分区(4个以上)的需要。一切从“/”开始1、在Windows操作系统中,如果要查找一个文件,需要进入该文件所在的磁盘分区(假设这里是D盘),然后进入具体目录分区下,终于找到这个文件2.在Linux系统中系统中的所有文件都是从“根(/)”目录开始,按照文件系统层次标准(FHS—,FilesystemHierarchyStandard[协议大于配置]),并定义了公共目录目的Linux系统中的公共目录名和对应的内容目录名应该放置文件的内容/boot启动所需的文件——kernel,bootmenu,and需要的配置文件等/dev以文件的形式存放任何设备和接口/etc配置文件/home用户家目录/bin存放单用户模式下也可以操作的[命令]/开机时使用的lib函数库up,以及/bin和/sbin/sbin下的命令调用的函数/media挂载设备文件的目录/opt放置第三方软件/root系统管理员的主目录/srv一些网络的数据文件目录services/tmp任何人都可以使用的“共享”临时目录/proc(内存映射)虚拟文件系统,如系统内核、进程、外部设备和网络状态等/usr/local用户自己安装的软件/usr/sbinLinux系统启动时不会用到的软件/command/[script]/usr/share帮助和解释文件,也可以放共享文件deviceLinux系统的一切都是文件,硬件设备也不例外。系统内核中的udev设备管理器会自动规范硬件名称,让用户可以通过设备文件的名称来猜测设备的大致属性和分区信息;同时,udev设备管理器的服务会一直以守护进程的形式运行,监听内核发出的信号,对/dev目录下的设备文件进行管理。常用硬件设备及其文件名硬件设备文件名IDE设备/dev/hd[a-d]SCSI/SATA/U盘/dev/sd[a-p]floppydrive/dev/fd[0-1]printer/dev/lp[0-15]光驱/dev/cdrommouse/dev/mousetapedrive/dev/st0or/dev/ht0PS:现在IDE设备很少见,所以一般的硬盘设备都会以“/dev/sd”开头。而一台主机可以有多个硬盘,所以系统用a~p代表16个不同的硬盘(默认从a分配)a:系统中同一界面识别的第一个设备5:这个设备是一个逻辑分区.知识盲区解释1./dev/sda表示主板第一个插槽的存储设备。/dev目录下的sda设备之所以是a,并不是由slot决定的,而是由系统内核的识别顺序决定的。是的,而且恰好很多主板的插槽顺序是系统内核的识别顺序,所以命名为/dev/sda。在使用iSCSI网络存储设备时,你会发现主板上的第二个插槽明显是空的,但系统却能识别到/dev/sdb设备,这就是这个原因。2.partition的编号代表分区的个数。例如,sda3表示这是设备上的第三个分区。分区的数字代码不是必须的,也可以是手动指定的。所以sda3只能代表编号为3的分区,而不能判断sda设备上已经有3个分区文件系统和数据文件系统。可以避免系统异常宕机时文件系统数据的丢失,并可以自动修复数据不一致和错误。但是,当硬盘的容量很大时,恢复所需的时间会很长,也不能100%保证数据不会丢失。它会预先记录整个磁盘上每一次写操作的细节,以便在异常宕机后可以追溯到中断的部分,然后尝试修复。Ext4:Ext3的改进版本,作为RHEL6系统中默认的文件管理系统,支持最大存储容量为1EB(1EB=1,073,741,824GB),并且可以有无限的子目录。另外,Ext4文件系统可以批量分配块,大大提高了读写效率。XFS:高性能日志文件系统,是RHEL7默认的文件管理系统。它的优势在意外宕机后尤为明显,即可以快速恢复可能损坏的文件,强大的日志功能只需要成本极低的计算和存储性能。并且最大可以支持18EB的存储容量,几乎可以满足所有需求。硬盘需要保存太多的数据,所以在Linux系统中有一个叫做superblock的“硬盘映射”。Linux并不直接将文件内容写入这个“硬盘映射”,而是将整个文件系统的信息记录在其中。如果将文件的所有内容都写入其中,那么文件的体积会变得很大,查询和写入文件内容的速度也会变得很慢。Linux在inode中只记录了每个文件的权限和属性,每个文件占用一个独立的inode表。表的大小默认为128字节。文件的访问权限(读、写、执行);文件的所有者和组(owner,group);文件的大小(大小);文件的创建或内容修改时间(ctime);文件的最后访问时间(atime);文件的修改时间(mtime);文件的特殊权限(SUID、SGID、SBIT);文件的真实数据地址(点)。文件的实际内容存储在块中(大小可以是1KB、2KB或4KB)。一个inode的默认大小只有128B(Ext3),记录一个block消耗4B。当文件的inode满了,linux系统会自动分配一个block块,专门用来和inode一样记录其他block块的信息,这样就可以把每个block块的内容串起来让用户使用阅读完整的文件。文件的内容。对于存放文件内容的block,常见的有两种情况(以4KB的block大小为例)情况一:文件很小(1KB),但还是占了一个block,所以3KB有潜在的浪费。情况二:如果文件很大(5KB),会占用两个block(5KB-4KB后剩余的1KB也会占用一个block)磁盘容量配额root管理员使用磁盘容量配额服务来限制某个用户或某个用户组可以使用最大硬盘空间或特定文件夹的最大文件数。一旦达到这个最大值,就不允许再使用。可以使用quota命令来管理磁盘容量配额,从而限制用户硬盘的可用容量或可以创建的最大文件数。quota命令还有软限制和硬限制功能。软限制:当达到软限制时,会提示用户,但仍允许用户在限制的配额内继续使用。硬限制:当达到硬限制时,会提示用户并强制终止用户的操作。RHEL7系统已安装quota磁盘容量配额服务包,但存储设备默认不支持quota。在这种情况下,需要手动编辑配置文件。RHEL6系统使用usrquota参数,RHEL7系统使用uquota参数。vim/etc/fstab#打开磁盘配置文件mount|grepboot#检查是否支持容量配额服务软硬链接**硬链接(hardlink):**可以理解为“指向原始文件inode的指针”,系统不会分配单独的inode和文件为了它。因此,硬链接文件和原始文件实际上是同一个文件,只是名称不同而已。每增加一个硬链接,文件的inode连接数就会增加1;只有当文件的inode连接数为0时,才会被彻底删除。也就是说,由于硬链接实际上是一个指向原文件inode的指针,即使原文件被删除,仍然可以通过硬链接文件访问到。注意:目录文件不能跨分区链接。目录不能建立硬链接**软链接(也称为符号链接[symboliclink]):**只包含被链接文件的路径名,所以可以链接目录文件,也可以跨文件链接系统。但是当原文件被删除后,链接文件也会失效,类似于Windows系统中的“快捷方式”。交换分区SWAP(swap)分区是一种在硬盘中预先划分出一定的空间,然后将内存中不常用的数据暂时存放到硬盘中,腾出物理内存空间供更活跃的程序使用使用的服务。目的是为了解决真实物理内存不足的问题。但是由于swap分区通过硬盘设备读写数据,速度肯定比物理内存慢,所以swap分区的资源只有在真正的物理内存耗尽时才会被调用。在生产环境中,swap分区的大小一般是真实物理内存的1.5到2倍df#文件系统信息df-ahT#特殊文件系统,这些文件存放在内存中,比如/proc。因为挂载在内存中,所以占用量为0h:单位不再是KBT:文件系统类型du#命令统计目录或文件占用的磁盘空间;“ls-l”查看目录大小大多为4KB,因为目录下的子目录和子文件名都保存到父目录的块中(默认为4KB)。如果父目录的子目录和子文件不多,一个block可以放下,那么父目录占一个blockdu-a#统计当前目录的总大小,同时统计所有的磁盘使用情况当前目录下的子文件和子目录。默认单位是KBdu和df的区别:1.从文件系统的角度来看,df是利用文件系统中未分配的空间来确定分配空间的大小,需要考虑的不仅仅是占用的空间被文件占用,还有被命令或程序占用的空间(文件被删除,但空间还没有释放)。2、从文件的角度,du只会计算文件或目录占用的磁盘空间,因此,df统计的分区更准确。挂载命令mount和卸载命令umount1。使用空目录作为挂载点。如果使用已有的数据目录作为挂载点,将找不到原目录下的数据。文件读取写入原则删除原则1.保证文件的硬链接数为0i_link2。确保文件没有被进程占用i_count