学习Linux:磁盘划分标准详解 (linux磁盘划分标准)
在使用Linux系统进行服务器搭建或者开发应用程序时,磁盘的管理和划分是非常重要的一部分。磁盘划分的不当会严重影响系统的性能和稳定性。本文将介绍磁盘划分标准,帮助读者了解如何划分磁盘以达到更佳状态。
1. 硬盘分区的基本理念
在Linux系统中,硬盘分为若干个“分区”,每个分区被视为一个独立的硬盘。每个分区都有一个文件系统,用来存储文件和目录。分区的划分是根据磁盘的物理结构划分的。将磁盘划分为多个分区可以更好地管理数据,避免因为数据的过度分散而导致文件的查找和操作困难。
2. 磁盘划分标准
2.1 根分区(/)
根分区是Linux系统的基础分区,所有Linux系统的文件系统都必须存在于根分区中。原则上,根分区不能超过2TB。
2.2 交换分区(swap)
交换分区是为了系统内存不足时使用的。当物理内存不足时,Linux系统会用交换分区来扩展内存,避免程序崩溃。交换分区大小一般是内存总量的2倍,但是在现代计算机上,物理内存已经足够,交换分区大小可以设置为和物理内存一样大。
2.3 /boot分区
/boot分区是启动分区,包含了Linux内核和启动引导程序。这个分区不需要太大,一般2GB左右就够了。如果启动引导程序被安装到根分区中,那么/boot分区不需要单独设置。
2.4 /var分区
/var分区用于存放变化较大的文件,如日志、邮件、数据库等。这个分区的大小应该随实际情况而定,原则上应该大于或等于2GB。
2.5 /usr分区
/usr分区用于存放用户的应用程序和系统程序。这个分区的大小也应该根据实际情况而定,原则上应该大于5GB。
2.6 /home分区
/home分区用于存放用户数据和配置文件。这个分区应该比较大,以便存放用户的各种数据和配置文件。
2.7 /opt分区
/opt分区用于存放第三方应用程序,这些应用程序通常不包含在Linux系统中。这个分区的大小应该根据实际情况而定。
2.8 其他分区
除了上述分区,根据实际情况,管理员还可以建立其他分区,如/tmp分区、/usr/local分区等。这些分区的大小应该根据实际情况而定。
3. 磁盘划分的注意事项
3.1 不要设置过多的分区
过多的分区不仅浪费磁盘空间,而且划分太多的分区也会影响磁盘读写效率。一般一个磁盘不应该有太多的分区,更好在5个以内。
3.2 保留一些未分配的磁盘空间
管理员应该为未来的扩展留出一些空间。例如,留出一些空间以便于扩展/var或者/home分区。
3.3 使用LVM管理磁盘
LVM是逻辑卷管理,支持动态增加、删除、扩展卷组和逻辑卷,让磁盘管理更加灵活。如果你需要对磁盘的管理更加精细,建议使用LVM。
4.
磁盘划分是Linux系统管理的基本功。本文介绍了磁盘划分标准及其注意事项。根据实际情况,管理员需要解决的一个方案是:为每个分区分配合适的大小,同时尽量减少分区数量。通过良好的磁盘划分和管理,可以提高Linux系统的性能和稳定性。
相关问题拓展阅读:
- Linux下如何分区
Linux下如何分区
先安装XP,留最少5G以上(更好10G以上)的空间。
安装linux,
安装前它会有自带的分区工具叫你分区的。
分区的方按有很多种,初学者不用分得很细的。
一般来说我们需要一个swap分区,一个/boot分区,一个/usr分区,一个/home
分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人来定的。但记住至少要有两个分区,一个swap分区,一个/分区。
方案一:“标准”方案
/ 8G SWAP 2G /BOOT 100m /USR 7G /HOME 8G
说明:/ 8G 其实6G这样子就够用了,不过还是要留一些冗余,比如有些软件默认就安装在这里了,或者是您临时将某些文件放在桌面(假如您在ROOT下)因此还是建议8G
SWAP 2G 临时分区,更大值也就是2G了,如果您的物理内存足够大,比如512M或者1G以上,SWAP可以设置得小一点。通常就是将它设置成更大值了,因为这2G对硬盘来说或许不算什么(现在硬盘动则几十上百G的)但是当您在运行很多的程序的时候,或许这个SWAP就派上了用场(我曾经观察过自己的系统,512M的内存竟然也有用光的时候–没开什么大程序,而且也调用到了SWAP。)
/BOOT 100M 这个BOOT分区通常是作为一个独立的分区的,如果您仅仅是实验的话,就不一定需要单独划分。但是要记住,在单独的LINUX系统中,这个分区更好是独立的。
/USR 7G 准确的说7G可能有点小了,如果您需要用到MYSQL服务的话。这里通常是放程序文件的地方,有些数据库比如MYSQL不特意指定数据库存放路径的话也是放在这里。。因此您可以根据需要调节这个区的大小。
/HOME 8G您说到需要放置一些音乐文件什么的,因此这个区相应的划分得大一点。您可以根据您的空间总量来确定这个区的大小
以上是比较均衡的划分,相应的如果是单个硬盘全部使用的话,也是基本可以按照这个比例的。因为是实验,因此就不单独划分/VAR区了,在以后真正应用的时候,可能是需要划分/VAR区的,这里通常用于设置FTP以及WEB服务,还有一些系统日志也放在这里。因为空间有限,就不单独划分了。
方案二 “极端”方案
先确定您在/HOME下大概需要多少空间,然后将剩余的空间全部分配给/
或者您不能确定,那么请将所有的空间都分配给/
希望我提出的方案能够对您有用~
方案一:“标准”方案(现在硬盘都是TB的,这里以最基本的分区大小来说明)
/根分区:8G
SWAP交换分区:2G
/BOOT引导分区:100m
/USR分区:7G
/HOME分区:8G
说明:
/ 8G 其实6G这样子就够用了,不过还是要留一些冗余,比如有些软件默认就安装在这里了,或者是临时将某些文件放在桌面(假如您在ROOT下)因此还是建议8G。当然现在硬盘越来越大,基本没有太多讲究。
SWAP 2G 临时分区,更大值也就是2G了,如果您的物理内存足够大,比如512M或者1G以上,SWAP可以设置得小一点。通常就是将它设置成更大值了,当然现在物理内存基本是1块钱1MB,8G、16G的都很常见,基本原则是物理内存超过8G,如果做服务器,交换分区则要8G以上。
/BOOT 100M 这个BOOT分区通常是作为一个独立的分区的,如果您仅仅是实验的话,就不一定需要单独划分。但是要记住,在单独的LINUX系统中,这个分区更好是独立的。
/USR 7G 准确的说7G可能有点小了,如果您需要用到MYSQL服务的话。这里通常是放程序文件的地方,有些数据库比如MYSQL不特意指定数据库存放路径的话也是放在这里。因此您可以根据需要调节这个区的大小。
/HOME 8G您说到需要放置一些音乐文件什么的,因此这个区相应的划分得大一点。您可以根据您的空间总量来确定这个区的大小
方案二 “极端”方案
先确定您在/HOME下大概需要多少空间,然后将剩余的空间全部分配给/
或者您不能确定,那么请将所有的空间都分配给/
老鸟谈生产场景如何对linux系统进行分区?
前言:
我们买房子时,会考虑1室1厅,2室1厅,或3室2厅……!那么具体如何选,是要看手中的money和家庭的人口数量。
同理,服务器操作系统在分区时也是如此,到底分3个区,4个区,要不要分/home/ /var,这也要看我们的业务需求,和运维规范或者说运维领导的喜好。分多了,分少了,在不同的业务场景都可能会有一些麻烦问题(LVM可以解决这个问题,不过有他的弊端,或者说,某些场景是画蛇添足)。
在阐述这个问题之前我们先来简单说下基础分区/boot分区、swap分区和/(根)分区的作用。
Linux的/boot分区、swap分区和/(根)分区的作用
/boot 引导分区,存放引导文件和Linux内核等。
启动文件:用于判断你需要启动哪个操作系统或启动哪个内核。
内核:简单的讲,程序与硬件间的桥梁,你使用应用程序通过内核控制整个计算机。
分区时一般设定:M,正式环境下,linux引导文件及内核全部大小小于100M。
SWAP交换分区,作为虚拟内存使用。用于当物理内存不足时,调用硬盘的一部分来充当内存使用,这个就是所谓的虚拟内存。 其作用类似windows的pagesfile.sys。
分区时一般设定:swap分区的大小=1.5*物理内存容量。当前,服务器的内存已经很便宜了(4G价格小于800)。因此,现在的生产环境服务器内存一般都比较大了(如:我的生产环境内存一般为16-32G),此时swap分区的大小分的内存差不多就好了。而内存比较小(8G或8G以下)的话,可以为内存的1.5-2倍,另外,请大家注意一点,swap分区尽可少用,正常情况下,当内存充足的情况下,swap分区是不会被使用的,因此,一旦发现内存充足时,而swap确使用了很多,说明,应用程序等进程有内存 泄露,此时,要和开发程序的人员一起来,排查哪里内存泄露。当系统使用swap分区用的越多,系统性能反而会下降,某些大内 存数据库也可能不使用SWAP分区,也是可以考虑的。不过,这也 会带来系统内存耗尽,服务直接挂掉的风险。而SWAP是内存不够时一个缓冲的地带。虽然慢,服务器不会挂掉。具体如何使用人者见仁了。
/ 根分区,作为整个文件系统的根目录,硬盘不论分几个区。所有的文件都会在根目录下。在windows里,我们把硬盘分为c: d: e: 等,然后分别存放系统、程序、游戏、歌曲等。而在linux下不一样了:不论你分几个区,你都要在给他们单独起个名字,然后分别用 /data,/music,/study这样名字的目录来把分的分区挂载到各自的目录上提供访问,和目录完全一样的待遇。
在linux下,硬盘看起来就像一个分区一样。这个分区的根目录,就是/ 。分区时一般设定:分完上面两个区后,剩下的都给根分区即可。 在生产场景大规模(200台以上服务器)网站运维中,普通服务器的分区,分上面三个区是不
错的选择。
采用/boot分区、swap分区和/(根)分区的方案优缺点、优点:
优点:
简单,使用方便,可批量安装部署使用,而且不会因为分多个分区,有的分区满了,有的分区剩余很多空间又不能被利用的情况(LVM的情况这里先不阐述)。(其实也是可以使用的,可以fdisk删除重建分区,然后进行扩展,不过过程就复杂了,有兴趣的朋友可以单独交流)。
缺点:
如果系统坏了,重新装系统时,因为数据都在/(根分区),而导致重装系统时数据备份麻烦了,如果是加分了/usr,/home ,/var等分区,那么系统坏了。可以直接在/(根分区)装系统,而不会破坏其它分区的数据。当然,我刚才也说了,如果是集群的节点,不存在需要备份数据的情况下,本文的分区方案优点非常明显,不需要担心某个分区暴满而其它分区不能使用的问题。
生产环境中安装linux系统时如何进行分区?
下面是我对本文主题的答案,供大家参考使用。仅代表老男孩的个人观点。
有很多学生及朋友会在这里纠结,到底产环境中安装linux系统时如何进行分区?
比如,以上/boot分区、swap分区和/(根)分区是基本的,另外,要不要分/home /var等,甚至要不要把数据单独分区。其实,这个问题没有固定的答案。那么不给大家答案你们还不甘心,所以呢,我就再详细说下吧。
在生产场景中,一般来说都是根据具体的业务需求及在整个架构中该服务器处于的角色来对该服务器分区,比如: lvs负载均衡下的web服务器,上面的分区方式就是非常好的(/boot分区、swap分区和/(根)分区就可以了),原因是:简单、方便,不必担心某个分区满的问题,实际应用中对/根,swap做好使用监控报警就满好了。
如果是小公司,没有负载均衡只有单机的web server,那把程序数据单独分区(存放web及db数据)比较理想,如:/www。如果是存放数据库的服务器(mysql或oracle)可以把数据文件单独分区,如:/data。
某些网友很执着的,单独分/home /var,然后告诉我说,分/var防止系统被数据撑满(N年前书上确实这么说的),这样的朋友就是处理问题不灵活了,比较呆板,换句话,很可能没真正接触过生产运维环境。
提示:以上的分区方式,是可以建立在raid基础上的。有关生产场景不同角色的服务器如何选择raid的问题,我们下次在谈。
附带:其它常用分区目录介绍
/home 普通用户的家目录默认存放目录;
/usr 这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,比如 /usr/in 或/usr/X11R6/in 或/usr/local/in 等;还有程序的头文件存放目录/usr/include。
/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;
老男孩调查征集:
linux分区最少两个分区,最多一个硬盘只支持15个分区。这两个区是必需的,一个是根分区,就是挂载点为’/’的,分区类型为ext3或则ext4;另一个没有挂载点,分区类型就是swap。大小方面,swap
一般为内存两倍,如果你的内存就有一两个G,只分一倍内存就够了。而’/’根分区的大小为系统大小,初学都分大点,10G能将光盘里东西全部装完,但推荐装自己需要的就行了。用不上的就不用装了,网上有相应的视频教程。也有分三个区,四个区的,这随自己,但大部分都分三个区,是把/boot分区单独分出来,这是为了方便系统启动,因为如果你的硬盘太大,系统盘放到最后面了,这时常把/boot分区分出来,放在最前面,以防系统启动时,寻址不到。还有就是方便多系统安装。学linux去看《鸟哥的私房菜》里面有讲。
关于linux磁盘划分标准的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。