如何缩小 lv 快照的分区?

如何缩小 lv 快照的分区?

我想尝试快照功能,但我看不懂所有图片。
我正在Ubuntu 服务器 11.10我已经创建了两个卷组和一些逻辑卷,如下所示:

root@darwin:~# vgdisplay
      --- Volume group ---
      VG Name               data
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  2
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               272.24 GiB
      PE Size               4.00 MiB
      Total PE              69694
      Alloc PE / Size       69694 / 272.24 GiB
      Free  PE / Size       0 / 0
      VG UUID               YRDCLM-ZfZN-kCoi-PIse-qMdn-2MBm-OmegqH

      --- Volume group ---
      VG Name               os
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                3
      Open LV               3
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               67.75 GiB
      PE Size               4.00 MiB
      Total PE              17343
      Alloc PE / Size       17343 / 67.75 GiB
      Free  PE / Size       0 / 0
      VG UUID               ZRX1mD-CyhV-7u9f-15bh-2rnT-Nbee-1QD20u
root@darwin:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/data/var
  VG Name                data
  LV UUID                FuJlvb-NZ3H-YoaO-6Qsn-SYuz-QaHb-Ms2YtX
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                272.24 GiB
  Current LE             69694
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Name                /dev/os/boot
  VG Name                os
  LV UUID                HE0izv-zuXu-0cZT-L3o2-O9Cj-5wEX-R4O6SB
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                188.00 MiB
  Current LE             47
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Name                /dev/os/swap
  VG Name                os
  LV UUID                4hlke0-kl3r-xVbN-Myjz-dH6H-hkRI-Uh7ncl
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                1.86 GiB
  Current LE             476
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

  --- Logical volume ---
  LV Name                /dev/os/root
  VG Name                os
  LV UUID                7qpM1B-DjHp-v6Ju-Ia4L-TPtP-5sCF-UR6Mr3
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                65.70 GiB
  Current LE             16820
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:3

这是 df -h:

root@darwin:~# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/os-root    65G  1.1G   61G   2% /
    udev                  2.0G   12K  2.0G   1% /dev
    tmpfs                 792M  244K  792M   1% /run
    none                  5.0M     0  5.0M   0% /run/lock
    none                  2.0G     0  2.0G   0% /run/shm
    /dev/mapper/data-var  268G  528M  254G   1% /var
    /dev/mapper/os-boot   183M   51M  123M  30% /boot

此时,我不明白是否需要缩小一个 LV 来为包含快照的新分区腾出空间,因为我尝试创建一个新的 LV,但它说没有足够的空间。我对吗?如果是的话,正确的缩水方法?现在,我想创建一个快照/

答案1

缩小文件系统是可能的,但有风险,不建议这样做。这会加倍困难,因为您可能需要缩小的文件系统是/var- 必须卸载文件系统才能缩小它们(与增加不同,增加是在线操作),因此您需要从恢复盘启动才能执行此操作。(在单用户模式下也可能是可能的。)

程序:

# Make sure /var is not mounted
umount /var
# Resize ext3 filesystem
resize2fs /dev/data/var <newsize>
# Resize LV
lvreduce -L <newsize> /dev/data/var

完成后,我还会运行fsck该卷以确保文件系统中没有错误。

确保您要考虑到 LV 大小必须大于文件系统大小 - 在您的情况下至少大 4MB,因为这是物理范围大小。

阅读resize2fslvreduce手册页以了解尺寸规格 — — 特别是的lvreduce -L

答案2

Linux 逻辑卷管理器 (LVM) 基于 HP-UX LVM - 而 HP-UX LVM 又基于 Veritas VxVM。

Linux LVM 和 HP-UX LVM 之间的一个重要区别是,Linux 中的快照需要预先配置的逻辑卷作为快照数据的存储库。

根据您的信息vgdisplay,两个卷上都没有剩余空间:

  Free  PE / Size       0 / 0

您确实需要减少卷。大多数文件系统不支持缩小卷 - 而那些支持的文件系统也不建议这样做。显然,西弗斯捷豹路虎不会减少(尽管 XFS 文件系统可以变大)。文件系统 ext2fs 确实支持缩小,但这不是推荐的做法:你确定你不会丢失一些数据吗?

最佳做法是执行以下操作:

  1. 备份要缩小的卷 - 使用rsyncdump变体。
  2. 启动到救援磁盘 - 支持 LVM 的磁盘。
  3. 用于lvreduce减小逻辑卷的大小。
  4. 用于mkfs创建一个新的文件系统。
  5. 使用dumprsync从备份重新创建文件系统。
  6. 重启。

这是一个侵入性的过程,需要备份!如果你没有备份(检查它们是否完好!)那么你将要丢失数据!

相关内容