您的位置首页>企业动态>

Linux目录结构、Linux分区大小、挂载点和如何分区

导读 大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Linux目录结构、Linux分区大小、挂载点和如何分区问题。1 硬盘类型、物理几何结构、

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Linux目录结构、Linux分区大小、挂载点和如何分区问题。

1.硬盘类型、物理几何结构、硬盘容量、分区大小的计算;

1、硬盘类型,物理几何。

硬盘的类型有SCSI、IDE和流行的SATA。任何一种硬盘的生产都必须有一定的标准;随着相应标准的升级,硬盘生产技术也在升级。例如,SCSI标准经历了SCSI-1、SCSI-2和SCSI-3。目前我们经常在服务器网站上看到的ultra-160,就是基于SCSI-3标准的。IDE遵循ATA标准,而目前流行的s ATA则是ATA标准的升级版。IDE是并口设备,而SATA是串口。SATA的开发目的是取代IDE。硬盘的物理几何结构由磁盘、盘面、柱面和扇区组成,每个硬盘内部堆叠若干个磁盘,从而形成一个柱面。每个圆盘具有上表面和下表面;与磁头表面接触以读取数据;

2.硬盘容量和分区大小的算法;

我们可以通过fdsik -l找到以下信息:

磁盘/开发/hda: 80.0 GB,80026361856字节

255个磁头,63个扇区/磁道,9729个柱面

单位=16065 * 512的圆柱体=8225280字节

设备启动开始结束块标识系统

/dev/hda 1 * 1 765 6144831 7 HPFS/NTFS

/dev/hda 2 766 2805 16386300 c W95 FAT 32(LBA)

/dev/hda 3 2806 9729 55617030 5 Extended

/dev/hda 5 2806 3825 8193118 83 Linux

/dev/hda 6 3826 5100 10241406 83 Linux

/dev/hda7 5101 5198 787153 82 Linux交换/Solaris

/dev/hda 8 5199 6657 11719386 83 Linux

/dev/hda 9 6658 7751 8787523 83 Linux

/dev/hda 10 7752 9729 15888253 83 Linux

其中heads是磁盘端;部门是一个部门;圆柱体就是圆柱体;每个扇区的大小是512字节,也就是0.5K:通过上面的例子,我们发现这个硬盘有255个盘面,63个扇区,9729个柱面。所以整个硬盘的体积换算公式应该是:

磁表面数量x扇区数量x每个扇区大小512 x柱面数量=硬盘容量(字节)。

因此,在本例中,磁盘大小应计算如下:255x63x512x9729=80023749120字节。提示:由于硬盘厂商和操作系统的转换方式不同,硬盘厂商使用的是十进制的转换方式,而操作系统使用的是二进制的转换方式,所以转换为M或G时不同的算法结果是不一样的;所以我们的硬盘有时候标着80G,但是在操作系统下少了几米。在上面的例子中,硬盘厂商的算法与操作系统的算法进行了比较:硬盘厂商:80023749120字节=80023749.120k=80023.749120m(换算成大单位,每次除以1000)。

操作系统:80023749120字节=78148192.5k=76316.594238281m(换算成大单位,每次除以1024)。在看分区大小的时候,我们可以简单的用厂家提供的算法来计算分区的大小。小数点向前移动六位就是G代表的大小;比如hda1的尺寸约为6.144831g

二是硬盘的分区标准和合理的分区结构;

1、硬盘分区标准。

硬盘分区由主分区、扩展分区和逻辑分区组成。因此,在对硬盘进行分区时,我们应该遵循这个标准。主分区(包括扩展分区)的最大数量为四个,主分区(包括扩展分区)的数量由硬盘的MBR(Master Boot Recorder)决定,其中存储了引导管理程序(GRUB、LILO、NTLOARDER等)。)和分区表记录。扩展分区也被视为主分区;扩展分区可以包含更多的逻辑分区;所以主分区(包括扩展分区)的范围是从1-4,逻辑分区是从5。例如,以下示例:

"text-indent: 2em;">Device Boot      Start         End      Blocks   Id  System /dev/hda1   *           1         765     6144831    7  HPFS/NTFS /dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA) /dev/hda3            2806        9729    55617030    5  Extended /dev/hda5            2806        3825     8193118+  83  Linux /dev/hda6            3826        5100    10241406   83  Linux /dev/hda7            5101        5198      787153+  82  Linux swap / Solaris /dev/hda8            5199        6657    11719386   83  Linux /dev/hda9            6658        7751     8787523+  83  Linux /dev/hda10           7752        9729    15888253+  83  Linux

通过这个例子,我们可以看到主分区有3个,从 hda1-hda3 ,扩展分区由 hda5-hda10 ;此硬盘没有主分区4,所以也没有显示主分区hda4 ;但逻辑分区不可能从4开始,因为那是主分区的位置,明白了吧;

2、硬盘设备(包括移动存储设备)在Linux或者其它类Unix系统的表示; IDE 硬盘在Linux或者其它类Unix系统的一般表示为 hd* ,比如hda、hdb ... ... ,我们可以通过 fdisk -l 来查看;有时您可能只有一个硬盘,在操作系统中看到的却是 hdb ,这与硬盘的跳线有关;另外hdc 大多表示是光驱设备;如果您有两块硬盘,大多是 hda和hdb。在这方面说的太多也无用,还是以fdisk -l 为准为好; SCSI 和SATA 硬盘在Linux通常也是表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为准移动存储设备在linux表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为准

3、合理的规划分区; 关于一个磁盘的分区,一个磁盘应该有四个主分区,其中扩展也算一个主分区;存在以下情况: 1)分区结构之一:四个主分区,没有扩展分区;

[主|分区1] [主分|区2] [主|分区3] [主|分区4]

这种情况,如果您想在一个磁盘上划分五个以上分区,这样是行不通的; 三个主分区 一个扩展分区;

[ 主 | 分区1 ] [ 主 | 分区2 ] [ 主 | 分区3 ] [扩展分区]

|

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

这种情况行得通,而且分区的自由度比较大;分区也不受约束,能分超过5个分区;这只是举一个例子; 2)最合理的的分区方式; 最合理的分区结构:主分区在前,扩展分区在后,然后在扩展分区中划分逻辑分区;主分区的个数+扩展分区个数要控制在四个之内;比如下面的分区是比较好的;

[主|分区1] [主|分区2] [主|分区3] [扩展分区]

|

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

[主|分区1] [主|分区2] [扩展分区]

|

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

[主|分区1] [扩展分区]

|

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

最不合理的分区结构: 主分区包围扩展分区;比如下面的;

[主|分区1] [主|分区2] [扩展分区] [主|分区4] [空白未分区空间]

|

[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

这样 [主|分区2] 和 [主|分区4] 之间的 [扩展分区] 是有自由度,但[主|分区4]后的[空白未分区空间]怎么办?除非把主分区4完全利用扩展分区后的空间,否则您想在主分区4后再划一个分区是不可能的,划分逻辑分区更不可能; 虽然类似此种办法也符合一个磁盘四个主分区的标准,但这样主分区包围扩展分区的分区方法实在不可取;我们根据这个标题,查看一下我们的例子,是不是符合这个标准呢?

Device Boot      Start         End      Blocks   Id  System /dev/hda1   *           1         765     6144831    7  HPFS/NTFS /dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA) /dev/hda3            2806        9729    55617030    5  Extended /dev/hda5            2806        3825     8193118+  83  Linux /dev/hda6            3826        5100    10241406   83  Linux /dev/hda7            5101        5198      787153+  82  Linux swap / Solaris /dev/hda8            5199        6657    11719386   83  Linux /dev/hda9            6658        7751     8787523+  83  Linux /dev/hda10           7752        9729    15888253+  83  Linux

本文介绍Linux常用分区挂载点常识以及桌面、服务器分区挂载点的推荐配置,当然这个配置是天缘自己写的,分区大小这个话题是仁者见仁智者见智,欢迎大家一起交流这个话题,比如WEB服务、邮件服务、下载服务等,我们一起交流哪种类型服务下某挂载点应该加大就可以了,至于是否独立就看个人的了。

一、Linux分区挂载点介绍

Linux分区挂载点介绍,推荐容量仅供参考不是绝对,跟各系统用途以及硬盘空间配额等因素实际调整:

分区类型

介绍

备注

/boot

启动分区

一般设置100M-200M,boot目录包含了操作系统的内核和在启动系统过程中所要用到的文件。

/

根分区

所有未指定挂载点的目录都会放到这个挂载点下。

/home

用户目录

一般每个用户100M左右,特殊用途,比如放大文件也可再加上G。分区大小取决于用户多少。对于多用户使用的电脑,建议把/home独立出来,而且还可以很好地控制普通用户权限等,比如对用户或者用户组实行磁盘配额限制、用户权限访问等。

/tmp

临时文件

一般设置1-5G,方便加载ISO镜像文件使用,对于多用户系统或者网络服务器来也有独立挂载的必要。临时文件目录,也是最常出现问题的目录之一。

/usr

文件系统

一般设置要3-15G,大部分的用户安装的软件程序都在这里。就像是Windows目录和Program Files目录。很多Linux家族系统有时还会把/usr/local单独作为挂载点使用。

/var

可变数据目录

包含系统运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化的,系统日志记录也在/var/log下。一般多用户系统或者网络服务器要建立这个分区,设立这个分区,对系统日志的维护很有帮助。一般设置2-3G大小,也可以把硬盘余下空间全部分为var。

/srv

系统服务目录

用来存放service服务启动所需的文件资料目录,不常改变。

/opt

附加应用程序

存放可选的安装文件,个人一般把自己下载的软件资料存在里面,比如Office、QQ等等。

swap

交换分区

一般为内存2倍,最大指定2G即可

以下为其它常用的分区挂载点

/bin

二进制可执行目录

存放二进制可执行程序,里面的程序可以直接通过命令行调用,而不需要进入程序所在的文件夹。

/sbin

系统管理员命令存放目录

存放标准系统管理员文件

/dev

存放设备文件

驱动文件等

...

不再介绍...

当然上面这么多挂载点,实际上是没有比较每个目录都单独进行挂载,我们只需要根据自己的实际使用需要对个别目录进行挂载,这样系统结构看起来也会精简很多。

一般来讲Linux系统最少的挂载点有两个一个是根挂载点/,另一个是swap,虽然swap也可以采用其他方式类似方式替代,但从使用角度,天缘认为没这个必要,把swap单独设置一个挂载点似乎对Linux系统的标准性更好支持。

二、Linux系统桌面、服务器分区推荐方案

下面以80G独立硬盘安装Ubuntu为例,列一下简单的分区方案。

1、普通桌面用户推荐分区方案(示例:80G桌面用户):

2、服务器用户推荐分区方案一(示例:80GWEB服务器用户,用户程序与系统程序合用usr):

2、服务器用户推荐分区方案二(示例:80GWEB服务器用户,用户程序与系统程序分用opt和usr):

分区方案关键点:

——大数据库一般要加大/usr挂载点

——多用户、下载类、多存储文件等要加大/home挂载点

——文件小,用户多要注意/tmp和/var挂载点大小

 

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。