启用放弃HP 3PAR StoreServ 7400

从以前提出的问题中分离出来

如何从安装的驱动器获得可用空间Redhat 7

更新crypttab要求为fstrim密码

我们有一台HP 3PAR StoreServ 7400,其中有170台虚拟机分布在38台主机上。

以下是我所了解的问题:(另外我也被告知一些信息,我不确定是否是真的,我已经阅读了HP 3PAR StoreServ 7400白皮书,实际上找不到任何支持我的存储系统的东西告诉我,所以在下面如果有人注意到任何事情都不是真的,请告诉我。)

3 PAR分成3个部分,

第1层:SSD用于caching和快速访问常用文件。

第2层和第3层:某种旋转盘,什么以及为什么还有额外的2层im不确定,但我的假设是第2层用于数据是不是最常见的访问,但访问一点,第3层用于其余的存储。

在SSD部分中,我已经在很多文章中读到数据写入到SSD块后删除,然后删除该块没有归零,直到写入新数据,所以当块内的数据被删除时,存储映射的表info被更新,然后当新的数据被写入同一个块时,块首先需要被清零,然后才能被写入。 如果驱动器没有被周期性修剪,SSD内的这个过程可能导致较低的w / r速度。

3PAR LUN是精简configuration,VM是Eager Thickconfiguration的。

据我的存储人员介绍,3PAR内置了一个特殊function,可以根据需要使用SSD存储器,而不必使用其他虚拟机,这是没有意义的。

事实检查:

厚configuration的VM是VMDK文件,创buildVM时指定VM的大小,并创buildVMDK文件。 在我看来,如果VM正在被定期访问,那么整个VMDK文件就会被转移到SDD,而他们告诉我的是,即使VMDK被设置为使用40GB,其中一些可以使用40GB其他VM的? 这听起来更像是一个精简configuration的虚拟机,而不是一个厚厚的。

好的解决问题。

在我们的Windows系统上,我们使用sdelete来查找和清零未使用的块。

在我们的Linux Fedora系统上,我一直试图弄清楚如何让fstrim工作。

我尝试了dd = write-big-file delete-big-file命令,并且通过屋顶发送了磁盘I / O,这被注意到了,我被告知不要再这样做。

做一个小小的研究,看起来像sdelete几乎和dd = write-big-file delete-big-file一样,那么为什么磁盘I / O不能通过windows系统来实现呢?

所以我认为我已经削减到两个解决scheme。 我也不知道该怎么做。

  1. 某种情况下,如果不将虚拟机移动到不同的存储arrays,则可以在SAN的整个SSD部分上运行类似fstrim的function。

注意:如果我明白了我读过的所有东西,fstrim会查看每个数据块,看看数据是否存在,如果不需要的话,将不需要的数据块清零,当sdelete写入一个巨大的文件,然后删除它。 这就是为什么我要在3PAR的整个SSD部分寻找fstrim选项。

  1. 长,但我得到的错误与fstrim是:

[root @ rhtest〜]#fstrim -v / fstrim:/:丢弃操作不受支持

我已经读过丢弃选项需要在操作系统和数据存储上设置,但我不知道在3PAR上设置放弃选项的位置或方式,我同时拥有对3PAR的SSH和GUI访问权限。

我已经经历了无数的操作系统中设置丢弃的演练,无论我旋转多less种不同的方式,我总是得到同样的错误。

是的,我也看了其他选项zerofree是一个,和一些其他人不想到,但他们要么像zdelete工作,要么我读了他们是非常危险的,我看着hdparam等

下面我会把一些关于操作系统的输出结果都一样。

[root@rhtest ~]# hostnamectl Static hostname: rhtest.domain.com Icon name: computer-vm Chassis: vm Machine ID: f52e8e75ae704c579e2fbdf8e7a1d5ac Boot ID: 98ba6a02443d41cba9cf457acf5ed194 Virtualization: vmware Operating System: Red Hat Enterprise Linux Server 7.2 (Maipo) CPE OS Name: cpe:/o:redhat:enterprise_linux:7.2:GA:server Kernel: Linux 3.10.0-327.el7.x86_64 Architecture: x86-64 [root@rhtest ~]# blkid /dev/block/8:2: UUID="2OHGU8-ir1w-LLGB-6v72-zZqN-CIaX-FjGImJ" TYPE="LVM2_member" /dev/block/253:1: UUID="ad872f09-5147-4252-af56-aa6244219515" TYPE="xfs" /dev/block/8:1: UUID="83aac355-a443-4ff9-90fa-9f6da8e31cc2" TYPE="xfs" /dev/block/253:0: UUID="dbe56f6a-2a4a-42da-82e2-bef9a73caafb" TYPE="swap" [root@rhtest ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 50G 0 disk ââsda1 8:1 0 500M 0 part /boot ââsda2 8:2 0 49.5G 0 part âârhel_-rhtest-swap 253:0 0 2G 0 lvm [SWAP] âârhel_-rhtest-root 253:1 0 47.5G 0 lvm / sdb 8:16 0 50G 0 disk sr0 11:0 1 1024M 0 rom [root@rhtest ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/rhel_-rhtest-root 48G 883M 47G 2% / devtmpfs 991M 0 991M 0% /dev tmpfs 1001M 0 1001M 0% /dev/shm tmpfs 1001M 8.5M 993M 1% /run tmpfs 1001M 0 1001M 0% /sys/fs/cgroup /dev/sda1 497M 124M 374M 25% /boot tmpfs 201M 0 201M 0% /run/user/0 

能够在/分区上运行fstrim将是最好的解决scheme,然而,他们configurationESXi的方式是不可能的。

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

尝试使用xfs文件系统减小分区或逻辑卷的大小是不可能的,这是Fedora已知的一个错误。 如果您对此function感兴趣,请联系红帽支持部门并参考红帽bugzilla 1062667,并提供您需要XFS缩小/缩小的用例。

作为在某些环境中可能的解决方法,精简configuration的LVM卷可以被视为XFS文件系统下的附加层。

如果虚拟机需要密集configuration的VMDK,这意味着当您试图修剪(技术上说,SCSI UNMAP)卷时,没有什么可以回收的。

如果后端存储正在运行自动精简configuration,则还需要使用延迟归零VMDK文件,以减less存储空间,并使后端能够caching/重复删除热数据。

两种可能的select:

 1. When storage is provided by a remote server across a SAN, you can only discard blocks if the storage is thin provisioned. 1. VMotion all the VM's to a different data store and use the built-in VMWare tools 2. Connect to the ESXi Host with SSH 3. Navigate to the Virtual Machine Folder 4. Verify disk usage with du 5. Run vmkfstools -K [disk] 6. Verify disk usage with du 2. dd if=/dev/zero of=BIGFILE bs=1024000 rm -f BIGFILE 

从我可以告诉这个做与sdelete相同的事情,但它可以导致磁盘I / O的尖峰以及需要一段时间运行。

有事要过夜

任何一个选项都不是最好的,但重新格式化每个虚拟机,以获得ext3或ext4听起来不可行。

你可以做的是为所有的linux虚拟机设置一个关联规则,并使用上面的选项1。

您正在使用紧密configuration的VMDK,这意味着当您试图修剪(技术上讲,SCSI UNMAP)卷时,没有任何回收。

如果后端存储正在运行自动精简configuration,那么您还需要使用延迟归零VMDK文件,以减less存储空间,并使后端可以caching/删除热数据。