免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 38393 | 回复: 109
打印 上一主题 下一主题

[FreeBSD] 为某中国十大女性社区做的分区方案 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-09 04:23 |只看该作者 |倒序浏览
作者:Alson Black,BestWC

Hack0Nux Core Team ->11 9, 2008
Email:FreeAlson_at_Gmail.CoM

版权说明:本文为自由文章,任何人可以随意转载,不需保留版权说明,可用于包括商业性的任意用途,不受限制。


引言:
-------------------偶是分割线-------------------
刚才做了个分区方案出来给客户,并且详细解释了半天,结果对方想再谨慎一些,让我继续做些调查。google了一圈,大概定性,也发现网上流传的一些分区方式有些问题或者太老,所以这里共享出来给各位看官,同时也希望路过的高手不吝赐教。
-------------------偶是分割线-------------------

环境说明:
-------------------偶是分割线-------------------
此客户为某女性十大社区站长,日IP4W+ 日PV45W+。属于中小型社区站点。本服务器提供WEB和数据库服务。组件采用典型的Apache+MySQL+PHP+eAccelerator。WEB服务主要为DZ论坛+Home调用。
-------------------偶是分割线-------------------

服务器简要配置:
-------------------偶是分割线-------------------
CPU: Intel Xeon E5405四核
主板: INTEL 5000V CHIPSET
内存: 4G REG ECC FBD-667MHZ
硬盘: 300GB SAS*2

-------------------偶是分割线-------------------

分区基本要点总结:
-------------------偶是分割线-------------------
1,硬盘I/O是服务器性能的瓶颈,换句话说就是硬盘表现在绝大多数情况下决定服务器性能。PS:传说软链会降低性能,在生产服务器上请尽量不要吃螃蟹。
2,对于单硬盘服务器来说,将一个大I/O的分区单独分出来以节省硬盘I/O的理解是错误的。可以想象无论如何分区,I/O都产生于同一块硬盘上。
3,对于特殊的需要隔离的数据或根据不同用途分离出来的数据,可以单独分区。
4,对于多硬盘的服务器来说,多个大I/O或多个重要数据分区可以考虑“物理隔离”——即将他们放在不同的硬盘上。
5,对于I/O操作联系相对紧密的分区,尽量不要放置在不同的硬盘上。
6,在无法实现“物理隔离”的情况下可以考虑使用“逻辑隔离”——即将归类的信息存放在不同的分区中。
7,永远不要盲目套用现成的分区方式。
-------------------偶是分割线-------------------

分区方案:
-------------------偶是分割线-------------------
首先不考虑分区大小而根据应用背景环境规划出需要划分的分区表
根据总结中的2、3、6条,规划分区表如下:
/                              根分区                              存放系统相关文件,绝大多数系统目录都将挂在在根目录下
/root                         root家目录                        存放root用户的用户配置文件。本服务器将在此存放部分系统配置文件(supfile等)
/usr                          系统usr目录                        部分系统文件、库文件将存放在这里。另外通过ports安装的绝大多数软件也存放在这里
/data                        MySQL数据库目录                存放MySQL数据库文件
/www                       WEB文件目录                      存放WEB网站数据文件
/backup_www            WEB文件备份目录                 存放WEB文件的备份镜像
/backup_data             数据库备份目录                    存放数据库文件的备份镜像
/var                          日志目录                            存放绝大部分系统和应用程序目录
/tmp                         缓存目录                            存放系统及应用程序缓存
swap                        系统交换分区                       内存交换分区,内存的pagein数据都将存放在这里。

其次考虑逻辑隔离。因为本例中服务器有双硬盘,故这里将特殊数据和大I/O这些应放置于不同硬盘的目录列出来:
根据总结中的3、4、5条,规划如下:
/                /usr            /root               swap         ——1组
属于系统分区,执行物理隔离的话可能会产生额外I/O,故将其归纳为一组。

/var           /tmp                                                 ——2组
同样属于系统分区,但日志和缓存都有I/O过大的倾向,故与1组执行物理隔离。

/backup_data                                                      ——3组
特殊用途分区

/backup_www                                                     ——4组
特殊用途分区,故应与3组执行物理隔离。

/www                                                                ——5组
大I/O分区

/data                                                                 ——6组
大I/O分区,故应与5组执行物理隔离。

数据安全规划:
/backup_data存放数据库备份,/backup_www存放WEB备份。因执行物理隔离,故此二分区不在同一硬盘上,使/backup_data 与 /www位于同一硬盘、/backup_www 与 /data位于同一硬盘可有效降低数据风险,防止某硬盘损坏造成的WEB数据与数据库文件同时受损的情况。

I/O均衡:
由I/O总量考虑,/data的I/O量是要小于/www的(WEB中的大量图片附件非常消耗硬盘I/O),故将/data与系统分区放置在同一块硬盘上。

I/O协作:
根据总结中的第4条,尽量将I/O联系紧密的数据存放在同一块硬盘上。由于生产环境中使用eAccelerator做PHP缓存,而内存并不非常充裕,故eAccelerator将采用内存+硬盘的缓存方式,硬盘缓存将存放在/tmp目录下。/var存放的日志大量是与WEB服务有关的,故将/var /tmp /www放置在同一块硬盘上。

隔离规划总结:
硬盘一:
  /
  /root
  swap
  /usr
  /backup_www
  /data

硬盘二:
  /var
  /tmp
  /backup_data
  /www


分区大小分配:
这个其实就随便了,翻看了下以前服务器关于备份、WWW、DATA的使用量,大概定了个范围,其余的根据经验分配大小就可以了。记得化整为零,尽量凑数,大概定了范围后就不需要扣几G的大小了。其他的比如swap分区,实际上FB很少用到SWAP,我个人的经验就是如果硬盘足够,尽量按照2-3倍的规矩去分。

定型方案为:
                      硬盘1(共300GB):
                                     /                    30GB
                                     /root               4GB
                                     swap              16GB  (内存的2.5倍,考虑到以后要升级内存,定为16G)
                                     /usr                50GB
                                     /backup_www 100GB
                                     /data 其余所有(约100GB)
                      硬盘2(共300GB):
                                     /var 90GB
                                     /tmp 10GB
                                     /backup_data 50GB
                                     /www 其余所有(150GB)


-------------------偶是分割线-------------------

大功告成,打完收工。

PS:1,仅供参考。 还是我常说的那句话:应用需求决定生产环境
     2,有意见建议的统统丢过来

[ 本帖最后由 bestwc 于 2008-11-9 04:28 编辑 ]

评分

参与人数 1可用积分 +2 收起 理由
evaspring + 2 精品文章

查看全部评分

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
2 [报告]
发表于 2008-11-09 08:42 |只看该作者
我印象中/root是不能单独分出来的吧?

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
3 [报告]
发表于 2008-11-09 08:43 |只看该作者
两块硬盘做个raid 1不好吗?

论坛徽章:
0
4 [报告]
发表于 2008-11-09 09:22 |只看该作者

回复 #3 剑心通明 的帖子

是啊~raid是不是应该最新考虑?不过文章有很多值得学习的地方,谢谢共享 ,受教啦

论坛徽章:
0
5 [报告]
发表于 2008-11-09 09:26 |只看该作者
我对服务器配置共多少钱感兴趣。。。呵呵。

论坛徽章:
0
6 [报告]
发表于 2008-11-09 10:58 |只看该作者
只要有一个硬盘挂了,必有损失啊。
还是叫客户多投点钱把备份搞好一点吧。

另外,这个题目看起来像是排列组合。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
7 [报告]
发表于 2008-11-09 11:58 |只看该作者
我喜欢raid1,最讨厌raid0。

论坛徽章:
0
8 [报告]
发表于 2008-11-09 12:59 |只看该作者

回复 #7 fender0107401 的帖子

没事干自己的机器弄个raid0

论坛徽章:
0
9 [报告]
发表于 2008-11-09 13:15 |只看该作者
生产环境不用raid 1以后有得受的

论坛徽章:
0
10 [报告]
发表于 2008-11-09 13:38 |只看该作者
要搞就上RAID5,RAID1的I/O不理想,还不如没有。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP