LinuxSir.cn,穿越时空的Linuxsir!

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

翻译:gentoo 中使用lvm2

[复制链接]
发表于 2006-12-11 17:09:15 | 显示全部楼层 |阅读模式
在gentoo.org上面看到了lvm的使用,翻译一下,看看有没有能用得到。。
或许已经有人翻译了,不过还是秀一下 。。
原文地址:
http://www.gentoo.org/doc/en/lvm2.xml

#################
1:介绍Introduction

        本guide里面,我们以两块IDE硬盘来示例,让你可以根据自己的需求来对drive进行修改,包含partition的名称,partition的空间大小。
       
        警告:这个文档不能代替一个LVM2指南,它仅仅是对handbook中gentoo installation部分的一个补充,在确定安装之前,请先阅读gentoo installation的手册。

1-1:初始化的前提条件:
       
        如果你刚刚好开始安装gentoo,你需要有一张支持LVM2的cd光盘,能够启动gentoo installation。gentoo的livecd已经支持这个,你可以从gentoo.org的站点上下载(/releases/x86/current/installcd).其他的发行版应该也已经提供了LVM2的支持。
       
        如果你想在自己当前系统的磁盘剩余空间上使用LVM2,你需要要打开LVM2的模块(dm-mod)支持.这个模块在你使用gentoo-sources和vanilla-sources的时候,已经默认支持,不过你需要重新编译你的kernel,让LVM2能够正常的工作。
       
        并不是所有的2.4的kernel都支持LVM2。
       
        警告:LVM2在2005.0的安装光盘中,在/usr中有一个动态链接库文件的错误(libgpm),这个错误的存在意味着你不能让/usr目录存在与lvm的环境中。除非你安装了更新的版本或者使用静态编译lvm2。

1-2:分区
        下面是示例中的分区信息:
    *  /dev/hda1 -- /boot
    * /dev/hda2 -- (swap)
    * /dev/hda3 -- /
    * /dev/hda4 -- Will be used by LVM2
    * /dev/hdb1 -- Will be used by LVM2
        注意:确定你的硬盘分区信息,一件简单的错误,就可能引起分区的整体错误。

        下面,我们开始LVM2的路程。

2:安装Installation
       
        查看handbook信息,我们需要对chapter4.preparing the disks章节进行一些更改。

        使用fdisk命令,将硬盘分区按照上面的示例进行分区。(这仅仅是一个示例,你可以按照你自己的需求进行修改)

        建立一个小的物理分区/boot(hda1),在这个示例中,/boot没有建立在lvm2的环境中,这个分区里面包含了操作系统的bootloader信息和kernel信息。一个64M的分区对于通常的内核已经足够。
        补充:任何linux的/boot分区都不能建立在lvm2的环境中。

        建立swap分区(hda2)
       
        建立/分区(hda3),我们并不推荐你把/分区放置在lvm环境中,如果你想要这样尝试的化,请查阅本文结束部分的resources部分,那里有链接通往lvwm mini-howto。当你需要把/opt /usr /home /var /tmp等放置在lvm2 volume group(vg)中的化,你的/分区并不需要很大,在这里,有1g的空间已经足够了。
       
        注意:一下目录不推荐放置在lvm2的分区中:/etc /lib /mnt /proc /sbin /dev /boot和/,这样的话,当系统出现严重错误的时候,你还能够进入系统进行一些恢复工作。
       
        在这里,建立好了/boot , swap , / 分区后,在这个磁盘上建立第四个分区,并且更改磁盘的标示为8e(linux lvm),如果你有多个物理磁盘,在其他的物理磁盘上面建立一个分区,并且修改分区标示为8e(linux lvm)。

        注意:鉴于当前磁盘的容量日益剧增,你更好考虑自己数据的快速增长,你可以使用一个能够让你很容易的扩展的volumeslvm2 volume group来代替建立一个分区。在这里,需要说明的是你需要在lvm2 group之外留下一些未分配的磁盘空间以备将来可能的使用。简单的来说,不要把你的磁盘空间完全分配给系统,一个简单的建议是160G的硬盘,可以留下8G~20G的容量。

        在/dev/hda1 /dev/hda3上面建立文件系统,建立swap分区并且swapon这个分区(/dev/hda2)。

        然后,加载lvm2 dm-mod module

        #####命令:loading the lvm2 module
        #modprobe dm-mod

        在建立和激活lvm之前,你首先要编辑/etc/lvm/lvm.conf文件,在这里面,你需要排除一些设备。因为在默认的情况下,LVM2会扫描所有的设备,比如在扫描cdrom的时候,就会出现错误信息。在下面的例子中,我们使用 仅仅扫描除我们的两个IDE硬盘来 替代 扫描所有的设备。

        #####命令:activating lvm
        #避免扫描除我们的磁盘设备外的其他设备
        #nano -w /etc/lvm/lvm.conf
        本身的配置:
                filter = [ "a/.*/" ]
        替换为我们的配置:仅仅扫描/dev/hda /dev/hdb
                filter = [ "a|/dev/hd[ab]|", "r/.*/" ]
        保存这个文件
        #vgscan                        #扫描所有的physical volumes。
        #vgchange -a y                #将前面设置的volume groups标示为可用

2.1:准备分区Prepare the partitions.
       
        #####preparing the partitions
        #pvcreate /dev/hda4 /dev/hdb1
        No physical volume label read from /dev/hda4
        Physical volume "/dev/hda4" successfully created
          No physical volume label read from /dev/hdb1
          Physical volume "/dev/hdb1" successfully created

        建立一个volume group ,这个volume group由多个物理单元组成的一个逻辑的设备。

        在我们的例子中,/dev/hda1 , /dev/hda2 , /dev/hda3 是/boot , swap , / 三个分区,所以,我们只能将/dev/hda4 , /dev/hdb1来建立。这个可以使用一个命令来完成,按照示例,我们将创建volume group(vgcreare),并且对该volume group进行扩展(vgextend)。

        #####createing and extending a volume group
        # vgcreate vg /dev/hda4
        /etc/lvm/backup: fsync failed: Invalid argument (Ignore this warning)
          Volume group "vg" successfully created
        (Extending an existing volume group)
        # vgextend vg /dev/hdb1
          /etc/lvm/backup: fsync failed: Invalid argument (Ignore this warning, again and later as well)
          Volume group "vg" successfully extended

        建立一个逻辑卷,在logical volumes上,你可以建立分区就向在普通的磁盘上一样,我们将建立下面的分区:
        /usr        10G
        /home        5G
        /opt        5G
        /var        10G
        /tmp        2G

        现在,我们将要使用lvm2,在这里,我们不在需要对分区的大小进行担心,因为我们可以随时调整这个参数。
       
        注意:在terje kvernes的注释里面一样,我们会比较容易的扩展分区的大写,可是最好不要去缩小他的大小。所以,你最好是建立一个比较小的分区,在后期适当的时候,对这个分区进行容量的扩展。
       
        #creating and extending logical volumes
        # lvcreate -L10G -nusr  vg
          Logical volume "usr" created (Further similar messages not displayed)
        # lvcreate -L5G  -nhome vg
        # lvcreate -L5G  -nopt  vg
        # lvcreate -L10G -nvar  vg
        # lvcreate -L2G  -ntmp  vg
        下面是对一个分区扩展的示例,扩展5G的空间。
        #lvextend -L+5G /dev/vg/home

        在逻辑卷上建立文件系统(filesystems),就和在普通的磁盘上一样的操作。比如我们采用ext3的格式来对逻辑卷进行分区。其他的分区格式一样可以得到很好的工作。
       
        #####creating the filesystems
        #mke2fs -j /dev/vg/usr
        #mke2fs -j /dev/vg/home
        …………

        将我们建立的lvm逻辑卷挂装在系统中,采用handbook里面相同的方法,只是将/dev/hd** 替换为:/dev/vg/logical_volumename
       
        #####mounting you logical volumes
        #mkdir /mnt/gentoo/usr
        #mount /dev/vg/usr /mnt/gentoo/usr
        ………………
        and so on

        注意:剩余的安装步骤和handbook里面写的一样,没有什么改变。

        下面可以开始安装gentoo了,需要注意的是,在配置内核的时候,确定你配置的kernel已经对lvm2进行了支持。需要选择如下项:
       
        #####kernel 2.6.×kernel
        Device Drivers  --->
         Multi-device support (RAID and LVM)  --->
             
  • Multiple devices driver support (RAID and LVM)
                 < >   RAID support
                 <M>   Device mapper support

            此项选择后,建立的模块名称为:dm-mod.ko
           
            在你建立好kernel并且安装了modules后,你需要将dm-mod加入到需要自动加载的配置文件中,在/etc/modules.autoload.d/kernel-2.6.*
           
            #####add the lvm2 module into /etc/modules.autoload.d/kernel-2.6
            dm-mod

            下面,安装lvm2的软件包。

            警告:确定你的/usr/src/linux连接到了正确的kernel sources ,是你当前时用的。因为在安装lvm2的时候,会需要检测/usr/src/linux/include/linux的存在。
           
            #####emerging the lvm2 package
            #emerge lvm2

            配置/etc/lvm/lvm.conf,前面配置的这个文件是在安装环境中使用的,当你的机器reboot后,这个文件就不复存在了,你需要在你的gentoo相同里面,配置一个真正的文件,就和前面配置的方法一样。

            在你编辑/etc/fstab文件的时候,根据handbook并且添加lvm2的逻辑卷到fstab文件中,下面是一些示例:
           
            #####extract of /etc/fstab
            /dev/hda1     /boot   ext3    noauto,noatime 1 2
            /dev/hda2     none    swap    sw             0 0
            /dev/hda3     /       ext3    noatime        0 1
            # Logical volumes
            /dev/vg/usr   /usr    ext3    noatime        0 2
            /dev/vg/home  /home   ext3    noatime        0 2
            /dev/vg/opt   /opt    ext3    noatime        0 2
            /dev/vg/var   /var    ext3    noatime        0 2
            /dev/vg/tmp   /tmp    ext3    noatime        0 2

            当你完成了gentoo相同的安装,一定不要忘记umount所有的lvm2的逻辑卷。作为一个好的额外添加,可以执行下列命令终止lvm2

            #####shutting down lvm2
            #vgchange -a n

            重新启动机器,一切正常。。。

    3:重启后继续Continuing After a Reboot
           
            如果你在安装的时候,中间被终端了,需要继续,你首先必须要建立volume device nodes

            #####reactivating the volumes
            #vgscan --mknodes

            安装光盘需要执行下面的命令,让volumes重新起作用。
           
            #####reactivating the volumes
            (Deactivate all volumes first)
            # vgchange -a n
            (Export all the volumes)
            # vgexport -a vg
            (Import all volumes)
            # vgimport -a vg
            (Reactivate all volumes)
            # vgchange -a y


    4:资源 Resources
           
            …………………………

    5:感谢 Acknowledgements

            Thanks Thilo Bangert and Terje Kvernes for their help and comments on this document.
  • 发表于 2006-12-12 09:03:29 | 显示全部楼层
    感谢兄弟
    不过最好还是遵循原来的xml格式
    如果是xml的话,我会请gentoo开发者或者以后我自己就可以把它放到gentoo.org上去
    回复 支持 反对

    使用道具 举报

    发表于 2006-12-12 16:46:42 | 显示全部楼层
    还是不明白……还是想办法把lvm变成一个对用户透明的东西比较好……
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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