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
    • 最新
    • 标签
主页 / unix / 问题 / 560191
Accepted
rubo77
rubo77
Asked: 2020-01-04 09:43:36 +0800 CST2020-01-04 09:43:36 +0800 CST 2020-01-04 09:43:36 +0800 CST

调整 xen 虚拟磁盘的大小

  • 772

我的 XEN 主机上运行了一个虚拟机,但磁盘空间不足。它安装了/dev/xvda2使用 ext4 文件系统格式化的卷。

这是我的虚拟机 xen 配置:

# /etc/xen/vm04.experimental.cfg

kernel      = '/boot/vmlinuz-4.9.0-11-amd64'
extra       = 'elevator=noop'
ramdisk     = '/boot/initrd.img-4.9.0-11-amd64'
root        = '/dev/xvda2 ro'
disk        = [
                  'phy:/dev/vg0/vm04.experimental-disk,xvda2,w',
                  'phy:/dev/vg0/vm04.experimental-swap,xvda1,w',
              ]
...

# lvdisplay /dev/vg0/vm04.experimental-disk
  --- Logical volume ---
  LV Path                /dev/vg0/vm04.experimental-disk
  LV Name                vm04.experimental-disk
  VG Name                vg0
  LV Status              available
  # open                 1
  LV Size                60,00 GiB
  Current LE             15360
  Segments               5
  Allocation             inherit
...

我的卷组上还有 44GB 空间vg0:

# vgdisplay
  --- Volume group ---
  VG Name               vg0
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  36766
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                27
  Open LV               22
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               1,07 TiB
  PE Size               4,00 MiB
  Total PE              281534
  Alloc PE / Size       270080 / 1,03 TiB
  Free  PE / Size       11454 / 44,74 GiB

如何将剩余空间分配给我的 vm04?

lvm xen
  • 2 2 个回答
  • 823 Views

2 个回答

  • Voted
  1. Romeo Ninov
    2020-01-04T11:58:25+08:002020-01-04T11:58:25+08:00

    的正确格式lvextend是:

    lvextend -L +40G /dev/vg0/vm04.experimental-disk
    

    有关如何在 VM 本身中扩展分区的说明,请使用本手册。

    必须首先调整分区的大小。如果您使用的是 LVM,这很容易,并且您大概知道如何进行。如果您使用的是经典分区,它会稍微复杂一些,并且可能需要重新启动(尽管您不必启动另一个系统或 live CD)。

    我是这样做的:使用 fdisk 首先删除分区(想法是保留磁盘上的数据),然后在同一位置小心地重新创建更大的分区。

    同样,新分区与旧分区在同一块开始是至关重要的。Id 也应该匹配(Linux 系统为 83)。准备好在最轻微的错字中丢失所有数据。

    为了安全起见,您还可以通过按 a 来恢复引导标志(根据 Wikipedia,某些计算机仍需要该标志)。

    如果您的交换分区妨碍您,请参阅评论部分。

    现在应该很清楚为什么人们推荐使用 Live CD。;-) 正如 fdisk 提醒您的那样,您必须在继续之前重新加载分区表。最安全的方法是简单地重新启动;但您也可以使用 partprobe 或 kpartx(更多信息)。

    调整分区大小并重新加载分区表后,只需在文件系统上运行 resize2fs 即可,即使它作为根分区挂载,您也可以执行此操作。

    $ sudo resize2fs /dev/sda1
    
    • 2
  2. Best Answer
    rubo77
    2020-01-26T17:44:23+08:002020-01-26T17:44:23+08:00
    1. 使用以下命令关闭音量:

      xen shutdown vm04.experimental
      
    2. 删除卷的所有快照:

      lvchange -an /dev/vg0/snap-tmp-vm04.experimental-disk    
      lvremove /dev/vg0/snap-tmp-vm04.experimental-disk
      
    3. 调整卷的大小,例如扩展 40GB:

      lvextend -L +40G /dev/vg0/vm04.experimental-disk
      

      现在 VM 分配了更大的 100GB 大小,但在内部它仍然只有 60GB 磁盘

    4. 调整文件系统的大小

      resize2fs /dev/vg0/vm04.experimental-disk
      

      请参阅为什么我需要在 lvextend 之后执行 resize2fs?
      (最终你必须e2fsck -f /dev/vg0/vm04.experimental-disk事先打电话)

    5. 再次启动虚拟机:

      xen create /etc/xen/vm04.experimental.cfg
      
    • 1

相关问题

  • 修改 LVM 时未更新 LVM 快照

  • grub2-mkconfig 没有生成正确的挂载路径(以及如何摆脱不再使用的额外内核?)

  • lvm 和一个分区问题

  • 调整设备 /dev/sdb 上的 LVM 物理卷的大小

  • 以 100% 的利用率捕捉 /dev/loop -- 没有可用空间

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve