高效使用Linux中的文件系统

高效使用Linux中的文件系统

这是我的磁盘目前的状态,我如何使用未使用的空间或移动内容来释放空间,而不格式化或丢失数据

Filesystem                Size  Used Avail Use% Mounted on
devtmpfs                  7.6G     0  7.6G   0% /dev
tmpfs                     7.7G  121M  7.5G   2% /dev/shm
tmpfs                     7.7G  2.0M  7.7G   1% /run
tmpfs                     7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/mapper/Root          50G   50G  336M 100% /
/dev/nvme0n1p2            3.0G  467M  2.6G  16% /boot
/dev/nvme0n1p1            200M   17M  184M   9% /boot/efi
/dev/mapper/Home          100G   30G   71G  30% /home
tmpfs                     1.6G   52K  1.6G   1% /run/user/119637

lvmdiskscan 的输出

  /dev/mapper/luks-e66c5c74-2af5-4500-9e5f-011c23ab17aa [     235.26 GiB] LVM physical volume
  /dev/nvme0n1p1                                        [     200.00 MiB] 
  /dev/nvme0n1p2                                        [       3.00 GiB] 
  /dev/nvme0n1p3                                        [    <235.28 GiB] 
  0 disks
  3 partitions
  1 LVM physical volume whole disk
  0 LVM physical volumes

我可以合并主分区或为主目录添加一个分区,因为它有更多空间吗?以下步骤符合逻辑吗?

  1. 为家里再做一个隔断
  2. 将其合并到 root (不知道命令如何做)
  3. 假设我从主目录到 root 提供 10G,它将解决我的机器的存储问题,并且所有数据都将完好无损。

作为目前的解决方法,仅移动最重的文件

# find .  -type f -size +1G
./VirtualBox VMs/origin-1.3.0/box-disk1.vmdk
./VirtualBox VMs/virtualBox-related_default_1654693896122_36201/centos-7-1-1.x86_64.vmdk
./.vagrant.d/boxes/thesteve0-VAGRANTSLASH-openshift-origin/1.2.0/virtualbox/box-disk1.vmdk
# mv "./VirtualBox VMs/origin-1.3.0/box-disk1.vmdk" /home/

# df -h
Filesystem                Size  Used Avail Use% Mounted on
devtmpfs                  7.6G     0  7.6G   0% /dev
tmpfs                     7.7G  155M  7.5G   2% /dev/shm
tmpfs                     7.7G  2.0M  7.7G   1% /run
tmpfs                     7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/mapper/Root          50G   40G   11G  79% /
/dev/nvme0n1p2            3.0G  467M  2.6G  16% /boot
/dev/nvme0n1p1            200M   17M  184M   9% /boot/efi
/dev/mapper/Home          100G   40G   61G  40% /home
tmpfs                     1.6G   48K  1.6G   1% /run/user/119637

不确定这将如何影响使用 virtualbox :)

答案1

您的lvmdiskscan指示您在 LUKS 加密卷上有一个 LVM 物理卷 (PV),可能位于/dev/nvme0n1p3。它的大小约为 235 GiB。如果您的/dev/mapper/Root/dev/mapper/Home实际上是 LVM 逻辑卷,它们只会占用 150 GiB,因此您可能有大约 85 GiB 的未分配加密 LVM 磁盘空间,您可以使用它来扩展根文件系统而不缩小任何内容。您甚至可以在安装和使用文件系统时在线扩展它。

但是,设备名称/dev/mapper/Root看起来/dev/mapper/Home并不像 LVM 设备名称:LVM 逻辑卷通常使用/dev/<vg name>/<lv name>or/dev/mapper/<vg name>-<lv name>语法。如果它们是加密分区,它们位于哪个物理磁盘上,以及它们的相对位置是什么?这将对所需的程序产生重大影响。

如果不确切知道您的/dev/mapper/Root/dev/mapper/Home是什么,就不可能为您提供有关如何最好地实现根文件系统扩展的准确建议。如果它们采用多个设备映射器层,则dmsetup ls --tree -o blkdevname可能有助于理解各个映射层如何相互交互。

/dev/mapper/Root另外,您还没有透露和上使用的文件系统类型/dev/mapper/Home。文件系统类型具有重要的含义:例如,如果您的/dev/mapper/Home文件系统是 XFS 文件系统,则目前在不备份数据、将文件系统重新缩小并恢复的情况下根本无法缩小mkfs(据我所知) )目前还没有生产质量的 XFS 文件系统收缩工具。

答案2

您应该检查vgs输出以查看 VG 中是否有可用空间。如果 VG 中有足够的可用空间,则可以在其上增加 /dev/mapper/Root 和文件系统。

如果 VG 中没有可用空间,则收缩 /dev/mapper/Home 上的文件系统并收缩 /dev/mapper/Home LV,而不是增大 /dev/mapper/Root LV 及其上的文件系统。

https://documentation.suse.com/sles/15-SP1/html/SLES-all/cha-resize-fs.html

https://www.mankier.com/8/lvreduce

https://www.mankier.com/8/lvresize

https://www.mankier.com/8/lvm

相关内容