AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 849088
Accepted
eckes
eckes
Asked: 2017-05-10 08:37:38 +0800 CST2017-05-10 08:37:38 +0800 CST 2017-05-10 08:37:38 +0800 CST

为 Linux 上的特定 LVM2 VG 自动分发 lvm(条带)

  • 772

使用 Linux lvm2,我可以在 VG 中创建逻辑卷。当我使用lvcreate命令 striping/stripesize 指定时,我可以手动将逻辑卷分布到所有物理卷上(如下面的lvnova所示)。

有没有办法配置 lvcreate 总是条带化,特别是如果我创建新的 LV,它们应该在设备上循环创建?(即没有在每个 lvcreate 中指定物理“启动”设备)

我需要为 OpenStack Nova 用于临时设备的卷组持久配置它。看起来我无法配置 lvm 驱动程序来更均匀地分配它们。

我正在寻找一种将其指定为 VG 上的属性的方法(因为 lvcreate 正在谈论继承分配),但我在手册中找不到它。

LV 继承了分配策略,VG 告诉我这是正常的:

# vgchange vgdata --alloc normal
Volume group allocation policy is already normal

我也在查看 lvm.conf 中是否有分配策略。但是 cling2 策略只有一些参数,它在扩展卷时特别使片段保持在一起(这不是我在这里主要关心的问题)。

手动条带化 LV 和 OpenStack 的示例在 4 个物理卷系统上生成了一个卷:

nvme0n1                                                               259:0    0   1.5T  0 disk
└─nvme0n1p1                                                           259:4    0   1.5T  0 part
  ├─vgdata-lvnova (dm-0)                                              252:0    0   750G  0 lvm  /srv/data
  ├─vgdata-ec3d1f0d--76f2--4cb2--af66--665dba0582b1_disk (dm-3)       252:3    0    50G  0 lvm
  ├─vgdata-ec3d1f0d--76f2--4cb2--af66--665dba0582b1_disk.swap (dm-4)  252:4    0     8G  0 lvm
  ├─vgdata-290ef35d--6d84--49cf--8d7d--3240dcd84a3e_disk (dm-5)       252:5    0    20G  0 lvm
 ...
nvme1n1                                                               259:1    0   1.5T  0 disk
└─nvme1n1p1                                                           259:5    0   1.5T  0 part
  └─vgdata-lvnova (dm-0)                                              252:0    0   750G  0 lvm  /srv/data
nvme2n1                                                               259:2    0   1.5T  0 disk
└─nvme2n1p1                                                           259:6    0   1.5T  0 part
  └─vgdata-lvnova (dm-0)                                              252:0    0   750G  0 lvm  /srv/data
nvme3n1                                                               259:3    0   1.5T  0 disk
└─nvme3n1p1                                                           259:7    0   1.5T  0 part
  └─vgdata-lvnova (dm-0)                                              252:0    0   750G  0 lvm  /srv/data

root@compute18:~# lvs --segments
  LV                                             VG     Attr      #Str Type    SSize
  lv-root                                        vg0    -wi-ao---    1 linear  223.52g
  lv-swap                                        vg0    -wi-ao---    1 linear   46.56g
  17bad6e1-41f0-4725-a74d-7a1f1df5f0b6_disk      vgdata -wi-ao---    1 linear   20.00g
  17bad6e1-41f0-4725-a74d-7a1f1df5f0b6_disk.swap vgdata -wi-ao---    1 linear    1.00g
  189585e0-9b69-4d7c-b1b4-194156312553_disk      vgdata -wi-ao---    1 linear   20.00g
...
  lvnova                                         vgdata -wi-ao---    4 striped 750.00g

顺便说一句:我之前使用了条纹 /dev/md0,但我希望摆脱这种间接。

这是带有 KVM/nova OS Liberty 的 Ubuntu Trusty (lvm 2.0.2.98(2)) 上的 Linux 4.4.0。

linux
  • 2 2 个回答
  • 1343 Views

2 个回答

  • Voted
  1. Andreas Rogge
    2017-05-10T09:21:13+08:002017-05-10T09:21:13+08:00

    您可以在/etc/lvm.conf. 如果您设置raid_stripe_all_devices=1默认值应该是条纹而不是线性。你也应该看看use_linear_target。

    • 3
  2. Best Answer
    eckes
    2017-05-11T02:24:09+08:002017-05-11T02:24:09+08:00

    Andreas 提到的allocation/raid_stripe_all_devices=1选项lvm.config仅适用于Ubuntu Zesty,即使这样,它似乎也不会默认打开条带卷。

    出于这个原因,我们修补了操作系统:

    /usr/lib/python2.7/dist-packages/nova/virt/libvirt/storage/lvm.py
      else:
        check_size(vg, lv, size)
    -   cmd = ('lvcreate', '-L', '%db' % size, '-n', lv, vg)
    +   cmd = ('lvcreate', '-i', '4','-L', '%db' % size, '-n', lv, vg)
    

    这适用于我们的案例:

    nvme0n1                                                              259:0    0   1.5T  0 disk
    └─nvme0n1p1                                                          259:4    0   1.5T  0 part
      ├─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk (dm-5)      252:5    0   100G  0 lvm
      └─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk.swap (dm-6) 252:6    0     8G  0 lvm
    nvme1n1                                                              259:1    0   1.5T  0 disk
    └─nvme1n1p1                                                          259:5    0   1.5T  0 part
      ├─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk (dm-5)      252:5    0   100G  0 lvm
      └─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk.swap (dm-6) 252:6    0     8G  0 lvm
    nvme2n1                                                              259:2    0   1.5T  0 disk
    └─nvme2n1p1                                                          259:6    0   750G  0 lvm  /srv/data
      ├─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk (dm-5)      252:5    0   100G  0 lvm
      └─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk.swap (dm-6) 252:6    0     8G  0 lvm
    nvme3n1                                                              259:3    0   1.5T  0 disk
    └─nvme3n1p1                                                          259:7    0   1.5T  0 part
      ├─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk (dm-5)      252:5    0   100G  0 lvm
      └─vgdata-b063d1b9--e1ac--4cab--98d8--9a2d1c71406e_disk.swap (dm-6) 252:6    0     8G  0 lvm
    
    # lvs --segments
      b063d1b9-e1ac-4cab-98d8-9a2d1c71406e_disk      vgdata -wi-ao---    4 striped 100.00g
      b063d1b9-e1ac-4cab-98d8-9a2d1c71406e_disk.swap vgdata -wi-ao---    4 striped   8.00g
    

    我们将为这个缺失的设置打开一个 OpenStack 错误。

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve