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

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在微软公司不到一年就辞职离开了,原因是发现被微软忽悠了,微软根本没有足够开源的诚意,他在微软也就是一个闲职。


分享到:
评论
13 楼 wanghuanan 2008-12-04  
LVM确实很好用,HP-UX上救了我
12 楼 Magicloud 2008-12-04  
动态调整分区大小只是lvm的基本应用。其它包括文件项(不是文件内容)镜像,多pv协同工作(数据散列(不是哈希),校验等)。
而关于调整大小,需要文件系统支持,目前Linux下只有ext3支持最完善,但因为ext3的不稳定(试试非读写状态断电,上电检查时再断电。和你的数据说拜拜吧。),我从来不用。动态调整大小的意义在于提高硬盘利用率,特别是不间断服务的应急。
11 楼 lazy 2008-12-03  

技术是为了需求服务,不能为了使用某种技术而凭空捏造需求。
反过来,如果掌握了技术,在需要的时候可以马上应用,也还是可以的。
10 楼 jieyuan_cg 2008-12-02  
如果磁盘空间一定,用LVM管理我觉得意义不大。因为只能调整以前分区的大小,没有其他更好的用途。
如果可以扩展磁盘空间,用LVM管理就比较好。
9 楼 je507 2008-12-02  
hongliang 写道
我只是想说LVM最大的用处是跟RAID结合,提供诸如硬件级别的在线扩容等高端应用
能否更详细些 ?
8 楼 allaneiaaa 2008-12-02  
同意楼上 技术这东西 用的时候现学就管用。 关键是价值
7 楼 hongliang 2008-12-01  
robbin 写道

菜鸟了吧,还是科普一下:

1、如果你因为各种不可预知的原因,需要格式化重装操作系统的话,你可以选择不格式化/home,否则你就得干净彻底的来装了,这对于很多上面跑了n多系统的服务器来说,是一件很恐怖的事情。


以前这种做法狠流行,后来狠少遇到这种情景了。服务器经常重装系统(比如一年一次以上),我觉得是狠恐怖的事情了。

好吧,现在我明白你为什么如此用心良苦,把/home单独列出来一个分区了。可是这跟LVM也没啥关系,当初你把/home分的再大一点不就行了,既然大部分有用的东西都在/home下,当初干嘛给系统分区留那么多空间呢 

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

robbin 写道

2、服务器掉电重起,在个别情况下会导致文件系统破坏,你是想整个服务器挂掉,还是幸运的只挂掉某个分区?


这个侥幸心理不可取,多一个分区不等于机会就减小一些,因为无论你是哪个分区,最容易挂掉的总是数据最热的那个  解决这个问题只能靠服务器硬件级别来增加可靠性,软件上怎么努力都于事无补啊。

robbin 写道

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


这其实应该是RAID干的事

robbin 写道

LVM在高端Unix上面有很多玩法,不过那些玩法都是要接专用存储设备的,这个咱也是外行,不多提了。


同意。其实这也正是LVM真正有价值的地方。

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

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

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

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

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

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

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


菜鸟了吧,还是科普一下:

1、如果你因为各种不可预知的原因,需要格式化重装操作系统的话,你可以选择不格式化/home,否则你就得干净彻底的来装了,这对于很多上面跑了n多系统的服务器来说,是一件很恐怖的事情。

2、服务器掉电重起,在个别情况下会导致文件系统破坏,你是想整个服务器挂掉,还是幸运的只挂掉某个分区?

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

LVM在高端Unix上面有很多玩法,不过那些玩法都是要接专用存储设备的,这个咱也是外行,不多提了。
5 楼 hongliang 2008-12-01  
为什么/home自己分一个区呢?

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

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

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

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

BTW: JavaEye在google中国的rank真高,这个帖子昨天发的今天已经上搜索“LVM”的首页了,厉害 
4 楼 robbin 2008-11-30  
jsea 写道

对LVM不了解,一直感觉很神秘,不敢去深究。原来一直总以为LVM是一种虚拟的磁盘分区,看robbin的这篇文章,时候又是用来操作实际的磁盘分区的。 不知道自己的看法是否贻笑大方了。还真希望robbin能把LVM给稍微详细介绍一下,也好让我等不了解之人不会让人笑话了。

你想了解的这些内容,我提供的附件文档里面介绍的很详细了。
3 楼 jsea 2008-11-30  
对LVM不了解,一直感觉很神秘,不敢去深究。原来一直总以为LVM是一种虚拟的磁盘分区,看robbin的这篇文章,时候又是用来操作实际的磁盘分区的。
不知道自己的看法是否贻笑大方了。还真希望robbin能把LVM给稍微详细介绍一下,也好让我等不了解之人不会让人笑话了。
2 楼 tsc9541 2008-11-30  
哈哈,谢谢robbin的私人珍藏
1 楼 wosmvp 2008-11-29  
有时间改改自己的不太合理硬盘分区

引用

3.9 扩展LV
为逻辑卷增加容量可用使用lvextend,即可以指定要增加的尺寸也可以指定扩容后的尺寸,如
# lvextend -L12G /dev/testvg/testlv
lvextend -- extending logical volume "/dev/testvg/testlv" to 12 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended
将扩大逻辑卷testlv的容量为12GB。
# lvextend -L+1G /dev/testvg/testlv
lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended
将为LV testlv再增大容量1GB至13GB。
为LV扩容的一个前提是:LV所在的VG有足够的空闲存储空间可用。
在为LV扩容之后,应同时为LV之上的文件系统扩容,使二者相匹配。对不同的文件系统有相对应的扩容方法。
3.9.1 ext2/ext3
除非内核已有ext2online 补丁,否则在改变ext2/ext3文件系统的大小时应卸载它:
# umount /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
# mount /dev/testvg/testlv /home
这里假设testlv安装点为/home。在es2fsprogs-1.19或以上版本中包含resize2fs命令。
在LVM发行包中有一个称为e2fsadm的工具,它同时包含了lvextend与resize2fs的功能,如:
# e2fsadm -L+1G /dev/testvg/testlv
等价于下面两条命令:
# lvextend -L+1G /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
但用户仍需首先卸载文件系统。
3.9.2 reiserfs
与ext2不同,Reiserfs不必卸载文件系统,如:
# resize_reiserfs -f /dev/testvg/testvl
3.9.3  xfs
SGI XFS文件系统必须在安装的情况下才可改变大小,并且要使用安装点而不是块设备,如:
# xfs_growfs /home
3.10 缩小LV
逻辑卷可扩展同样也可缩小,但应在缩小LV之前首先减小文件系统,否则将可能导致数据丢失。
3.10.1 ext2/ext3
可以使用LVM的工具e2fsadm操作,如:
# umount /home
# e2fsadm -L-1G /dev/testvg/testvl
# mount /home
如果采用resize2fs,就必须知道缩少后卷的块数:
# umount /home
# resize2fs /dev/testvg/testvl 524288
# lvreduce -L-1G /dev/testvg/testvl
# mount /home
3.10.2 reiserfs
在缩小reiserfs时,应首先卸载它,如:
# umount /home
# resize_reiserfs -s-1G /dev/testvg/testvl
# lvreduce -L-1G /dev/testvg/testvl
# mount -treiserfs /dev/testvg/testvl /home
3.10.3 xfs
无法实现。

相关推荐

    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和/...

    虚拟化技术KVM.pdf

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

    怎么对硬盘进行镜像和克隆?.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自动化安装...

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

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

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

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

Global site tag (gtag.js) - Google Analytics