如何从挂载的驱动器Redhat 7中获得可用空间


14

在我们的VM基础架构中,我们将主机群集到了SAN。

我要弄清楚的是删除Redhat服务器中的文件时还剩下多少“空白”。在我们的Windows服务器上,我们使用sdelete并解决了这个问题,但是对于Linux,我很难找到解决方案。

我将“空白”定义为部门吗?剩下的没有被清零的SSD驱动器必须先清零才能对其进行写入。

我要指出的一件事是,对于Linux来说,我已经足够危险了,但不是超级用户。

查看驱动器和分区:

[root@rhserver1-DATA10 /]# fdisk -l

Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0005d52e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   104857599    51915776   8e  Linux LVM

Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/rhel_rhserver1--data10-root: 51.0 GB, 50964987904 bytes, 99540992 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/rhel_rhserver1--data10-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

现在查看磁盘使用情况:

[root@rhserver1-DATA10 /]# df -h
Filesystem                              Size  Used Avail Use% Mounted on
/dev/mapper/rhel_rhserver1--data10-root   48G  6.1G   42G  13% /
devtmpfs                                906M     0  906M   0% /dev
tmpfs                                   921M  340K  920M   1% /dev/shm
tmpfs                                   921M   90M  831M  10% /run
tmpfs                                   921M     0  921M   0% /sys/fs/cgroup
/dev/sdb                                 50G  3.5G   44G   8% /ACMS01Backup
/dev/sda1                               497M  210M  288M  43% /boot
tmpfs                                   185M   20K  185M   1% /run/user/1000
tmpfs                                   185M     0  185M   0% /run/user/1002

经过数小时的搜寻,我发现了这一点,我认为这向我显示了可以清除多少“空白”。

[root@rhserver1-DATA10 /]#  parted /dev/sda unit MB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
1.02MB
[root@rhserver1-DATA10 /]#  parted /dev/sda unit '%' print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
0.00%

我认为497M分区的输出合理。

所以现在我只想在已安装的驱动器上做同样的事情(我认为它已安装。)

 parted /dev/mapper/rhel_rhserver1--data10-root unit MB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
 parted /dev/mapper/rhel_rhserver1--data10-root unit '%' print free | grep 'Free Space' | tail -n1 | awk '{print $3}'

哪给我什么。

我的/ etc / fstab /:

[root@rhserver1-DATA10 /]# cat /etc/fstab
/dev/mapper/rhel_rhserver1--data10-root /                       xfs     defaults        0 0
UUID=2f97a17c-a6d5-4904-ad5c-7c16b4510201 /boot                   xfs     defaults        0 0
/dev/mapper/rhel_rhserver1--data10-swap swap                    swap    defaults        0 0
/dev/disk/by-uuid/be4c45cf-5d72-4b97-b647-2e585947041f /ACMS01Backup auto nosuid,nodev,nofail,x-gvfs-show 0 0

所以我的问题是我在正确的道路上吗?

我能解释我在找什么吗?

是否有“空白”这个术语可能对我的谷歌搜索有所帮助?

我发现我可以在根目录上运行“ fstrim -v /”,但我真的很想知道那里有多少空间。

我还试图弄清楚这些是生产系统是fstrim I / O密集型的,它应该在非高峰时间运行吗?

运行“ fstrim -v /”会丢失数据吗?


您还discard可以在文件系统上设置挂载选项。
迈克尔·汉普顿

也许使用已安装驱动器的UUID而不是/ dev / mapper?尝试运行blkid,看看是否可以获得UUID,然后重新运行parted命令。
wilbo

Answers:


12

能够在/分区上运行fstrim是最好的解决方案,但是用它们配置ESXi的方式将是不可能的。

您需要能够在VM和存储设备上都启用丢弃功能。

尝试使用xfs文件系统减小分区或逻辑卷的大小是无法做到的,这是fedora的已知错误。如果您对此功能感兴趣,请联系Red Hat支持并参考Red Hat bugzilla 1062667,并提供您需要减少/缩小XFS的用例。

作为某些环境中的一种可能的解决方法,可以将精简配置的LVM卷视为XFS文件系统下方的附加层。

如果虚拟机急需厚置备的VMDK,则意味着在尝试修剪(从技术上来说; SCSI UNMAP)卷时,没有什么可回收的。

如果后端存储运行的是精简配置,则还需要使用零延迟的VMDK文件,以减少存储量,并使后端可以缓存/删除热数据。

两种可能的选择:

  1. 如果存储是由跨SAN的远程服务器提供的,则只有在存储为精简配置的情况下才能丢弃块。

    1. VMotion将所有VM移至其他数据存储,并使用内置的VMWare工具
    2. 使用SSH连接到ESXi主机
    3. 导航到虚拟机文件夹
    4. 使用du验证磁盘使用情况
    5. 运行vmkfstools -K [disk]
    6. 使用du验证磁盘使用情况
  2. dd if = / dev / zero of = BIGFILE bs = 1024000 rm -f BIGFILE

从我可以看出,它的作用与sdelete相同,但是它可能导致磁盘I / O激增,并且需要一段时间才能运行。

一夜之间可以尝试的东西

这两种方法都不是最佳选择,但是重新格式化每个VM以获取ext3或ext4听起来并不可行。

您可能能够做的是为所有linux VM设置关联规则,并使用上面的选项1。


12

我几周前尝试做同样的事情,但我不知道该怎么做。我在Redhat支持门户网站上分享官方声明。

当前无法使用xfs文件系统减小分区或逻辑卷的大小。如果您对此功能感兴趣,请联系Red Hat支持并参考Red Hat bugzilla 1062667,并提供您需要减少/缩小XFS的用例。作为某些环境中的一种可能的解决方法,可以将精简配置的LVM卷视为XFS文件系统下方的附加层。

祝好运!!


感谢您的评论,但是,我没有尝试减少VM可用空间的大小。SSD驱动器有一个(故障),即删除数据时首先将扇区清零,然后再将其写入vs,如果从未写入过的扇区已经清零。我试图弄清楚像在带sdelete的Windows中一样,我可以使用“ fstrim -v /”。在运行该程序之前,我试图弄清楚是否可以看到有多少扇区会受到影响,以及它将对系统产生什么影响。
安东尼·佛尼托
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.