linux下的磁盘管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下的磁盘管理相关的知识,希望对你有一定的参考价值。
前言:本文记录笔者在学习linux下磁盘管理时的总结,仅做学习记录使用。
要想了解linux下的磁盘管理方式,首先,得对硬盘及linux下硬盘的表述方式有个清晰的了解,下面来介绍一下linux下对硬盘的表述方式。
1、关于硬盘?
硬盘一般分为IDE硬盘、SCSI硬盘和SATA硬盘(串口硬盘)。现如今使用大多硬盘为SCSI和SATA硬盘。
2、Linux下对硬盘及其分区的表述是怎样的呢?
(1)在linux下,IDE接口的设备被称为hd,SCSI和SATA接口的设备则被称为sd。(现如今用的是SCSI或者SATA接口的硬盘,所以一般为sd)
(2)所以,第1块硬盘被称作sda,第2块被称作sdb,以此类推。
(3)linux规定,一块硬盘上只能存在4个主分区,分别被命名为sda1、sda2、sda3和sda4。逻辑分区则从5开始标识,每多一个逻辑分区,就在末尾的分区号上加1。逻辑分区没有数量限制。
3、硬盘的存储原理是怎样的呢?
从存储原理上说,硬盘和磁带是一样的,硬盘内部是几个叠在一起的磁性盘片,读取数据的时候,盘片以恒定的速度旋转,边上有一个小磁头进行读取和写入。磁头通过改变盘片上磁性物质的排列来写入数据。值得注意的是,磁头在读写数据的时候并不接触盘面,而是悬浮在距离盘片表面非常近的地方。如果因为某些原因,磁头接触到了盘片,那么就会产生破坏性的后果,这也是为什么不能在运行时搬动主机的一个原因。
在介绍完了硬盘之后,我们来了解一下文件系统。
4、什么是文件系统?
文件系统是一种对物理空间的组织方式,通常在格式化硬盘时创建。例如怎样存储一个文件?怎样表示一个目录?怎样知道某个特定的文件存储在硬盘的哪个位置?这些问题都可以通过文件系统来解决。
5、常见的文件系统有哪些?
(1)Windows下,常见的有NTFS和FAT两种文件系统。
(2)linux下,现主流的文件系统为ext4fs和ReiserFS文件系统,这两者都是日志文件系统。当然linux下还有minix、ext2、ext3等文件系统。
(3)ext4fs文件系统是在ext3fs文件系统的基础上,增加了日志功能。ext4fs文件系统预留了一块专门的区域来保存日志文件,当对文件进行写操作时,所作的修改将首先写入日志文件,随后在写入一条记录标记日志项的结束。完成以上操作后,才会对文件系统作实际的修改。这样,当系统奔溃后,就可以利用日志恢复文件系统。避免了数据的丢失。
6、关于swap(交换分区)。
(1)swap并不是文件系统,它被称为交换分区,是一块特殊的硬盘空间。当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。
(2)这种方式的优点在于,通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。
(3)硬盘空间的价格比RAM低的多,因此这种方式是非常经济和实惠的。
(4)频繁的读写硬盘会显著降低系统的运行速度,这是使用交换分区最大的限制。
了解了文件系统之后,我们还需要了解一下linux下设备的表示方法,然后就可以对设备(文件系统)进行挂载了。
7、linux下设备是怎么表示的呢?
(1)linux下所有的设备都被当做文件来操作。每个设备都被映射成为一个特殊的文件,称为“设备文件”。
(2)这些设备文件被放在根目录的dev目录下面。即/dev。
(3)其中,这些文件大部分是块设备文件和字符设备文件。块设备文件可以随机读写,字符设备文件只能按照顺序接收“字符流”。
8、使用mount命令对设备进行挂载:
(1)首先,为要挂载的设备新建一个目标目录。我们将设备挂载在这个目标目录下。
(2)使用mount命令对设备进行挂载。格式为:mount [可选项] 设备 目标目录。这条命令将设备挂载在目标目录下,挂载成功后,我们就可以在该目标目录下读取到设备有关的文件了。例如,在电脑上插入光盘,对光盘进行手动挂载,挂载在我们指定的目录(/mnt/cdrom)下,可以使用如下指令:
sudo mkdir /mnt/cdrom ##新建一个目标目录
sudo mount /dev/cdrom /mnt/cdrom ##挂载光盘到目录/mnt/cdrom下
(3)我们可以-t可选项指明要挂载设备的文件系统类型。
常用文件系统的表示:
ext2:表示linux的ext2文件系统。
ext3: 表示linux的ext3文件系统。
ext4: 表示linux的ext4文件系统。
vfat: 表示windows的FAT16/FAT32文件系统。
ntfs: 表示windows的NTFS文件系统。
iso9660: 表示CD-ROM光盘的标准文件系统。
如果不指名类型,mount会自动检测设备上的文件系统,并以相应的类型进行挂载。因此大多数情况下,-t选项不是必要的。
(4)可选项-r指定以只读模式挂载设备。
(5)可选项-w以可读写模式挂载设备。-w为默认选项。
(6)关于mount的其他用法请参考手册说明。
9、使用umount对设备进行卸载:
(1)使用umount对设备进行卸载很简单,只需要在后面跟上一个设备名即可。例如,对光盘进行卸载:umount /dev/cdrom。
(2)值得注意的是,文件系统(设备)只有在没有被使用的情况下才可以被卸载。在当前目录是被挂载设备所在的目录时,即便没有对设备作任何的读写,卸载也是不允许的。
10、查看磁盘使用情况:df。
(1)df命令会收集和整理当前已经挂载的全部文件系统的一些重要统计数据。可以使用df查看当前磁盘上所有挂载的设备(文件系统)。
(2)df的-t参数用于显示特定的文件系统。
11、检查和修复文件系统:fsck。
(1)fsck可以对文件系统发生的小异常进行快速修复,并将日志回滚到上一次正常的状态中,fsck接收分区编号来指定需要检查的文件系统。
(2)带有-p选项的fsck命令会读取fstab文件来确定检查哪些文件系统,并通过每一条记录最后一个字段所指定的顺序,对文件系统按照数字的升序进行检查。
12、使用mkfs在磁盘上建立文件系统。
(1)mkfs本身并不执行建立文件系统的工作,而是调用相关的程序,如mkdosfs、mke2fs、mkfs.minix等,对磁盘进行格式化。
(2)使用-t参数指定文件系统,mkfs会调用特定的程序对磁盘进行格式化。
常用的文件系统:
minix: linux最早期使用的文件系统。
ext3: ext3文件系统。
ext4: ext4文件系统。(默认)
mkdos: FAT文件系统。
以上是关于linux下的磁盘管理的主要内容,如果未能解决你的问题,请参考以下文章