我可以在lvextend之后lvreduce而不会丢失其中的ext4分区吗?


1

在将根分区从一个磁盘移动到另一个磁盘的拙劣尝试中,我做了以下工作:

  • 添加新磁盘
  • 用parted分区(第3部分现在几乎完全填满了磁盘)
  • 初始化物理卷

    $ pvcreate /dev/sdb3
    Physical volume "/dev/sdb3" successfully created
    
  • 扩展了卷组以包括此新的物理磁盘

    $ vgextend myvg /dev/sdb3
    Volume group "myvg" successfully extended
    
  • 扩展了逻辑卷(我认为这是我的专长:我认为我应该将pvmove的内容添加到该组中的新pv中-有人可以确认吗?)

    $ lvextend /dev/mapper/myvg-root /dev/sdb3
    

我现在想撤消lvextend,然后继续执行将旧物理卷的内容移到新物理卷的原始计划。我是否可以减小逻辑卷(我还没有用resizefs之类的东西触及/ dev / mapper / myvg-root中的ext4分区)而不必担心会损坏ext4文件系统?如果是这样,我如何告诉它减少正确的数量?

$ lvreduce --by-exactly-the-amount-occupied-by-PV /ev/sdb3 /dev/mapper/myvg-root

Answers:


1

总而言之,当前在逻辑卷(myvg-root)中有一个ext4文件系统(root),该逻辑卷位于由两个物理卷(其中一个是新添加的sdb3)组成的卷组(myvg)中。

您可以使用lvdisplay检查逻辑范围到物理范围的映射

$ lvdisplay -m
  --- Logical volume ---
LV Name                /dev/myvg/root
VG Name                pfeifer
LV UUID                2LeFq8-zz3y-Y62m-931D-mD3m-XmK1-6Zp3Ir
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                3.62 TiB
Current LE             947851
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           251:0

--- Segments ---
Logical extent 0 to 470980:
  Type              linear
  Physical volume   /dev/sda3
  Physical extents  0 to 470980

Logical extent 470981 to 947850:
  Type              linear
  Physical volume   /dev/sdb3
  Physical extents  0 to 476869

您可以使用lvreduce简单地减小此逻辑卷的大小

$ lvreduce -l -476870 /dev/myvg/root
  WARNING: Reducing active and open logical volume to 1.80 TiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce root? [y/n]: y
  Reducing logical volume root to 1.80 TiB
  Logical volume root successfully resized

请注意,要减少的sdb3上的逻辑扩展区数是476869 + 1(从0开始计数!)。而已。现在,快速检查似乎可以确认原始的世界顺序:

  --- Segments ---
  Logical extent 0 to 470980:
    Type                    linear
    Physical volume         /dev/sda3
    Physical extents        0 to 470980

现在,缓慢而乏味的pvmove命令应允许将数据移至上方:

nohup pvmove -n /dev/myvg/root /dev/sda3 /dev/sdb3 &

命令lvreduce -l -476870 / dev / myvg / root include -r选项是否可以调整文件系统的大小?即:lvreduce -l -476870 -r / dev / myvg / root还是仅在增长文件系统时才需要?
伊恩·谢德勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.