LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4112|回复: 25

设计自己的分区方案

[复制链接]
发表于 2009-6-13 22:25:32 | 显示全部楼层 |阅读模式
引子
通常,由于文件系统效率问题(reiserFS适合处理巨量小文件,XFS适合处理巨量大文件)、文件安全性问题(/home目录数据绝不可丢失,其他目录则随便,反正可以重装),可能会把部分重要目录作为一个单独的分区进行管理。


前备知识
在决定将哪些目录划分为单独分区前,我们来看看根目录下各个文件夹的含义:
(见附件)
其中,/bin, /sbin存储基本程序; /dev, /sys, /proc被内核使用,不是一般的文件;/lib, /usr, /opt存放绝大多数程序;/etc保存全局的程序配置;/boot 保存系统启动文件;/media, /mnt通常作为挂载点,是空目录;/var,/srv,/tmp则保存几分钟/小时就变、杂碎的文件;/root, /home则保存用户的数据。
对于个人电脑,由于不关注系统程序的稳定性(允许花上几小时重装、甚至隔几月就重装),关注点只保留在用户数据和性能上,故适合将/, /home, /var作为独立的分区配置不同的文件系统。/boot也有可能被作为一个单独的分区(适合于N个liunx发行版共存的情况);/etc也可以作为一个独立分区,以便重装时方便恢复配置。以我个人为例,我将/, /boot, /home, /var作为了独立的分区。


文件系统类型
让我们来确定各个分区的文件系统类型。
对于/boot,考虑到你的系统引导程序需要能够支持并读取这个分区的数据,并却/boot目录的内容常常是几个星期才变动一次,可以ext2/ext3,注意的是,grub目前(2009/6/10)尚未有支持ext4的版本,故不推荐使用ext4文件系统。
对于/var,考虑到里面的数据会剧烈变动(大量的I/O操作),并且多数为巨量的小文件,故reiserFS最适合作为这个分区文件系统类型。
对于/home,考虑的这些数据文件大小均有,且随意性较大(既有不少几K的文本,也有不少几G的电影),故而不适合使用reiserFS和XFS这些为处理巨量特定大小文件而设计的文件系统,采用通常一些的ext3,ext4等均可。注意避免使用不带日志的文件系统类型(如ext2),否则不小心断电你就哭去吧!
对于根目录/,如果你不把/boot独立作一个分区,那么就得额外考虑系统引导的问题,避免使用ext4等文件系统类型;除此以外,尽量别使用XFS文件系统,因为根目录的文件通常不大(没有达到百M级别),XFS没有优势;最后,请根据个人的喜好而选择文件系统类型。


分区大小
确定了目录-分区方案后,来着手研究各个目录(即将来的各个分区)的分配空间大小,以达到空间利用最大效率。
倘若系统已经是独立分区的情况了,使用df命令来快速了解各目录使用情况:
  1. 20:08:52 ~ $df -h
  2. 文件系统 容量 已用 可用 已用% 挂载点
  3. /dev/sda1 9.2G 6.3G 2.5G 72% /
  4. none 1004M 0 1004M 0% /dev/shm
  5. /dev/sda5 1.2G 36M 1.1G 4% /boot
  6. /dev/sda6 3.0G 1.2G 1.8G 40% /var
  7. /dev/sda7 178G 125G 44G 75% /home
复制代码
如果系统依然是一个分区作为整个系统分区,使用du来统计文件夹的占用大小(记得使用root权限):
  1. 20:28:34 / # du --max-depth=1 -h
  2. 34M ./boot
  3. 5.4G ./usr
  4. 8.1M ./etc
  5. 5.5M ./bin
  6. 15M ./sbin
  7. 443M ./opt
  8. 1.2G ./var
  9. 125G ./home
  10. 132G .
  11. (省掉了一些无关目录的大小信息)
复制代码
注意我的系统已经是使用了许久的日常工作系统,该装的软件都已经装了,各个文件夹大小已经达到了其目标值。故,在此例子中,我可以使用这些值作为参考,设计出我的分区方案。
对于/boot,实际使用了34M,考虑我以后安装其他系统,将这个值提高至10倍(依然还很小,呵呵),故使用340M分区大小。
对于/var,实际使用了1.2G, 增加50%作为备用(空闲的文件系统通常较快),取整,故分配2G。
对于根目录/,主要是/usr目录占用得太多,约5.4G,增加50%作为备用(考虑到以后可能还要装其他大型程序如OpenOffice),故分配8G。
剩下的空间全部分给/home。


结论
故,在我这个空间月190G的系统中,最终的分配结果如下:
  1. 目录 大小 类型 备注
  2. / 8G ext4 为了尝鲜
  3. /boot 340M ext3 为了能让根目录使用EXT4分区,故将/boot独立出来
  4. /home 180G ext3 历史遗留问题,以前就是这个文件系统
  5. /var 2G reiserFS 处理巨量小文件有极大优势
复制代码

对于一个40G的系统,则可以使用如下的分配方案:
  1. 目录 大小 类型 备注
  2. / 7G ext4 依然要考虑安装巨型程序的问题
  3. /boot 340M ext3 为了能让根目录使用EXT4分区,故将/boot独立出来
  4. /home 31G ext3 历史遗留问题,以前就是这个文件系统
  5. /var 1.5G reiserFS 常常清理的话,/var目录的空间也能剩一些
复制代码

其他
对于那些极端个性化(比如全能型系统(KDE,GNOME一并装)、精简性系统(连XORG也没有)),只能参考以上的思路自己慢慢设计分区方案了。

补充
以上只是针对本人的系统提出的一些方案。多数使用linux的人都会有自己的特色,这个分区方案也许没有普遍性。但我希望以上的设计思路能帮助指导新手、给老手提供一些参考。有用那就最好了。

参考
Linux各种文件系统(ext3,ReiserFS,jfs,xfs)的性能
http://hi.baidu.com/xuzhi1977/bl ... afbade9d82040a.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2009-6-13 22:40:36 | 显示全部楼层
又见技术帖~~~
回复 支持 反对

使用道具 举报

发表于 2009-6-13 22:54:57 | 显示全部楼层
不知道这是经验分享还是技术普及帖
回复 支持 反对

使用道具 举报

发表于 2009-6-13 23:09:11 | 显示全部楼层
/home/av
回复 支持 反对

使用道具 举报

发表于 2009-6-13 23:21:13 | 显示全部楼层
arch里的grub是支持ext4的~
回复 支持 反对

使用道具 举报

发表于 2009-6-13 23:38:03 | 显示全部楼层
Post by nacre;1997517
arch里的grub是支持ext4的~


真的吗?

我装过两次 都用的ext2
回复 支持 反对

使用道具 举报

发表于 2009-6-13 23:43:08 | 显示全部楼层
嗯,根有点小
回复 支持 反对

使用道具 举报

发表于 2009-6-14 02:00:38 | 显示全部楼层
var 2G 肯定不行。我分了5G还经常需要手动清空。
回复 支持 反对

使用道具 举报

发表于 2009-6-14 09:37:49 | 显示全部楼层
尝试了ext4,出现了很多此数据丢失,.......,继续观望吧,现在/还是用ext3
回复 支持 反对

使用道具 举报

发表于 2009-6-14 09:46:12 | 显示全部楼层
对于这种帖子,我们要支持!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表