linux磁盘分区相关知识

 

很多刚刚接触Linux的新人朋友面临的第一个困难恐怕就是安装过程中的硬盘分区了。Linux不像我们常用的Windows,用盘符分区。在Windows下我们可以将硬盘分为C盘D盘E盘以及岛国专用盘等等。而Linux是先建立一个根目录“/”,然后在根目录上建立一系列的空目录,接着把硬盘分区挂载到相应目录上。这种完全陌生的分区方式常常导致我们安装linux系统或者虚拟机的时候出现“卡壳”现象,这篇文章将带大家初步的理解linux的硬盘分区方式和目录结构,让你安装linux更轻松,带着基本的理解展开以后的学习。我们下面先介绍一下硬盘分区。

 

        常见的硬盘一般分为三类。IDE硬盘,SCSI硬盘和SATA硬盘。通常我们电脑上的硬盘都是IDE和SATA,而服务器一般用SCSI硬盘。SCSI的硬盘接口设备叫sd,第一块硬盘就是sda,第二块硬盘是sdb...以此类推。Linux规定,一块硬盘上最多存在四个主分区。命名方式分别是sd1,sd2,sd3,sd4。而逻辑分区从sd5开始,没有数量限制,命名方式为sd5,sd6...sd无穷大。主分区可以简单的理解为windows下的C盘,也就是系统分区,是引导操作系统必要的分区。而逻辑分区可以简单的理解为windows下的CDE盘等等。

 

      说完硬盘分区,我们再回头说一下目录,很多朋友一键安装完linux系统,看着种类繁多的目录可能头疼异常,每个目录看起来都不明觉厉的样子。下面我们就简单的看一下Linux系统的主要目录及其内容。常见的目录有,

 

     /bin        ##存放系统的核心最常用的命令

 

     /boot      ##内核与启动文件

 

     /dev       ##各种设备文件

 

     /etc        ##系统软件的配置文件

 

     /home   ##用户的主目录,比如你新建一个用户zhang,home下一般自动生成zhang目录,用来记录zhang的一些操作和内容

 

     /lib         ## C编译器的库

 

     /root      ##超级用户root的目录

 

     /proc     ##进程的映像 

 

     /tmp      ##临时文件存放点

 

     /usr       ##非系统的程序和命令

 

     /var       ##数据目录,一般数据库文件也存放在此目录下

 

        好了,现在我们再看那些繁多的目录是不是有点亲切感了?

 

        再回到我们linux系统的安装上,安装过程中,一般需要你手动分区的时候,系统已经建立了如上的一些目录,而后我们可以将硬盘挂载到上面的一些目录上。比如说我们可以划分一个主分区,命名为sda1,然后将主分区挂载到目录boot上(一般挂载500MB左右就足够了),单独挂载boot是为了保证系统启动的稳定性,防止其他的硬盘分区坏了影响启动。boot分区除了升级unix内核基本用不上太多,所以500MB就足够用了。比如我们可以在挂载一块20GB分区到var,用于存储数据。理论上来说我们可以为所有的目录都划分一个分区。没划分的文件和目录以及空余的硬盘一般都自动存放挂载到/根目录。因此如果你分区分的足够细,根目录所需的空间就很小。

 

        如上,我们基本就可以轻松愉快地跨过linux安装中最棘手的一步硬盘分区了。值得一提的还有两点。第一点一般我们分区的时候都会单独划分一个swap分区,用于交换空间(也就是虚拟内存技术),当内存满了的时候,系统会自动挑出一部分暂时不用的东西写到交换空间中用以释放内存,一般交换空间的大小不超过2G。设置的时候当内存小于2G时,swap可以设置为2G或真实内存的一半,真实大于2G就设置2G。

 

        第二点就是我们在硬盘分区的时候通常会让选择文件系统,因为Linux是以文件驱动的,用文件管理硬件,每一个硬件都映射到一个文件上进行管理,通常来说文件系统我们选择默认的ext4fs就可以了。这篇文章就不在详细扩展了。好了,大家可以轻松愉快的开启Linux的安装之旅了。

 

一、LVM相关概念和机制

LVM(Logical Volume Manager)可以让分区变得弹性,可以随时随地的扩大和缩小分区大小,前提是该分区是LVM格式的。

lvm需要使用的软件包为lvm2,一般在CentOS发行版中都已经预安装了。

  • PV(Physical Volume)即物理卷

  硬盘分区后(还未格式化为文件系统)使用pvcreate命令可以将分区创建为pv,要求分区的system ID为8e,即为LVM格式的系统标识符。

  • VG(Volume Group)即卷组

将多个PV组合起来,使用vgcreate命令创建成卷组,这样卷组包含了多个PV就比较大了,相当于重新整合了多个分区后得到的磁盘。虽然VG是整合多个PV的,但是创建VG时会将VG所有的空间根据指定的PE大小划分为多个PE,在LVM模式下的存储都以PE为单元,类似于文件系统的Block。

  • PE(Physical Extend)

PE是VG中的存储单元。实际存储的数据都是存储在这里面的。

  • LV(Logical Volume)

VG相当于整合过的硬盘,那么LV就相当于分区,只不过该分区是通过VG来划分的。VG中有很多PE单元,可以指定将多少个PE划分给一个LV,也可以直接指定大小(如多少兆)来划分。划分为LV之后就相当于划分了分区,只需再对LV进行格式化即可变成普通的文件系统。

通俗地讲,非LVM管理的分区步骤是将硬盘分区,然后将分区格式化为文件系统。而使用LVM,则是在硬盘分区为特定的LVM标识符的分区后将其转变为LVM可管理的PV,其实PV仍然类似于分区,然后将几个PV整合为类似于磁盘的VG,最后划分VG为LV,此时LV就成了LVM可管理的分区,只需再对其格式化即可成为文件系统。

  • LE(logical extent)

PE是物理存储单元,而LE则是逻辑存储单元,也即为lv中的逻辑存储单元,和pe的大小是一样的。从vg中划分lv,实际上是从vg中划分vg中的pe,只不过划分lv后它不再称为pe,而是成为le。

       LVM之所以能够伸缩容量,其实现的方法就是将LV里空闲的PE移出,或向LV中添加空闲的PE。

二、LVM实现图解

三、磁盘分区方案

3.1硬盘分区的各个分区的意义

尽管可以根据我们已经提到的分区原则,Linux 装在一个单一的大分区中,但更好的主意是将它分开。综合了单一分区的简单性和多分区的灵活性,我们推荐以下配置。请注意:如果你想安装Linux 的所有软件包的话,必须使用这里指出的较大的分区尺寸。事实上,你可能会加大我们推荐的尺寸,以使将来升级时不必重新分区。 1) 一个交换(swap)分区。交换分区用来支持虚拟内存。如果你的计算机内存小于16MB,必须创建交换分区。即使你有更多的内存,仍然推荐使用交换分区。交换分区的最小尺寸是你的内存的大小,16MB(两者取大)。交换分区最大可以达到127 MB ,所以创建更大的交换分区是浪费空间。注意,可以创建和使用一个以上的交换分区(尽管这通常安装在大的服务器上)。 2) 一个根(root)分区。根分区是”/”(根目录)所在地(注意不是/root)。它只需要启动系统所须的文件和系统配置文件。对于大多数系统,50MB 到100M B 的根分区可以工作得很好。 3) 一个/usr 分区。/usr是Linux 系统的许多软件所在的地方。根据你交换安装的包的数量,这个分区应该在300MB到700MB之间。如果可能,将最大的空间用于/usr分区。任何你以后将要安装的基于RPM 的包都会使用比其他分区更多的/usr空间。 4) 一个/home分区。这是用户的home目录所在地; 它的大小取决于你的Linux 系统有多少用户,以及这些用户将存放多少数据。如果系统将用作E-mail服务的话,为每一位用户预留5MB左右的空间,如果将提供个人主页存放空间的话,则应至少为每位用户预留20MB空间。对于网站建设者,还有一点需要注意的是,你的Web 服务和匿名Ftp/home/ftp)服务器的内容也在这里!

另外,你的环境可能会要求你创建一个和多个以下的分区: 1) 一个/usr/local 分区。一般/user/local用来存放与其余Linux 系统不同的软件,如不是RPM包的软件。它的尺寸取决于你准备存放的这些软件的数量。 2) 一个/usr/src分区。在一个Linux 系统中,/usr/src通常存放两样东西: 一是Linux 内核源程序。内核的所有源程序都放在这里,新的内核也在这里创建。目前,内核源程序大概有30MB 。记住,你可能需要更多的空间来创建内核,或者保存几个不同版本的内核。 二是RPM包的源程序。如果安装了包的源程序,文件将存放在这里。注意,除非特别指定,创建包也将使用在这里的一个’创建目录’。同样,这个分区的尺寸也取决于你将在这里安装的软件的数量。 3) 一个/tmp分区。就像它的名字,/tmp分区用来存放临时文件。对于一个大型的,多用户的系统或者网络服务器,专门创建一个/tmp 分区是一个好主意。对于一个单用户的工作站,就不必专门创建一个/tmp分区了。 4) 一个/var分区。你的Linux 系统将把日志写在/var/log。打印队列的文件通常写在/var/spool 。这只是两个写在/var的例子。除非特别配置,/var将是根文件系统的一部分,通常不占很多空间。如果你的系统有很多打印、邮件、或者日志,可以考虑专门创建一个/var分区。一般来讲,只有多用户或者服务器才需要专门的/var分区。 5) 一个/boot分区。这里提到的分区多数是针对大的系统,这个分区则对空间很少的小的系统很有用。所有LILO 启动时需要的文件都在/boot目录。因此最好的办法就是专门为根文件分一个区,大小至多64MB,最好首先分这个区,然后再分/usr等等。

3.2场景:linux系统的硬盘空间为500G 要求实现如下的linux分区:/var分区一定要大(不论postfix邮件,还是LAMP的WEB 服务器等)。最好是400G以上。具体的/boot 只要100M就足够了。 3.2.1Linux服务器分区的方案:

分区类型     分区的实际大小
/           1G-2G (最少要150–250MB)
/boot       32M-100M (启动分区,最多只要100M左右)
/opt        100M-1G (附加应用程序)
/tmp        40M-1000M (最大可以设为1G左右,如果加载ISO镜像文件就设为4G左右吧,一般不用那么多)
/home       2G-10G (每个用户100M左右,具体自定。用户目录。)
/usr        3G-10G 最少要500M左右,一般宽松的服务器要分到4-6G)
/usr/local  3G-15G (自已安装程序安装在此)
/var        >2G–硬盘余下全部空间 ( 最少300M-500M,一般2-3G,做服务器的话把上面余下的空间都分给它)

3.2.2Linux桌面分区方案

分区类型     分区的实际大小
/           1G
/boot       32M
/opt        100M
/tmp        50M
/home       1G-10G
/usr        3G-6G
/usr/local  3G-5G
/var        500M以上

posted on 2018-08-09 08:25  野狼不羁  阅读(497)  评论(0编辑  收藏  举报

导航