linux分区操作(运维老鸟谈生产场景对linux系统进行分区的方法)
老鸟谈生产场景如何对linux系统进行分区?
前言:
我们买房子时 ,会考虑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数据库的的存放地;
--------------------------------------------------------------------------------
老男孩调查征集:
你觉得生产环境中安装linux系统时如何进行分区比较好?请TXT(时间-主题-名字.txt)给我传下你的答案 。
我做个调查 。有兴趣的菜鸟及初级运维朋友可以配合下,予以配合的有奖励 。
奖励一篇文章:老鸟谈生产场景如何对linux系统进行分区?哈哈 。
收集到的网友及学生的分区方法
(a)20110802-linux分区方法-康加.txt
分区使用ext3格式
/boot 200m强制为主分区
/swap 内存的1.5-到2倍强制为主
/剩余空间分给根强制为主
老男孩点评:
一般情况下 ,该分区方案是通用的分区方案 ,适合一般的企业服务器选择 。特别是
负载均衡下的RS 。
(b)
GENERAL(511429563) 2011-8-2 9:43:04
是否要把/home,/usr,单独拿出来,根据服务器的用途来划分 。就像老男孩说的 ,
你家需要2室3厅 ,也许他家需要3室一厅!个人意见
老男孩点评:
赞同 。
(c)
AIX(xxx)10:35:28
/dos3G
/boot 64M
/目录 10G
/HOME 100G
我们3G的/DOS 用来备份了 /目录 服务器上当然没用这个分区!
AIX(519372002)10:36:34
没用swap 内存够大!本地生产数据不是很多 !
老男孩点评:
一般来说分个dos是没啥意义的 ,/home单分也没啥目的 。不用swap没有问题 ,不过 ,一旦
内存耗尽 ,面临直接挂机风险 ,建议还是少分一点 。
(d)
把爱投资给希望10:45:44
在我感觉 、分区 、要按实际来 、
一般会有如下几个分区
1 、boot
2、/
3 、/swap
4 、/usr
5、/root
6 、 /var
7 、/home
最重要的如下两点
第一 这台主机是否经常编译安装软件
如编译安装 那么我会把/usr 目录单独放出来做一个分区 、大小自己定义 (按实际预算稍大)
第二 /var 分区 、 日志
一般日志 、临时目录都在这个分区下 、所以建议单独一个弄个大点的空间 、日志可是很宝贵的东西
第三自定义备份分区
一般为/dos作为备份分区 、大小在5G左右 还是老话 按实际来
第四 /home 分区 、
这个分区也很重要 大概一半的空间都要分给这个区 、 用户数据全部在这儿 、
第五/swap分区 、这个按照配置来、如果大内存 完全可以不要 、 小内存当然是必备的 、
老男孩点评:
说的头头是道 ,其实必要性(必须这样分的理由)都不强。
(e)
saink同学
公司生产环境
一般服务器(原有的生产环境 ,保持不变)
/boot 100M
swap 0~0.5倍内存
/ 剩余空间都给/
oracle服务器 16G内存(自己安装直接管理的)
/boot 100M
swap 17G
/ 剩余空间
tmpfs 手工给了14000M ,原来默认8G
我觉得一般服务器
/boot 200M
swap 1~2倍 ,现在服务器内存都比较大的 ,大于8G服务器的swap分区比内存略大些就行
而内存比较小的话可以用1.5~2倍,swap分区尽可少用 ,用的越多 ,对系统性能下降
剩余空间都给 /
老男孩点评:
基本赞同saink的分法,不过DB SERVER还是单分开的好一点 。
正象好多朋友说的 ,分区没有固定非要如何如何分 ,老男这里也只是给大家一个 我这么多年的一点经验 ,供大家参考 ,实际工作中 ,大家要根据需求领导应对 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!