




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通用线程 学习 Linux LVM 第 2 部 分 cvs gentoo org 升级升级 级别 初级 Daniel Robbins drobbins gentoo org 总裁兼 CEO Gentoo Technologies Inc 2001 年 4 月 01 日 在本文中 Daniel 和我们一起分享了他将 cvs gentoo org 的 home 文件系统转换成 LVM 逻辑卷的经历 在转换之后 当 cvs gentoo org 的 home 分区实时动态地进行大小调整 而无需重新引导 卸装 home 甚至无需降低到运行级别 1 时 我们将会看到 LVM 的种种优点 所有进程在没有任何中断的情况下继续工作 Daniel 对转换的逐步详细介绍将对 那些有兴趣在他们自己的机器上执行类似转换的人有所帮助 在 我前一篇 LVM 文章 中 我解释了 LVM 背后的概念 现在该是发挥 LVM 作用的时候了 在本文中 我将在官方 Gentoo Linux web cvs email 服务器 cvs gentoo org 上设置 LVM 尽管 cvs gentoo org 只有一个硬盘 但 灵活性很强的 LVM 仍然令人难以置信地提供了比标准静态分区方法好得多的改进 我将为您介绍 LVM 转换过程的的所有 步骤 这样 如果您有兴趣 可以在自己的机器上执行类似的转换 在开始之前有一个告诫 因为实现 LVM 是对系统进行的一项重要的变动 包括创建新分区和其它一些潜在的冒险操作 所以在开始这一过程之前备份整个系统 不失为 一个好主意 如果您不想进行备份 我希望您能使用一台没有什么重要数据 的测试机器 应该说我在转换到 LVM 时并没有遇到任何问题 但最好做好准备以防万一 那么 让我们继续 在开始转换过程之前 我对 cvs gentoo org 进行了升级 让它使用下列软件包 在我执行 LVM 转换 的时候 这些是当时的最新版本 请参阅本文稍后部分的 参考资料 Linux 内核 2 4 1 ac19 LVM 0 9 1 beta5 reiserfs utils 3 6 25 现在轮到硬盘驱动器了 cvs gentoo org 有一个不错的新的 IBM 45 GB 硬盘驱动器 不过 当我在 cvs 上安装 Gentoo Linux 时 我只对驱动器中的 10 GB 进行了分区 而将余下的 35 GB 留作 将来的分区 使用 这些是在不使用 LVM 时耍的一点小计谋 将部分驱动器保留不分区是一种为今后的扩充作准备的简单但有效的方式 不过 如果使用 LVM 会有更好的方法 空间问题空间问题 在过去的几个星期中 我注意到我的根 ReiserFS 分区在被缓慢地填满 这可以从下面的 df 输出中看出 Filesystem 1k blocks Used Available Use Mounted on dev hda3 9765200 6989312 2775888 72 tmpfs 269052 0 269052 0 dev shm 现在 72 被占满的根分区并不构成什么危机 但也决不是一种良好的状况 ReiserFS 和许多其它文件系统一样 随着它 越来越满而开始逐渐减慢速度 在根文件系统被完全填满 文件系统的性能遭到重创之前 这只是时间问题 我决定在硬盘驱动器的结尾处使用 LVM 从 35 GB 的当前未分区空间中创建新逻辑卷来解决这一问题 然后 我会在这个 卷上创建一个文件系统 并将 dev hda3 的大部分内容转移到其中 如果您考虑在自己的机器上进行类似的转换 首先需要做的就是在根文件系统上找一个合适的部分转移到逻辑卷上 对我来 说 选择很容易 我的 home 树占用了大约 5 7 GB 通过将 home 转移到它自己的 LVM 逻辑卷 我的根文件系统 处于大约 20 容量的位置 因为大多数新数据被添加到 home 所以我的根文件系统很可能也停留在大约 20 容量的 位置 一种非常健康的状态 解决方案的开始解决方案的开始 在开始转换之前 首先在硬盘驱动器的结尾处对未使用的空间进行分区 我使用 cfdisk 创建了一个 35 GB 的分区 dev hda5 然后将分区的分区类型设置成 8E 正规 LVM 分区类型 在这一更改后 我进行了重新引导以强制重 新读取分区表 在重新引导后 我的分区表如下 sfdisk l Disk dev hda 89355 cylinders 16 heads 63 sectors track Units cylinders of 516096 bytes blocks of 1024 bytes counting from 0 Device Boot Start End cyls blocks Id System dev hda1 0 247 248 124960 83 Linux dev hda2 248 743 496 249984 82 Linux swap dev hda3 744 20119 19376 9765504 83 Linux dev hda4 20120 89354 69235 34894440 5 Extended dev hda5 20120 89354 69235 34894408 8e Linux LVM 既然有了空的 35 GB 的分区 我就准备为 LVM 初始化它 以下是过程 首先 我将 35 GB 初始化成 物理卷 然后 使用这个物理卷创建一个 卷组 最后 在卷组上分配一些范围 创建将包含新文件系统并存放当前 home 中所有文件的 逻辑卷 为开始这个过程 我使用 pvcreate 命令将 dev hda5 初始化成物理卷 pvcreate dev hda5 pvcreate physical volume dev hda5 successfully created pvcreate 在 dev hda5 上设置一个特殊的 记帐 区域 称作 VGDA 卷组描述符区域 LVM 使用该区域来记录物 理范围是如何分配的 以及其它一些操作 下一步是创建卷组并向该卷组添加 dev hda5 卷组将充当范围池 许多存储块 创建卷组之后 创建所需数量的逻辑卷 我决定将卷组称为 main vgcreate main dev hda5 vgcreate INFO using default physical extent size 4 MB vgcreate INFO maximum logical volume size is 255 99 Gigabyte vgcreate doing automatic backup of volume group main vgcreate volume group main successfully created and activated vgcreate 命令执行几个操作 除了创建 main 卷组以外 它还设置 dev hda5 使它使用 4 MB 的范围 4 GB 是缺 省范围大小 这意味着在卷组上创建的所有逻辑卷都可以以 4 MB 为增量单位来进行扩充或缩减 由于内核限制的原因 范围大小决定了逻辑卷的最大大小 您可以从上面的输出中看出 4 MB 的范围大小决定了逻辑卷大 小限制为 256 GB 如果您向卷组添加几个高容量驱动器 这是很容易达到的逻辑卷组大小 如果每一个卷最后都大于 256 GB 我建议您在运行 vgcreate 时指定更大一些的范围大小 范围的大小可以是从 8 KB 到 512 MB 之间的任何值 并 且必须总是 2 的倍数 通过将范围大小增加到 4 MB 以上 最大的物理卷大小将相应地增加到最大为 1 Petabyte 尽管 当今现实世界中 x86 系统上的大小限制是 2 Terabytes 例如 如果希望使用 32 MB 的范围创建卷组 我会输入 vgcreate s 32M main dev hda5 32 MB 是个合适的范围大小 因为 32 MB 的颗粒度仍然便于管理 并将引导的最大逻辑卷大小增加到 2 TB 创建卷组之 后 可以通过输入 vgdisplay 来查看其信息 vgdisplay Volume group VG Name main VG Access read write VG Status available resizable VG 0 MAX LV 256 Cur LV 0 Open LV 0 MAX LV Size 255 99 GB Max PV 256 Cur PV 1 Act PV 1 VG Size 33 28 GB PE Size 4 MB Total PE 8519 Alloc PE Size 0 0 Free PE Size 8519 33 28 GB VG UUID 2qC2H2 iA8s qW6F cwXx JVIh I6VC VVCGmn 既然有了自己的卷组 我准备创建逻辑卷 我决定在最初时将它的大小设置为 8 GB 并称它作 lv home lvcreate L8G nlv home main lvcreate doing automatic backup of main lvcreate logical volume dev main lv home successfully created 然后 在逻辑卷上创建文件系统 mkreiserfs dev main lv home Block size 4096 bytes Block count 2097152 Used blocks 8275 Journal 8192 blocks 18 8209 journal header is in block 8210 Bitmaps 17 32768 65536 98304 131072 163840 196608 229376 262144 294912 327680 360448 393216 425984 458752 491520 524288 557056 589824 622592 655360 688128 720896 753664 786432 819200 851968 884736 917504 950272 983040 1015808 1048576 1081344 1114112 1146880 1179648 1212416 1245184 1277952 1310720 1343488 1376256 1409024 1441792 1474560 1507328 1540096 1572864 1605632 1638400 1671168 1703936 1736704 1769472 1802240 1835008 1867776 1900544 1933312 1966080 1998848 2031616 2064384 Root block 8211 Hash function r5 ATTENTION ALL DATA WILL BE LOST ON dev main lv home y n y journal size 8192 from 18 Initializing journal 0 20 40 60 80 100 Syncing done 既然创建了文件系统 我就可以在 mnt newhome 上安装它 mkdir mnt newhome mount dev main lv home mnt newhome df Filesystem 1k blocks Used Available Use Mounted on dev hda3 9765200 6989840 2775360 72 tmpfs 291388 0 291388 0 dev shm dev main lv home 8388348 32840 8355508 1 mnt newhome 您可以从上面看出 我几乎准备复制 home 中的所有数据 在开始之前 我把系统降低到运行级别 1 以确保在复制 home 中的文件时 没有用户或进程能够访问或修改它们 init 1 然后 开始复制文件 cp avx home mnt newhome 复制操作需要大约 10 分钟的时间完成 然后 我将原始 home 备份成 home old 这只是为在复制过程中有任何错误 而准备的 创建一个新的安装点 然后在 home 上重新安装新 home cd mv home home old mkdir home umount mnt newhome mount dev main lv home home 然后 应该设置服务器以使我的新 home 分区可以在每次启动机器时使用 首先修改 etc fstab 以使它包括新的 home 项 etc fstab static file system information fs mountpoint type opts dump pass dev hda3 reiserfs defaults 1 1 dev main lv home home reiserfs defaults 2 2 dev hda2 none swap sw 0 0 dev hda1 boot reiserfs noauto 0 0 dev cdrom mnt cdrom iso9660 noauto ro 0 0 proc proc proc defaults 0 0 none dev pts devpts mode 620 0 0 tmpfs dev shm tmpfs defaults 0 0 然后 我对初始化脚本进行了一些小小改动 我修改了 checkroot 启动脚本 使以下命令可以在根分区重新安装读 写 后立即运行 sbin vgscan sbin vgchange a y 接下来 我修改了在关机时运行的文件系统卸装脚本 使以下命令在卸装了所有文件系统 后立即运行 sbin vgchange a n 完成了这些步骤后 我重新引导了机器 让我高兴的是一切都工作正常 在接下去的一天左右的时间里完全没有问题 随后 我删除了 home old 以释放根文件系统上的一些空间 太棒了 到 LVM 的转换成功了 LVM 的优点的优点 虽然到 LVM 的转换有些痛苦 但一旦转换完成之后 管理文件系统就变得非常简单 例如 我决定重新调整新的 home 逻辑卷大小 向文件系统结尾添加大约 2 GB 的空间 首先 我向 lv home 逻辑卷添加了额外的容量 然后使用 resize reiserfs 实用程序来扩充文件系统 使它可以使用额外的容量 以下是执行所有这些操作的两个命令 lvextend L 2G dev main lv home resize reiserfs f dev main lv home 在大约一秒钟的时间里 我将 home 文件系统扩大了 2 GB 令人惊奇的是 我不需要重新引导 降低到运行级别 1 甚 至不需要卸装 home 来执行大小调整 一切都照常工作 是不是很了不起 下面是我的文件系统的当前状态 df Filesystem 1k blocks Used Available Use Mounted on dev hda3 9765200 1413340 8351860 15 dev main lv home 10485436 5609836 4875600 54 home 您可以看出 LVM 的确可以让管理员的工作轻松许多 我希望在今后能将根文件系统的其它部分转移到 LVM 最终甚至将我 的根文件系统转换成 LVM 逻辑卷 下面的参考资料可以帮助您了解有关 LVM 的更多知识 参考资料参考资料 您可以参阅本文在 developerWorks 全球站点上的 英文原文 有关 LVM 的概念和如何在系统上安装最新的内核补丁和工具的建议 请参阅 developerWorks 上 Daniel 的 前一篇文章 学习 LVM 第 1 部分 从 Sistina Software 下载 LVM tar 文件 现在 Sistina 有一个非常棒的 LVM HOWTO 它与简单的 HOWTO 相比 更接近于一个完整描述的手册 请务必仔细查看 Linux LVM FAQ 等不及的读者可以查看 Heinz Mauelshagen 的 LVM 快速入门 它包含了有关如何设置卷组和逻辑卷的更多示 例 另外还有一个有意思的 HOWTO 告诉您 如何在逻辑卷上设置根文件系统 LVM 0 9 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国柔性环形高强纤维索具行业投资前景及策略咨询研究报告
- 洗车池加固施工方案范本
- 锦州医科大学《神经生物学与脑科学》2023-2024学年第二学期期末试卷
- 2025至2031年中国大树移植成活液行业投资前景及策略咨询研究报告
- 新疆地暖施工方案编制
- 《团队成果展示》课件
- 2025至2030年中国车用电路数据监测研究报告
- 2025至2030年中国脂肪酸结合蛋白数据监测研究报告
- 2025年探讨农村土地使用权转让合同的法律效力问题
- 增城降水井施工方案审批
- 2024-2030年中国燕窝行业发展现状及投资盈利分析报告
- 第1课时 化学方程式的意义及书写课件2024-2025学年人教版九年级化学
- 《数字图像处理课程设计》课程教学大纲
- 园艺大棚建设合同
- 冠状动脉粥样硬化性心脏病-28
- 药用氧化镁项目营销计划书
- 任务1 混合动力汽车转向系统典型构造与检修
- 三维地籍解决方案白皮书
- 住院患者VTE相关评估量表课件
- 高中物理选修二第一章《安培力与洛伦兹力》测试题(含答案解析)
- 江苏省徐州市睢宁县2023-2024学年七年级下学期期中考试数学试卷(含答案)
评论
0/150
提交评论