<div dir="ltr">Hello,<div>I have a cluster in RH EL 6.5 (I also have a case open fwiw...) where I'm using HA-LVM.</div><div>I made an upgrade of the storage array Netappp -> Netapp.</div><div>I was able to do it online without service disruption using pvmove.</div><div>As a side effect the destination storage array reports the target LUN as 100% used due to the pvmove operation itself and how it works.</div><div>The LUN is now thin provisioned but it was not when pvmove was executed, and running fstrim on the fs gives error</div><div><br></div><div><div>[root@dbatest1 ~]# fstrim /ALM/rdoffline</div><div>fstrim: /ALM/rdoffline: FITRIM ioctl failed: Operation not supported</div><div>[root@dbatest1 ~]# </div></div><div><br></div><div>The fs is on an LV with its PV on a multipath device</div><div><br></div><div><div>[root@dbatest1 ~]# df -h /ALM/rdoffline</div><div>Filesystem            Size  Used Avail Use% Mounted on</div><div>/dev/mapper/VG_ALMTEST_RDOF-LV_ALMTEST_RDOF</div><div>                       50G  1.9G   45G   4% /ALM/rdoffline</div><div><br></div><div>[root@dbatest1 ~]# pvs|grep VG_ALMTEST_RDOF</div><div>  /dev/mapper/3600a098038303769752b495147377858 VG_ALMTEST_RDOF lvm2 a--    50.00g    0 </div><div>[root@dbatest1 ~]#</div></div><div><br></div><div><div>[root@dbatest1 ~]# multipath -l /dev/mapper/3600a098038303769752b495147377858</div><div>3600a098038303769752b495147377858 dm-40 NETAPP,LUN C-Mode</div><div>size=50G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw</div><div>`-+- policy='round-robin 0' prio=0 status=active</div><div>  |- 7:0:5:14 sddt 71:176  active undef running</div><div>  `- 8:0:5:14 sdef 128:112 active undef running</div><div>[root@dbatest1 ~]# </div></div><div><br></div><div>At storage array level the LUN appears as 100% used even if it is almost empty</div><div>I found a way to do the fstrim and reclaim space at storage array level, but only giving downtime, with this sequence of steps:</div><div><br></div><div><div>1) rescan single paths of the multipath device</div><div>[root@dbatest1 ~]# for dev in sddt sdef; do echo "1" > /sys/block/${dev}/device/rescan; done<br></div><div><br></div><div>2) restart multipathd daemon</div><div><div>[root@dbatest1 ~]# service multipathd restart</div><div>ok</div><div>Stopping multipathd daemon:                                [  OK  ]</div><div>Starting multipathd daemon:                                [  OK  ]</div><div>[root@dbatest1 ~]# </div></div><div><br></div><div>3) disable/enable the cluster service that contains the fs resource where I operated 1) and 2)</div><div><div>[root@dbatest1 ~]# clusvcadm -d ALMTEST</div><div>Local machine disabling service:ALMTEST...Success</div><div><br></div><div>[root@dbatest1 ~]# clusvcadm -e ALMTEST</div><div>Local machine trying to enable service:ALMTEST...Success</div><div>service:ALMTEST is now running on icldbatest1</div><div>[root@dbatest1 ~]# </div></div><div><br></div><div>4) now fstrim works ok</div><div> [root@dbatest1 ~]# fstrim /ALM/rdoffline</div><div>[root@dbatest1 ~]# <br></div></div><div>(it takes about 10-20 seconds, depending on the work it has to do..)</div><div><br></div><div>It seems each of the 3 steps is necessary. If I don't execute one of them, I keep getting the error.</div><div><br></div><div>Is there a way to refresh the LVM part, without disabling the service, that corresponds to without deactivating/activating the LV?</div><div><br></div><div>I tried the --refresh option but it didn't work.</div><div><br></div><div>Thanks in advance,</div><div>Gianluca</div></div>