今天来聊聊 linux 下磁盘分区、挂载的问题,篇幅所限,不会聊的太底层,纯当科普!!
1、Linux 分区简介1.1 主分区 vs 扩展分区
硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition),主分区可以马上被使用但不能再分区,扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区 。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),逻辑分区没有数量上限制 。
1.2 驱动器标示的含义
对习惯于使用Dos或windows的同学来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解 。然而对Red Hat Linux新手来说,可就有点恼人了 。因为对Linux用户来说无论有几个分区,都得分给目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 。Red Hat Linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“挂载点”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来 。这时要载入的一个分区就在linux的存储空间的某个目录下获得 。
下面我们先来看看Red Hat Linux的驱动器是如何标识的 。对于IDE硬盘,驱动器标识符为“hdx1”,其中“hd”表明分区所在设备的类型,这里是指IDE硬盘了 。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“1”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区 。例,hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区 。对于SCSI硬盘则标识为“sdx1”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样,不再赘述 。
我们从上面可以看到,Red Hat Linux的分区是不同于其它操作系统分区的,它的分区格式常用的有Ext3和Swap两种,Ext3用于存放系统文件,Swap则作为Red Hat Linux的交换分区(相当于windows中的虚拟内存文件) 。那么现在我们就可以知道Red Hat Linux至少需要两个专门的分区(Linux Native(本地)和Linux Swap(交换)) 。由于不能将Red Hat Linux安装在Dos/Windows分区 。一般来说我们将Red Hat Linux安装一个或多个类型为“Linux Native”的硬盘分区,但是在Red Hat Linux的每一个分区都必须要指定一个“Mount Point”(挂载点),告诉Red Hat Linux在启动时,这个目录要给哪个分区使用 。对“Swap”分区来说, 一般也定义一个,且它不必要定义载入点 。
下面我们先对“Linux Native”和“Linux Swap”有个初步的了解 。
- SWAP分区是LINUX暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为SWAP使用的分区不用指定“Mout Point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的一至两倍 。另外你也可以创建和使用一个以上的交换分区,最多16个 。
- Linux Native是存放系统文件的地方,一般用EXT3的分区类型,对Red Hat Linux来说,有了较大的选择余地,可以把系统文件分几个区来装(必须要说明挂载点),也可以就装在同一个分区中(挂载点是“/”) 。
分多个区有以下几个目的:
- 在不损失数据的情况下重装系统,比如独立设置/home挂载点,重装系统的时候直接标记回/home,数据不会有任何损失 。
- 针对不同挂载点的特性分配合适的文件系统以合理发挥性能,比如对/var使用reiserfs,对/home使用xfs,对/使用ext4 。
- 针对不同的挂载点开启不同的挂载选项,如是否需要即时同步,是否开启日志,是否启用压缩 。
- 大硬盘搜索范围大,效率低
- 磁盘配额只能对分区做设定
- /home、/var、/usr/local 经常是单独分区,因为经常会操作,容易产生碎片
每块硬盘都分为若干个分区,每个分区都有自己的文件系统 。Windows为这些文件系统各自指定了一个字母 。不过 GNU/Linux 使用唯一的树形结构来管理文件,而每个文件系统都挂载于树形结构的某个位置 。
推荐阅读
- 怎么找出Linux内存瓶颈
- 绝对经典,看了必会 linux中部署mysql主从同步示例详解
- Linux中如何启用对MySQL数据库服务器的远程访问
- 安全强化你的 Linux 服务器的七个步骤
- 给macOS系统下Parallels虚拟机Windows添加更多物理磁盘
- 跨Linux服务器主机,可视化管理进程工具?
- linux 查看磁盘使用情况
- Linux的shell提示符是可以自定义的
- linux最好用的资源监控工具-glances
- 保留原厂一键还原隐藏分区的正确方法