`
robbin
  • 浏览: 4812790 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:136400
社区版块
存档分类
最新评论

LVM - 很好很强大

    博客分类:
  • Tech
阅读更多
LVM (Logic Volume Management,逻辑卷管理),是传统商业Unix就带有的一项高级磁盘管理工具,异常强大。后来LVM移植到了Linux操作系统上,尽管不像原来Unix版本那么强大,但瘦死的骆驼比马大,Linux的LVM仍然非常强大,可以在生产运行系统上面直接在线扩展硬盘分区,可以把分区umount以后收缩分区大小,还可以在系统运行过程中把一个分区从一块硬盘搬到另一块硬盘上面去等等,简直就像变魔术,而且这一切都可以在一个繁忙运行的系统上面直接操作,不会对你的系统运行产生任何影响,很安全。

还是拿JavaEye的网站服务器随便举个小例子吧。话说今天晚上我登录JavaEye网站服务器随便这么一查看磁盘使用状况:

df -h


竟然发现/home分区的磁盘消耗的很快
Filesystem                Size  Used  Avail Use%   Mounted on
/dev/mapper/system-home    40G   32G    8G  80%    /home


有点出乎意料,已经使用了80%,如果用光了,可就有点麻烦了,所以为了安全,把/home分区扩大5GB,多给它点硬盘空间,敲入两条shell命令

lvextend -L +5G /dev/system/home
resize_reiserfs -s +5G /dev/system/home 

先把逻辑卷扩大5GB,再把上面的reiserfs文件系统扩大5GB,前后耗时不超过3秒钟。再df -h查看一下:
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在微软公司不到一年就辞职离开了,原因是发现被微软忽悠了,微软根本没有足够开源的诚意,他在微软也就是一个闲职。


分享到:
评论
33 楼 realzhang 2009-11-28  
看起来很好,准备迁移到lvm上。
32 楼 SteveGY 2009-08-09  
虽然这个故事已经讨论很久了,但估计应该有unix admin提醒过:并不是所有的lvm在线操作都是稳定可靠的,aix 5.3 + oracle 10g,在io繁忙的系统上,动态扩展磁盘空间是有风险的,会造成磁盘死锁,系统挂起。相信类似的问题在linux lvm上也有,系统软件环境越复杂,风险就越大,所以不要轻易在生产环境中做一些没有测试过的lvm操作。
31 楼 chenxf84 2009-01-05  
lvm用的不多,基本上都是大家一样的使用方法,从老大们的讨论中学到了很多
30 楼 lovejuan1314 2008-12-19  
老大就是老大啊~~ 哈~ 言传身教~

偶也是LVM的超级粉丝,想当初第一次碰它的时候,还把一个测试服务器分区搞坏了。汗~~    
29 楼 windir 2008-12-17  
功能是强大,谢谢提供!
28 楼 recoco 2008-12-15  
0000 写道
我的一个案例:
Dell PowerEdge 2250(好像是这个型号) 阵列,插满14块300G硬盘,用一块不记得什么牌子的RAID卡连到同是Dell某型号的1U小服务器上,做RAID 5,发现,该阵列+RAID卡的配置居然最大只能支持2T左右的容量(可能当前这个容量就已经是海量了),居然不能把这些硬盘做成一个区……所以只好做成2个RAID 5,然后用LVM再合并到一起来。我承认我有点BT……


很多稍老点的卡都只能支持到2T 的。
27 楼 neora 2008-12-12  
luoshuixin 写道
牛人,从磁盘划分到搭建服务器,再到应用编码,简直了,什么事情都一个人搞定!


基本功,理论上每个程序员都应该做到。
26 楼 clark 2008-12-11  
hongliang 写道

另外,我狠少遇到需要LVM上阵的情景,没有LVM的相关管理经验。我想问一下,你的/home是建立在lvm上的逻辑分区上的逻辑卷,如果你重装系统,格式化硬盘分区,可以选择单独格式化LVM卷(除了/home的/卷)并将系统安装上去?我不太懂这个,按照我的菜鸟理解,重装系统格式化的应该是硬盘分区(disk partition)而不是LVM逻辑卷(LVM logic volume)吧,这样一来,你的LVM逻辑分区上的数据还能保留?


LVM 管理的分区,现在的 linux 发行版可以直接识别出来,能单独格式化LVM卷并将系统安装上去,/home 逻辑卷 可以保留,不格式化,你的LVM逻辑分区上的数据还能保留,不会丢。

hongliang 写道

robbin 写道

3、在多块物理硬盘的服务器,逻辑分区可以分到不同的物理硬盘上

这其实应该是RAID干的事


单个 RAID 组的硬盘个数是有限制的,想你有500个硬盘的情形,用 LVM 可以将硬RAID后的盘组合到一起。

hongliang 写道

我只是想说LVM最大的用处是跟RAID结合,提供诸如硬件级别的在线扩容等高端应用。你这种情景搞来搞去还是自己机器上已经有的几块硬盘,最多就是弥补一下当初分区的欠妥之处,使得日后能够灵活应对而已。这不是LVM的本意。而且如果你不是使用3(逻辑分区分到不同的物理硬盘上,类似Stripe模式)的话,LVM会对性能造成一定影响,也带来了一些管理复杂度。而如果用Stripe,那也必然影响数据可靠性,系统维护的好,硬盘挂了的几率比格式化系统要高的多。当然无论是性能影响还是管理复杂度,这些问题都几乎可以忽略不计。我只是觉得有些不必要。


小硬盘用LVM也一样有价值。如果你有一个不能停机的系统,有一个磁盘空间马上就要满了,另一个还有90%的剩余。如果关键分区的空间满了,整个系统会挂掉,这时你会后悔没用LVM。

hongliang 写道

我写这么多就怕有些菜鸟听你这么一忽悠,就呼啦啦不管3721全跑去学LVM了,哈哈,你的影响力可不小哦  LVM这东西是用到才觉得好,只可用,不可特意去学。用不用LVM要看具体的生产环境,如果就那么几块硬盘几百G空间在那搞来搞去,用不用LVM还是需要仔细分析才能决定的,免得带来不必要的系统复杂。


除非你有LVM 使用经验,否则根本无法判断是否该用LVM?何时用LVM?对自己不了解的技术下判断,肯定是错误的。

LVM在linux上已经有多年了,很奇怪还有人不知道!LVM 的使用其实很简单,但是需要了解其管理磁盘的基本原理。
25 楼 somebody 2008-12-10  
hongliang 写道
为什么/home自己分一个区呢?

一般我都是/boot分100M,再分点给swap,剩下的都给/就行了



这种做法确实比较多人在用。

不过对于想装多个发行版本的人来说这样可一点不好。

装多个版本。一般分几个区做为各自的/
然后分一个/home做为用户目录。这样不管进哪个版本都在同个分区下。

还有个重要的作用就是重装系统的时候很方便。直接把/格式化了。再安装。资料不受任何影响。
24 楼 cwchen 2008-12-10  
LVM是个好东西,一般的用途也就是在不影响关键业务的前提下动态调整磁盘的大小,我一般都是用LVM+Raid5,很方便,不过ZFS出来后,LVM的功能上表现的远不如ZFS,还是看看ZFS吧,sun的东西一般来说还是不错的
23 楼 0000 2008-12-10  
wangzy 写道
还有个很好用的功能,就是用lvm的快照功能来做mysql的热备,配合binlog可以实现完全备份。


这样也行?是个好办法
22 楼 wangzy 2008-12-10  
还有个很好用的功能,就是用lvm的快照功能来做mysql的热备,配合binlog可以实现完全备份。

21 楼 xi2008wang 2008-12-09  
我支持hongliang

现在服务器我都是boot:100M, swap: 2*ram, 其它全给/
20 楼 0000 2008-12-08  
And 案例2:
自己部门做的一个用来共享文件的服务器(就是samba啦),突然发现硬盘利用率已经到只剩下2G空间的程度了——本来就是淘汰的服务器,随便凑的几块大小不一的硬盘——在库房找到一块新从别的机器上换下来的300G的硬盘,挂上去,直接LVM扩展空间,原有文件没有任何变化,也不需要另建共享目录(相应就不需要再做帐号设置了)啥的,方便的很哪
19 楼 0000 2008-12-08  
我的一个案例:
Dell PowerEdge 2250(好像是这个型号) 阵列,插满14块300G硬盘,用一块不记得什么牌子的RAID卡连到同是Dell某型号的1U小服务器上,做RAID 5,发现,该阵列+RAID卡的配置居然最大只能支持2T左右的容量(可能当前这个容量就已经是海量了),居然不能把这些硬盘做成一个区……所以只好做成2个RAID 5,然后用LVM再合并到一起来。我承认我有点BT……
18 楼 recoco 2008-12-08  
jieyuan_cg 写道
如果磁盘空间一定,用LVM管理我觉得意义不大。因为只能调整以前分区的大小,没有其他更好的用途。
如果可以扩展磁盘空间,用LVM管理就比较好。


扩展磁盘空间只是一个基本应用而已。
17 楼 jeffyan 2008-12-06  
jieyuan_cg 写道
Magicloud 写道
动态调整分区大小只是lvm的基本应用。其它包括文件项(不是文件内容)镜像,多pv协同工作(数据散列(不是哈希),校验等)。
而关于调整大小,需要文件系统支持,目前Linux下只有ext3支持最完善,但因为ext3的不稳定(试试非读写状态断电,上电检查时再断电。和你的数据说拜拜吧。),我从来不用。动态调整大小的意义在于提高硬盘利用率,特别是不间断服务的应急。


不会吧?ext3问题多多么?还准备把一磁盘柜格成ext3呢……没有这方面的经验,请您指点指点。
ext3作为生产环境不行么?那Linux应该用什么格式?

ext3 可以用,谁说不稳定,它好像特别增加了恢复功能的日志,以前恢复需要很久时间,现在很快的recovery
16 楼 jeffyan 2008-12-06  
hongliang 写道
为什么/home自己分一个区呢?

一般我都是/boot分100M,再分点给swap,剩下的都给/就行了

如果是多块硬盘,直接做好Raid。

Robbin遇到的问题不是严重的场景,因为不是你的硬盘不够用,而是当初分区的时候没有设计这么长远而已。真正的大问题是所有硬盘都快用光了,需要新增硬盘,这就需要服务器的RAID卡支持在线扩容,在线扩容后会新增一个逻辑分区,这才是LVM大展身手的时候,直接把新扩充出来的逻辑分区补充给/就行了。从这一点上来说,品牌服务器确实比DIY的服务器考虑周全的多。

不过一开始就用LVM也有应用场景,那就是服务器是用做存储的,对磁盘容量有要求,已经意识到了将来某一天必然要对这个服务器动手术。否则用LVM就没有必要了,系统管理员的工作之一就是整理磁盘上的非重要数据,将磁盘使用量控制在一定范围内,而不能任由其无限制地增长

BTW: JavaEye在google中国的rank真高,这个帖子昨天发的今天已经上搜索“LVM”的首页了,厉害 

昏 千万不能这样做,如果/ 挂掉,里面的数据就全完蛋,就像整个硬盘只有一个C盘一样
15 楼 jieyuan_cg 2008-12-05  
Magicloud 写道
动态调整分区大小只是lvm的基本应用。其它包括文件项(不是文件内容)镜像,多pv协同工作(数据散列(不是哈希),校验等)。
而关于调整大小,需要文件系统支持,目前Linux下只有ext3支持最完善,但因为ext3的不稳定(试试非读写状态断电,上电检查时再断电。和你的数据说拜拜吧。),我从来不用。动态调整大小的意义在于提高硬盘利用率,特别是不间断服务的应急。


不会吧?ext3问题多多么?还准备把一磁盘柜格成ext3呢……没有这方面的经验,请您指点指点。
ext3作为生产环境不行么?那Linux应该用什么格式?
14 楼 deeplydrink 2008-12-05  
确实很好很强大啊

相关推荐

    HP-LVM中文参考

    HP-LVM,全称为HP-UX Logical Volume Manager,是惠普UNIX系统中的一款强大的存储管理工具,用于管理和优化磁盘存储资源。它提供了一种灵活、高效的方式来组织和操作硬盘空间,包括创建、扩展、缩小和调整逻辑卷的...

    linux lvm技术个人总结

    ### Linux LVM技术详解 ...通过上述步骤和概念介绍,我们可以看到LVM是一种非常强大的磁盘管理工具,适用于各种规模的企业环境和个人项目。理解和掌握LVM的基本操作对于系统管理员来说是非常重要的。

    linux——lvm

    Logical Volume Manager (LVM) 是一种灵活且强大的磁盘空间管理技术,最初在 IBM 的 AIX Unix 系统中得到广泛应用,并逐渐被引入到 Linux 系统中。LVM 的主要优势在于能够动态调整卷组和逻辑卷的大小,从而极大地...

    linux系统下lvm及逻辑卷的快照功能共11页.pdf

    在LVM中,逻辑卷的快照功能是一项强大的工具,它可以提供数据保护和即时备份,对于系统的维护和故障恢复具有重大意义。 首先,我们需要理解LVM的基本组成。LVM由Physical Volumes(物理卷)、Volume Groups(卷组)...

    aix很好的入门教程-Aix入门与提高

    《AIX很好的入门教程——Aix入门与提高》是一份专为初学者设计的系统教程,旨在帮助读者快速掌握IBM AIX操作系统的基础知识和进阶技能。AIX,全称Advanced Interactive eXecutive,是IBM为其Power架构服务器开发的一...

    infovis-lvm.github.io

    在IT行业中,信息可视化是一种将复杂数据转化为易于理解的图形或图像表示的技术,它使得用户可以快速地理解和分析...同时,这也是一个很好的实例,可以帮助你理解如何将理论知识应用于实际项目中,提升你的实战能力。

    CHM_Maded_Myself---Gentoo resource

    《CHM_Maded_Myself---Gentoo resource》是一个集合了关于Gentoo Linux操作系统丰富...通过学习这些文档,用户不仅可以深入理解Gentoo的工作原理,还能提升解决问题的能力,从而更好地驾驭这一强大且灵活的操作系统。

    IBM aix系统操作手册

    对于初学者来说,这份操作手册是一个很好的起点,它将引导你逐步熟悉AIX的方方面面。随着经验的增长,你将掌握更复杂的操作,例如LVM(逻辑卷管理)、SMIT(系统管理界面工具)的使用以及如何编写shell脚本来自动化...

    extundelete数据删除恢复操作文档.docx

    需要安装一系列依赖包,包括`bzip2`、`e2fsprogs-devel`、`e2fsprogs`、`gcc-c++`、`make`、`lvm2`、`wget`和`parted`。这些可以通过执行`yum -y install`命令来一次性安装。 接下来,从指定URL下载`extundelete`的...

    联想-主机初级AIX使用教程

    《联想-主机初级AIX使用教程》是一门适合初学者的教程,主要涵盖了AIX操作系统的基础知识和使用方法。...无论是对于想从事IT支持、系统管理,还是对提升个人技能有兴趣的人来说,这都是一个很好的起点。

    Linux高级技巧集

    这里我们将详细探讨一些Linux高级技巧,帮助你更好地驾驭这个强大的操作系统。 1. **文件和目录管理**: - 使用`find`命令:通过文件名、时间戳、大小等条件查找文件。 - `grep`与正则表达式:搜索文件内容,支持...

    DEBIAN操作系统

    - 使用 Live-System 测试硬件兼容性,这是一个很好的方法来验证您的硬件是否能够顺利运行 Debian。 **3.4 满足最低的硬件要求** - Debian 的安装需要一定的硬件基础,如足够的内存、磁盘空间等。 - 如果低于最低...

    Linux新手系统管理原指南.pdf

    - **安全性**:相对于其他操作系统,Linux具有更好的安全性,更少受到恶意软件攻击。 - **成本效益**:由于开源特性,用户可以免费获取并使用Linux,降低了软件成本。 - **可定制性**:Linux允许用户根据需求定制...

    Linux系统指南

    - **其他方式**:在线社区、论坛、书籍等资源也是很好的帮助来源。 #### 二、Linux用户管理 **2.1 Linux用户和用户组** - **UID和GID**:每个用户都有一个唯一的用户ID (UID) 和组ID (GID)。 - **/etc/passwd和/...

    怎么对硬盘进行镜像和克隆?.docx

    无论是32位还是64位系统,无论是传统的BIOS还是现代的UEFI BIOS,Clonezilla都能很好地支持,并兼容MBR和GPT两种分区表格式。 Clonezilla主要有两个版本:Clonezilla Live和Clonezilla Server Edition (SE)。...

    ubuntu18.04服务器文档

    - **aptitude**:相比 apt,aptitude 提供了更强大的依赖关系处理能力以及更丰富的交互式选择功能。对于复杂的依赖关系问题,aptitude 是更好的选择。 - **自动更新**:介绍了如何配置系统以自动下载并安装安全更新...

    ubuntu-kickstart:Ubuntu的Kickstart配置文件

    `ubuntu-kickstart-master`这个压缩包很可能是包含了一系列示例或模板的项目,帮助用户更好地理解和使用Ubuntu的Kickstart配置。在实际操作中,可以根据自己的需求修改这些模板,以实现完全定制化的Ubuntu自动化安装...

    虚拟化技术KVM.pdf

    半虚拟化可以提供更好的性能,但由于KVM的直接硬件访问能力,其性能差距已经很小。 - **与VMware相比**:VMware拥有更加成熟的管理和监控工具,但在性能和成本方面,KVM具有明显优势。 ##### 2.4 KVM虚拟化的部署...

    蓝梦软件BestRecoveryForAIX小型机数据恢复软件

    更好的支持删除恢复:很多情况,文件被彻底删除了,其他软件找不到文件,但是本软件通过文件系统结构细节可以将这些删除文件展现出来。 更好的支持LVM逻辑卷管理。 更有效更精确的搜索JFS文件系统的文件集。 更快速...

    openEuler V1.0 培训教材-PPT.zip

    此外,学会使用grep、sed、awk等工具进行文本搜索、替换和处理,对日常的系统管理和数据分析很有帮助。 **9. 系统管理** 系统管理涉及多个方面,包括硬件监控、日志分析、性能调优等。例如,使用top、htop、iotop...

Global site tag (gtag.js) - Google Analytics