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 / 问题 / 1074171
Accepted
Jack BeNimble
Jack BeNimble
Asked: 2021-08-11 20:15:05 +0800 CST2021-08-11 20:15:05 +0800 CST 2021-08-11 20:15:05 +0800 CST

减少 lvmgroup - 无法调整到 xxxx 范围,因为分配了后面的范围

  • 772

我一直在通过减少 lvmgroup 来减少 Centos 6.10 图像的大小。我已经能够运行这个命令了:

pvresize -tv --setphysicalvolumesize  1600G /dev/md125p2

它给了我以下错误信息:

 /dev/md125p2: cannot resize to 409599 extents as later ones are allocated.

我试图了解如何构造 pvmove 命令以消除错误,但我不太明白这个概念。

这是此命令的输出 pvs -v --segments /dev/md125p

  PV           VG            Fmt  Attr PSize PFree   Start  SSize  LV       Start Type   PE Ranges                 
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g      0 384000 lv_mysql     0 linear /dev/md125p2:0-383999     
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 384000  81947              0 free                             
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 465947  12800 lv_root      0 linear /dev/md125p2:465947-478746
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 478747   1998 lv_swap      0 linear /dev/md125p2:478747-480744
  /dev/md125p2 vg_centos6svr lvm2 a--u 1.86t 320.11g 480745   7500 lv_home      0 linear /dev/md125p2:480745-488244

我知道移动命令必须看起来像这样:

pvmove --alloc anywhere /dev/md125p2 vg_centos6svr:yyyy-end

我只是不清楚如何计算 yyyy-end 部分。我认为这意味着移动从 384000 开始的 81947(块?),但是“yyyy”和“end”是什么?

centos lvm gparted pvmove
  • 2 2 个回答
  • 486 Views

2 个回答

  • Voted
  1. John Mahowald
    2021-08-12T12:23:26+08:002021-08-12T12:23:26+08:00

    减少 PV 需要将范围移动到所需大小之前的可用空间。在您的情况下,范围低于 409599。

    首先,测试备份还原以确保可以在必要时恢复数据。

    lvremove您不需要的卷。

    pvmove允许通过 LV 名称指定范围,并使用 + 表示法通过偏移量指定目标。提供目的地时,必须是 PV,而不是 VG。

    将一个 LV 移动到可用空间中的第一个扩展区。偏移量是要移动的段的大小。

    pvmove --alloc anywhere  -n lv_swap /dev/md125p2 /dev/md125p2:384000+1998
    

    再次获取新的段布局pvs -v --segments。pvmove使用不同的 LV 和新的可用空间起始范围重复此操作。

    就个人而言,我更喜欢将数据 VG 与操作系统 VG 分开。但这是您的存储空间,您可以随意布置。

    • 1
  2. Best Answer
    dsz
    2021-08-12T15:35:49+08:002021-08-12T15:35:49+08:00

    所以,我可以看到一切都已开启/dev/md125p2,我们想要减小这个 PV 的大小。

    您的输出pvs -v --segments /dev/md125p显示您SSize==81947在lv_mysql您的lv_root. 这足以容纳物理布局中lv_root的所有LV。

    所以,我建议的第一组数字是:

    ***# pvmove --alloc anywhere /dev/md125p2:480745-488244 /dev/md125p2:384000+7499
    

    也就是说,将整个 移动lv_home到 之后直接开始的空闲空间lv_mysql。

    然后重新运行pvs -v --segments /dev/md125p以查看修改后的数字,并将下一个块移动到剩余的任何可用空间中。

    这将有效地对您的 PV 进行碎片整理。

    现在,pvmove可能有比我使用的更多的选项(也许指定 PV 而不是范围?)但我感到舒服的只是明确地使用块,所以我所有的源和目标都是形式/dev/<dev>:<Start>-<End>或/dev/<dev>:<Start>+<SSize-1>。

    我怀疑您的问题主要是缺少“源”规范的范围。

    我已经看到了一些他们使用的例子-end——我不知道这是否应该起作用,但它会引出“什么结束?”的问题。所以我避免使用它并使用明确的块号。您只需要注意+语法是加号,并且需要比 SSize 小一。

    额外的

    好的,在源代码方面,您似乎可以-name lv_home /dev/md125p2作为简写/dev/md125p2:480745-488244- 但还要注意,如果lh_home被分割成多个范围,这将变得更加复杂(这是否意味着“所有片段?”) - 我想我仍然更喜欢数字接近。请注意,您在问题中的示例不包括 LV 名称,所以我不确定pvmove从您给出的内容中会理解什么......

    • 1

相关问题

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

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

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