搜索

5.5. 在集群中创建镜像 LVM 逻辑卷

download PDF
在集群中创建镜像 LVM 逻辑卷需要与在具有片段类型为 mirror 的单个节点上创建镜像 LVM 逻辑卷的命令和流程相同。但是,要在集群中创建镜像 LVM 卷:
  • 集群和集群镜像基础架构必须正在运行
  • 集群必须是 quorate
  • lvm.conf 文件中的锁定类型必须正确设置以启用集群锁定,use_lvmetad 设置应该是 0。但请注意,在 Red Hat Enterprise Linux 7 中,ocf:heartbeat:clvm Pacemaker 资源代理本身,作为启动过程的一部分执行这些任务。
在 Red Hat Enterprise Linux 7 中,集群通过 Pacemaker 进行管理。集群式 LVM 逻辑卷只在与 Pacemaker 集群一起使用才被支持,且必须配置为集群资源。
以下流程在集群中创建镜像 LVM 卷。
  1. 安装集群软件和 LVM 软件包,启动集群软件并创建集群。您必须为集群配置隔离。文档 High Availability Add-On 管理 提供了创建集群并为集群中节点配置隔离的示例步骤。文档 High Availability Add-On 参考 提供有关集群配置组件的更多详情。
  2. 要创建由集群中所有节点共享的镜像逻辑卷,必须在集群的每个节点中的 lvm.conf 文件中正确设置锁定类型。默认情况下,锁定类型被设置为 local。要更改它,在集群的每个节点中执行以下命令以启用群集式锁定:
    # /sbin/lvmconf --enable-cluster
  3. 为集群设置 dlm 资源。作为克隆的资源创建资源,以便在集群中的每个节点上运行。
    # pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
  4. clvmd 配置为集群资源。与 dlm 资源一样,您可以将资源创建为克隆的资源,以便它将在集群的每个节点上运行。请注意,您必须设置 with_cmirrord=true 参数,以便在 clvmd 运行的所有节点上启用 cmirrord 守护进程。
    # pcs resource create clvmd ocf:heartbeat:clvm with_cmirrord=true op monitor interval=30s on-fail=fence clone interleave=true ordered=true
    如果您已经配置了 clvmd 资源,但没有指定 with_cmirrord=true 参数,您可以使用以下命令更新资源使其包含参数。
    # pcs resource update clvmd with_cmirrord=true
  5. 设置 clvmddlm 依赖项并启动顺序。clvmd 必须在 dlm 后启动,且必须在与 dlm 相同的节点上运行。
    # pcs constraint order start dlm-clone then clvmd-clone
    # pcs constraint colocation add clvmd-clone with dlm-clone
  6. 创建镜像。第一步是创建物理卷。以下命令创建三个物理卷。两个物理卷将用于镜像分支,第三个物理卷将包含镜像日志。
    # pvcreate /dev/sdb1
      Physical volume "/dev/sdb1" successfully created
    # pvcreate /dev/sdc1
      Physical volume "/dev/sdc1" successfully created
    # pvcreate /dev/sdd1
      Physical volume "/dev/sdd1" successfully created
    
  7. 创建卷组。这个示例创建了一个卷组 vg001,它由上一步中创建的三个物理卷组成。
    # vgcreate vg001 /dev/sdb1 /dev/sdc1 /dev/sdd1
      Clustered volume group "vg001" successfully created
    
    请注意,vgcreate 命令的输出表示卷组是集群的。您可以使用 vgs 命令验证卷组是否已集群,该命令将显示卷组的属性。如果卷组已群集,它将显示 c 属性。
    # vgs vg001
      VG       #PV #LV #SN Attr   VSize  VFree
      vg001      3   0   0 wz--nc 68.97G 68.97G
    
  8. 创建镜像的逻辑卷。这个示例从卷组 vg001 创建逻辑卷 mirrorlv。这个卷有一个镜像分支。这个示例指定将哪个物理卷扩展用于逻辑卷。
    # lvcreate --type mirror -l 1000 -m 1 vg001 -n mirrorlv /dev/sdb1:1-1000 /dev/sdc1:1-1000 /dev/sdd1:0
      Logical volume "mirrorlv" created
    
    您可以使用 lvs 命令显示创建镜像的进度。以下示例显示,镜像为 47% 同步,然后同步 91%,然后在镜像完成时 100% 同步。
    # lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog     47.00
    # lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog     91.00   
    #  lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog    100.00
    
    在系统日志中记录了镜像完成:
    May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events
    May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-sync
    
  9. 您可以使用带有 -o +devices 选项的 lvs 命令显示镜像的配置,包括构成镜像 leg 的设备。您可以看到此示例中的逻辑卷由两个线性镜像和一个日志组成。
    # lvs -a -o +devices
      LV                  VG         Attr   LSize  Origin Snap%  Move Log           Copy%  Convert Devices                                  
      mirrorlv            vg001      mwi-a-  3.91G                    mirrorlv_mlog 100.00         mirrorlv_mimage_0(0),mirrorlv_mimage_1(0)
      [mirrorlv_mimage_0] vg001      iwi-ao  3.91G                                                 /dev/sdb1(1)                            
      [mirrorlv_mimage_1] vg001      iwi-ao  3.91G                                                 /dev/sdc1(1)                            
      [mirrorlv_mlog]     vg001      lwi-ao  4.00M                                                 /dev/sdd1(0)
    
    您可以使用 lvsseg_pe_ranges 选项来显示数据布局。您可以使用这个选项验证您的布局是否正确冗余。此命令的输出以与 lvcreatelvresize 命令采用的格式显示 PE 范围。
    # lvs -a -o +seg_pe_ranges --segments
      PE Ranges                                      
      mirrorlv_mimage_0:0-999 mirrorlv_mimage_1:0-999
      /dev/sdb1:1-1000                              
      /dev/sdc1:1-1000                              
      /dev/sdd1:0-0
    
注意
有关从 LVM 镜像卷的一个分支失败时恢复的详情,请参考 第 6.2 节 “从 LVM 镜像故障中恢复”
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.