• 创建和管理LVM


    fdisk 对磁盘分区示例:跟lvm没关系

    必须使用空磁盘分区来创建文件系统。如果已经有一个空的可用磁盘分区,则跳到下一步。

    以下是一个为 Linux 文件系统创建新分区的示例。(警告:对磁盘进行错误分区是删除硬盘上所有内容的 最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险。)

    此示例使用 /dev/sdb(一个没有分区的空 SCSI 磁盘)为整个磁盘 (36 GB) 创建单个分区。

    例如:
    # fdisk /dev/sdb
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel.Changes will remain in memory only,
    until you decide to write them.After that, of course, the previous
    content won't be recoverable.


    The number of cylinders for this disk is set to 4427.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

    Command (m for help):p

    Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
    Units = cylinders of 16065 * 512 bytes

    Device Boot Start End Blocks Id System

    Command (m for help):n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-4427, default 1):
    Using default value 1
    Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):
    Using default value 4427

    Command (m for help):w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING:If you have created or modified any DOS 6.x
    partitions, please see the fdisk manual page for additional
    information.
    Syncing disks.

    现在验证新分区:

    例如:
    # fdisk /dev/sdb

    The number of cylinders for this disk is set to 4427.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

    Command (m for help):p

    Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
    Units = cylinders of 16065 * 512 bytes

    Device Boot Start End Blocks Id System
    /dev/sdb1 1 4427 35559846 83 Linux

    Command (m for help):q

    创建文件系统

    使用 ext3 创建这个新的文件系统。也可以使用其他文件系统,但 ext3 在系统崩溃时可提供最快的恢复。

    例如:
    # mke2fs -j /dev/sdb1
    mke2fs 1.26 (3-Feb-2002)
    Filesystem label=
    OS type:Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    4447744 inodes, 8889961 blocks
    444498 blocks (5.00%) reserved for the super user
    First data block=0
    272 block groups
    32768 blocks per group, 32768 fragments per group
    16352 inodes per group
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
    2654208, 4096000, 7962624

    Writing inode tables:done
    Creating journal (8192 blocks):done
    Writing superblocks and filesystem accounting information:done

    This filesystem will be automatically checked every 23 mounts or
    180 days, whichever comes first.Use tune2fs -c or -i to override.

    创建挂载点

    文件系统必须有一个挂载点,它只是一个空的目录,新文件系统在这里与系统目录树“相连”。挂载点的命名应遵循 Oracle 灵活结构 (OFA) 标准。有关 OFA 标准的更多信息,请参阅 Oracle 10g 数据库安装指南附录 D

    由于您已经在第 1 部分中使用了 /u01 和 /u02 目录名称,因此在本示例中使用 /u03。

    例如:
    # mkdir /u03

    将新文件系统添加到 /etc/fstab

    因此新文件系统将在系统启动时自动挂载,您需要向描述新文件系统及其安装位置的 /etc/fstab 文件中添加一行。使用文本编辑器向 /etc/fstab 中添加如下所示的一行。

    /dev/sdb1 /u03 ext3 defaults 1 1

    挂载新文件系统

    文件系统挂载后就可以使用了。只有挂载了文件系统,才能在其中存储文件。使用以下命令挂载文件系统并验证它是否可用。

    mount /u03
    df -h /u03

    例如:
    # mount /u03
    # df -h /u03
    Filesystem Size Used Avail Use% Mounted on


    /dev/sdb1 33G 33M 31G 1% /u03

    创建 Oracle 目录并设置权限



    *物理存储介质(Thephysicalmedia)
    这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低 层的存储单元。
    *物理卷(physicalvolume)
    物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本 存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
    *卷组(VolumeGroup)
    LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个 “LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
    *逻辑卷(logicalvolume)
    LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如 /home或者/usr等)。
    *PE(physicalextent)
    每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的 PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
    *LE(logicalextent)
    逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个 卷组中,LE的大小和PE是相同的,并且一一对应。
    首先可以看到,物理卷(PV)被由大小等同的基本单元PE组成。
    一个卷组由一个或多个物理卷组成。
    从上图可以看到,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM 系统的磁盘分区,可以在其上创建文件系统。
    下图是磁盘分区、卷组、逻辑卷和文件系统之间的逻辑关系的示意图:
    和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷 组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述 符。
    系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进 行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。



    要创建一个LVM系统,一般需要经过以下步骤:
    1、创建分区
    使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区 别仅仅是LVM的分区类型为8e。
    2、创建物理卷
    创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物 理卷。将整个磁盘创建为物理卷的命令为:
    #pvcreate /dev/hdb
    将单个分区创建为物理卷的命令为:
    #pvcreate /dev/hda5
    3、创建卷组
    创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷 组:
    #vgcreate web_document/dev/hda5 /dev/hdb
    vgcreate命令第一个参数是指定该卷组的逻辑名:web_document。后面参数是 指定希望添加到该卷组的所有分区和磁盘。vgcreate 在创建卷组web_document以外,还设置使用大小为4MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以4MB为增量单位来进行扩充 或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE。PE大小范围为8KB到512MB,并且必须总是2的倍数(使用-s指定,具体请参考manvgcreate)。
    4、激活卷组
    为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:
    #vgchange -ay web_document
    5、添加新的物理卷到卷组中
    当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用 vgextend命令:
    #vgextend web_document /dev/hdc1
    这里/dev/hdc1是新的物理卷。
    6、从卷组中删除一个物理卷
    要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用 pvdisplay命令察看一个该物理卷信息:
    如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除 物理卷的命令为vgreduce:
    #vgreduce web_document /dev/hda1
    7、创建逻辑卷
    创建逻辑卷的命令为lvcreate:
    #lvcreate -L1500 -n www1 web_document
    该命令就在卷组web_document上创建名字为www1,大小为1500M的逻辑卷,并 且设备入口为 /dev/web_document/www1(web_document为卷组名,www1为逻辑卷名)。如果希望创建一个使用全部卷组的逻辑卷,则需 要首先察看该卷组的PE数,然后在创建逻辑卷时指定:
    #vgdisplay web_document | grep"TotalPE"
    TotalPE45230
    #lvcreate -l45230 web_document -n www1
    8、创建文件系统
    笔者推荐使用reiserfs文件系统,来替代ext2和ext3:
    创建了文件系统以后,就可以加载并使用它:
    #mkdir/data/wwwroot
    #mount /dev/web_document/www1/data/wwwroot
    如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:
    /dev/web_document/www1/data/wwwrootreiserfsdefaults12
    9、删除一个逻辑卷
    删除逻辑卷以前首先需要将其卸载,然后删除:
    #umount /dev/web_document/www1
    #lvremove /dev/web_document/www1
    lvremove--doyoureallywanttoremove"/dev/web_document/www1"?[y/n]:y
    lvremove--doingautomaticbackupofvolumegroup"web_document"
    lvremove--logicalvolume"/dev/web_document/www1"successfullyremoved
    10、扩展逻辑卷大小
    LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:
    #lvextend -L12G /dev/web_document/www1
    lvextend--extendinglogicalvolume"/dev/web_document/www1"to12GB
    lvextend--doingautomaticbackupofvolumegroup"web_document"
    lvextend--logicalvolume"/dev/web_document/www1"successfullyextended
    上面的命令就实现将逻辑卷www1的大小扩招为12G。
    #lvextend -L +1G /dev/web_document/www1
    lvextend--extendinglogicalvolume"/dev/web_document/www1"to13GB
    lvextend--doingautomaticbackupofvolumegroup"web_document"
    lvextend--logicalvolume"/dev/web_document/www1"successfullyextended
    上面的命令就实现将逻辑卷www1的大小增加1G。
    增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。笔者推荐使用 reiserfs文件系统来替代ext2或者ext3。因此这里仅 仅讨论reiserfs的情况。Reiserfs文件工具提供了文件系统大小调整工具:resize_reiserfs。对于希望调整被加载的文件系统大 小:
    #resize_reiserfs -f /dev/web_document/www1
    一般建议最好将文件系统卸载,调整大小,然后再加载:
    #umount /dev/web_document/www1
    #resize_reiserfs /dev/web_document/www1
    #mount-treiserfs /dev/web_document/www1/data/wwwroot
    对于使用ext2或ext3文件系统的用户可以考虑使用工具
    ext2resize。http://sourceforge.net/projects /ext2resize
    11、减少逻辑卷大小
    使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:
    #umount /data/wwwroot
    #resize_reiserfs -s -2G /dev/web_document/www1
    #lvreduce -L -2G /dev/web_document/www1
    #mount-treiserfs /dev/web_document/www1/data/wwwroot
  • 相关阅读:
    [LintCode] Merge Two Sorted Lists 混合插入有序链表
    Convert PLY to VTK Using PCL 1.6.0 or PCL 1.8.0 使用PCL库将PLY格式转为VTK格式
    [LintCode] Best Time to Buy and Sell Stock II 买股票的最佳时间之二
    [LintCode] Maximum Subarray 最大子数组
    [LeetCode] Matchsticks to Square 火柴棍组成正方形
    [LeetCode] Sort Characters By Frequency 根据字符出现频率排序
    [LeetCode] 450. Delete Node in a BST 删除二叉搜索树中的节点
    [LeetCode] Serialize and Deserialize BST 二叉搜索树的序列化和去序列化
    [LeetCode] Find All Numbers Disappeared in an Array 找出数组中所有消失的数字
    [LeetCode] Add Two Numbers II 两个数字相加之二
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400265.html
Copyright © 2020-2023  润新知