如何释放物理卷的范围? lvm,加密

如何释放物理卷的范围? lvm,加密

我刚刚安装了 Debian 8.1。我将几乎所有磁盘 300 GiB 分配给加密分区,并分配一点用于引导。我想制作更小的 50GiB 加密物理卷,并在可用空间中安装不同的 xen 操作系统。

是否可以在不丢失数据的情况下做到这一点?如何?


系统信息:

/dev/dm-1 ext4 /
/dev/sda1 ext2 /boot

/dev/mapper 中的文件:

  • control
  • hostname--vg-root
  • hostname--vg-swap_1
  • sda5_crypt

添加第一条评论的答案:

root@X550C:/home/user# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda               8:0    0 298.1G  0 disk  
├─sda1            8:1    0   243M  0 part  /boot
├─sda2            8:2    0     1K  0 part  
└─sda5            8:5    0 297.9G  0 part  
  └─sda5_crypt  254:0    0 297.9G  0 crypt 
    ├─hostname--vg-root
            254:1    0 290.1G  0 lvm   /
    └─hostname--vg-swap_1
            254:2    0   7.8G  0 lvm   [SWAP]
sdb               8:16   0 931.5G  0 disk  
└─sdb1            8:17   0 931.5G  0 part  /media/user/Seagate Backup     Plus Drive
sr0              11:0    1  1024M  0 rom   

答案1

从内到外减少每一块。您需要在/未安装的情况下执行此操作,因此您需要从 Live CD/USB 执行此操作。系统救援光盘擅长这类事情。请注意,您需要相当新版本的 LVM 和cryptsetup工具。

  1. 缩小/文件系统resize2fs

    resize2fs /dev/mapper/hostname--vg-root 240G
    
  2. /缩小包含with 的逻辑卷lvresize。绝对确保不会将其缩小到文件系统的大小以下。运行tune2fs -l /dev/mapper/hostname--vg-root以仔细检查文件系统大小。

    lvresize -L 240g hostname/vg-root
    

    注意:如果支持,请告知lvresize致电fsadm调整文件系统的大小。这消除了意外地将卷缩小到文件系统大小以下的风险。如果这有效,则可以跳过上一步。

    lvresize -r -L 240g hostname/vg-root
    
  3. sda5_crypt缩小物理体积pvresize。由于以下限制,这可能有效,也可能无效pvresize:如果逻辑卷碰巧占用了物理卷末尾附近的一些空间,pvresize则不会将任何数据移向靠近卷开头的未占用空间。如果您对此感到困惑,我所知道的唯一解决方案是/尽可能减少文件系统和逻辑卷,并删除交换卷,直到您能够将物理卷缩小到您的内容。

    pvresize --setphysicalvolume 248g /dev/mapper/sda5_crypt
    

    然后停用卷组。

    vgchange -an hostname
    
  4. 缩小加密卷cryptsetup。再次强调,请确保不要将其缩小到 LVM 物理卷的大小以下。请注意,参数的单位--size是 512 字节扇区。非常重要的是,请注意,这是包含设备的大小,而不是加密数据的大小,因此请为元数据留出空间。

    cryptsetup resize --size $((248*2*1024*1024+4096)) sda5_crypt
    

    然后停用加密卷。

    cryptsetup luksClose sda5_crypt
    
  5. 使用 缩小分区fdisk。确保不要将其缩小到加密卷的大小以下。您可以在此处创建一个新分区。

提示:如果不确定尺寸,请在每一步留出边距:内部收缩幅度大于外部收缩幅度。然后,一旦一切都小于您的目标,扩大加密卷以填充分区,然后扩大物理卷以填充加密卷,然后扩大逻辑卷以填充物理卷,然后扩大文件系统以填充逻辑卷。调用cryptsetup resize,pvresize且不resize2fs带大小参数会使它们填充包含的体积。

相关内容