企业生产场景如何对CentOS进行分区-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

企业生产场景如何对CentOS进行分区

简介:

前言:
我们买房子时,会考虑1室1厅,2室1厅,或3室2厅......!那么具体如何选,是要看
手中的money和家庭的人口数量。
同理,服务器操作系统在分区时也是如此,到底分3个区,4个区,要不要分/home/ /var,这也要看我们的业务需求,和运维规范或者说运维领导的喜好。
分多了,分少了,在不同的业务场景都可能会有一些麻烦问题(LVM可以解决这个问题,不过有他的弊端,或者说,某些场景是画蛇添足)。

在阐述这个问题之前我们先来简单说下基础分区/boot分区、swap分区和/(根)分区的作用。

 

█ Linux的/boot分区、swap分区和/(根)分区的作用:
/boot 引导分区,存放引导文件和Linux内核等。
启动文件:用于判断你需要启动哪个操作系统或启动哪个内核。
内核:简单的讲,程序与硬件间的桥梁,你使用应用程序通过内核控制整个计算机。
分区时一般设定:100-200M,正式环境下,linux引导文件及内核全部大小小于100M。


/ 根分区,作为整个文件系统的根目录,硬盘不论分几个区。所有的文件
都会在根目录下。在windows里,我们把硬盘分为c: d: e: 等,然后
分别存放系统、程序、游戏、歌曲等。
而在linux下不一样了:不论你分几个区,你都要在给他们单独起个名字,
然后分别用 /data,/music,/study这样名字的目录来把分的分区挂载
到各自的目录上提供访问,和目录完全一样的待遇。
在linux下,硬盘看起来就像一个分区一样。这个分区的根目录,就是/ 。
分区时一般设定:分完上面两个区后,剩下的都给根分区即可。
在生产场景大规模(200台以上服务器)网站运维中,普通服务器的分区,分上面三个区是不

错的选择。

 

█ 采用/boot分区、swap分区和/(根)分区的方案优缺点:
优点:
简单,使用方便,可批量安装部署使用,而且不会因为分多个分区,有的分区满了,
有的分区剩余很多空间又不能被利用的情况(LVM的情况这里先不阐述)。
(其实也是可以使用的,可以fdisk删除重建分区,然后进行扩展,不过过程就复杂了,
有兴趣的朋友可以单独交流)。
缺点:
如果系统坏了,重新装系统时,因为数据都在/(根分区),而导致重装系统时数据备份麻烦了,
如果是加分了/usr,/home ,/var等分区,那么系统坏了。

可以直接在/(根分区)装系统,而不会破坏其它分区的数据。当然,我刚才也说了,如果是集群的节点,不存在需要备份数据的情况下,本文的分区方案优点非常明显,不需要担心某个分区暴满而其它分区不能使用的问题。

 

█ 生产环境中安装linux系统时如何进行分区?
下面是我对本文主题的答案,供大家参考使用。仅代表老男孩的个人观点。
有很多学生及朋友会在这里纠结,到底产环境中安装linux系统时如何进行分区?
比如,以上/boot分区、swap分区和/(根)分区是基本的,另外,要不要分/home /var等,甚至要不要把数据单独分区。
其实,这个问题没有固定的答案。那么不给大家答案你们还不甘心,所以呢,我就再详细说下吧。


提示:以上的分区方式,是可以建立在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/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。 

/var 这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;

以下是老鸟对生产场景的分区建议:

 

服务器角色

分区建议

优点

 

RAID方案

单机服务器

如8G内存,300G硬盘

 

 

/boot 100-200M

swap 16G,内存大小8G*2

/ 80G

/var 20G(也可不分)

/data 180G(存放web及db数据)

 

数据盘和系统盘分开,有利于出问题时维护。

视数据及性能要求,一般可采用raid5折中。

负载均衡器(如LVS等)

/boot 100-200M

swap 内存的1-2倍

简单方便,只做转发数据量很少。

数据量小,重要性高,可采用RAID1

负载均衡下的RS server

/boot 100-200M

swap 内存的1-2倍

简单方便,因为有多机,对数据要求低。

数据量大,重要性不高,有性能要求,数据要求低,可采用RAID0

数据库服务器

mysql及oracle

如16/32G内存

 

 

/boot 100-200M

swap 16G,内存的1倍

/ 100G

/data 剩余(存放db数据)

数据盘和系统盘分开,有利于出问题时维护,及保持数据完整。

视数据及性能要求主库可采取raid10/raid5,从库可采用raid0提高性能(读写分离的情况下。)

存储服务器

/boot 100-200M

swap 内存的1-2倍

/ 100G

/data(存放数据)

此服务器不要分区太多。只做备份,性能要求低。容量要大。

可采取sata盘,raid5

共享存储服务器(如NFS)

/boot 100-200M

swap 内存的1-2倍

/ 100G

/data(存放数据)

此服务器不要分区太多。NFS共享比存储多的要求就是性能要求。

视性能及访问要求可以raid5,raid10,甚至raid0(要有高可用或双写方案)

监控服务器

cacti,nagios

/boot 100-200M

swap 内存的1-2倍

 

重要性一般,数据要求也一般。

单盘或双盘raid1即可。三盘就RAID5,看容量要求加盘即可。

 

 

          说明:现在的硬盘已很便宜,硬盘空间也比以前大很多,因此,再细致的去分区的必要性就不大了。简单、易用、方便批量管理(如监控)是基本原则。


本文转自 linuxzkq 51CTO博客,原文链接:http://blog.51cto.com/linuxzkq/1583354


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: