还是拿JavaEye的网站服务器随便举个小例子吧。话说今天晚上我登录JavaEye网站服务器随便这么一查看磁盘使用状况:
C代码
- df -h
竟然发现/home分区的磁盘消耗的很快
C代码
- Filesystem Size Used Avail Use% Mounted on
- /dev/mapper/system-home 40G 32G 8G 80% /home
有点出乎意料,已经使用了80%,如果用光了,可就有点麻烦了,所以为了安全,把/home分区扩大5GB,多给它点硬盘空间,敲入两条 shell命令
C代码
- lvextend -L +5G /dev/system/home
- resize_reiserfs -s +5G /dev/system/home
先把逻辑卷扩大5GB,再把上面的reiserfs文件系统扩大5GB,前后耗时不超过3秒钟。再df -h查看一下:
C代码
- Filesystem Size Used Avail Use% Mounted on
- /dev/mapper/system-home 45G 32G 13G 71% /home
哈哈,/home立刻多了5GB,搞定收工,这是不是很像变戏法,我没停任何服务,没重起服务器,大家没有任何感觉,就一切搞定,说实话我也一直 觉得LVM很cool,所以我一直是LVM+Reiserfs的忠实拥趸。有兴趣学习LVM的同学可以下载后面的附件,这可是我珍藏多年的LVM秘籍!
另外强烈推荐Daniel Robbins在IBM DW网站上面关于LVM的系列文章:
通用线程: 学习 Linux LVM,第 1 部分
通用线程:学习 Linux LVM,第 2部分
另外,在大规模的生产系统上面,文件系统的管理是一个错综复杂的工作,如果你对这个方面的知识很感兴趣,你可以继续了解一下 EVMS(Enterprise Volume Management System,企业级文件卷管理系统)。EVMS 为 Linux 下的所有存储技术提供了统一的、可扩展的、基于插件的 API。这意味着什么?它意味着由于 EVMS,您可以使用单个工具来对磁盘分区、创建 LVM 对象以及甚至创建 Linux 软件 RAID 卷。并且可以使用这一工具以强有力的方式合并这些技术。还是推荐看Daniel Robbins的文章:
通用线程: 高级文件系统实现者指南,第 12 部分 EVMS 简介
通用线程: 高级文件系统实现者指南,第 13 部分EVMS 详情
BTW:Daniel Robbins在IBM DW所有的文章都值得一读,特别是《通用线程: 高级文件系统实现者指南》这个系列。
介绍点背景知识:Daniel Robbins是Gentoo Linux的创始人,Linux社区赫赫有名的牛人。早几年微软公司成立了一个开源实验室,把Daniel Robbins给忽悠过去了,此事曾经在Linux社区闹的沸沸扬扬。Daniel Robbins当时是报着推动微软公司开源,并且促进微软和开源社区之间交流的目的而去的,但是Daniel Robbins在微软公司不到一年就辞职离开了,原因是发现被微软忽悠了,微软根本没有足够开源的诚意,他在微软也就是一个闲职。