今天来聊聊 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开始就是逻辑分区。例,hda三是第一个IDE硬盘上的第三个主分区或扩展分区,hdb二是第二IDE硬盘上的第二个主分区或扩展分区。对于SCSI硬盘标识硬盘标识sdx1”,SCSI硬盘是用“sd表示分区所在设备的类型,其余和IDE硬盘的表达方式相同,不再重复。
从上面可以看出,Red Hat Linux与其他操作系统不同,其分区格式常用Ext3和Swap两种,Ext存储系统文件,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个交换分区。此外,您还可以创建和使用最多16个交换分区。Linux Native它通常用于存储系统文件的地方EXT3分区类型,对Red Hat Linux而且有很大的选择,系统文件可以分几个区安装(必须说明挂载点),也可以安装在同一个区(挂载点是/)。1.3 为什么要定制多个分区?
多个区有以下目的:
重新安装系统,如独立设置/home挂载点,重新安装系统时直接标记回/home,数据不会丢失。合理发挥性能,如对/var使用reiserfs,对/home使用xfs,对/使用ext4。打开不同的挂载选项,如是否需要立即同步,是否打开日志,是否启用压缩。大硬盘搜索范围大,低效磁盘配额只能设置分区/home、/var、/usr/local 它通常是单独的分区,因为它经常容易产生碎片2.挂载点目录简介2.1 常见的挂载目录结构
每个硬盘分为几个分区,每个分区都有自己的文件系统。Windows各自为这些文件系统指定了字母。不过 GNU/Linux 管理文件采用唯一的树形结构,每个文件系统都挂在树形结构的某个位置。
正如 Windows 需要有 C: 驱动器一样,GNU/Linux 文件树的根(/)必须能够挂载根文件系统。根挂载完成后,您可以在树形结构的各种挂载点上挂载其他文件系统。根结构下的任何目录都可以作为挂载点,您也可以同时在不同的挂载点上挂载相同的文件系统。
其实挂载点就是linux磁盘文件系统的入口目录
2.2 常见的挂载目录说明
目录 内容
/ 根据目录,存储系统命令和用户数据(如果下面的挂载点没有单独的分区,它们都将在根目录的分区中)
/boot boot loader 静态链接文件,存储和存储Linux启动相关程序
/home 用户目录,存储普通用户的数据
/tmp 临时文件
/usr 是Red Hat Linux如果可能的话,系统存储软件的地方应该给它最大的空间
/usr/local 自安装程序安装在这里
/var 不断变化的数据,以下是服务器的一些服务和日志。
/opt (Option可选)附加应用软件包
/bin 执行文件的基本命令
/dev 设备文件
/etc 主机的特定系统配置
/lib 基本共享库和核心模块
/media 用于移动介质的挂载点
/mnt 临时挂载文件系统或其他硬件设备(如光驱、软驱)
/proc 虚拟目录(2)系统信息.4 和 2.6 内核),这些信息是由系统本身在内存中产生的。
/root root 用户的目录
/sbin 基本系统命令执行文件
/sys 虚拟目录(2)系统信息.6 内核)
/srv 系统提供的用途 service 的数据
/usr/X1186 X-Windows目录,存放一些X-Windows的配置文件
/usr/include 系统头文件,存储C语言头文件
/usr/src Linux内核源代码,Linux这里保存了系统安装的核源代码
/usr/bin 对/bin补充目录
/usr/sbin 对/sbin补充目录
/lost found 在大多数情况下,这个目录是空的。但是,如果你在工作中突然停电,或者没有以正常方式关机,当你重新启动机器时,一些文件将找不到存储的地方。对于这些文件,系统将其放置在此目录中。但是,如果你在工作中突然停电,或者没有以正常方式关机,当你重新启动机器时,一些文件将找不到存储的地方。对于这些文件,系统将其放置在此目录中。
/boot: 必须总是物理包含 /etc、/bin、/sbin、/lib 和 /dev,否则,您将无法启动系统。
/home:每个用户都会将自己的私人数据放入该目录的子目录。
/tmp: 该目录中大多数程序创建的临时数据都存储在这个目录中。
/usr:包含所有用户程序(/usr/bin),库文件(/usr/lib),文档(/usr/share/doc),等等。
/var:本目录将包含所有可变数据,如新闻组文章、电子邮件、网站、数据库、软件包系统缓存等。该目录的大小取决于您的计算机用途,但对大多数人来说,它将主要用于软件包系统的管理工具。假如做服务器,空间要尽可能大。我的服务器的实际分法和实际使用尺寸尚未投入使用。所以/var目录没那么有用。一般WEB存储网页的目录是/var/www,postfix邮件存储的目录是:/var/mail,var/log,是系统日志记录分区, /var/spool:存储一些电子邮件、新闻、打印队列等。
/opt:存储可选的安装软件。
一般来说,我们至少需要两个分区(当然只有一个) / 分区也可以),需要一个SWAP分区,与/分区,但将一些常用、重要的挂载点分为其他分区,便于管理。一般一个/分区,一个///usr分区,一个///home 分区,一个///var/log分区。当然,根据需要,没有规定。我们可以用Red Hat Linux提供硬盘管理工具Disk Druid设置分区和挂载点。
与上图和目录简介相比,可以使用Linux系统的挂载点想象成一棵大树
/ 树根
/ 其他衍生的挂载点是这棵大树的树枝
挂载点下的文件是树叶
2.3 为什么 linux 分区需要挂载?
如果你看过我之前写的, Linux 系列文章,所以要记住我曾经标有一句红色的话:linux 下一切都是文件!换言之就是linux操作系统管理系统中的一切作为文件。在windows我们常用的硬件设备(打印机、网卡、声卡)...)、磁盘分区等,在linux所有这些都被视为文件,访问设备和分区就是读写相应的文件。
三、实战分区挂载3.1 临时挂载
举个栗子,原分区情况如下:
[root@sg-sl-data]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda2 20G 5.6G 13G 31% //dev/sda6 996M 35M 910M 4% /data/dev/sda5 426G 199M 404G 1% /disk1/dev/sda1 996M 46M 899M 5% /boottmpfs 7.9G 0 7.9G 0% /dev/shm
3.1.1 先卸载分区:
umount /disk1
umount /data
3.1.2 再挂:
mount /dev/sda5 /data
mount /dev/sda6 /disk1
注:如前所述,两个分区不能同时挂载/data
3.2 永久挂载:自动启动挂载
上述步骤中的方法只是临时工的工作。启动后,磁盘分区将看不见或挂载前。为了永久生效,需要修改/etc/fstab,将
LABEL=/data /data ext3 defaults 1 2
LABEL=/disk1 /disk1 ext3 defaults 1 2
修改为:
/dev/sda5 /data ext3 defaults 1 2
/dev/sda6 /disk1 ext3 defaults 1 2
说明:fstab 配置文件是文件系统分配表,文件有严格的语法格式限制,类似 crontab 同样,您的输入格式也会在保存过程中验证。请仔细使用,否则会出现意想不到的问题。其一共有 6 个