Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
Lustre 2.4.1
-
OpenSFS cluster with RHEL6 with combined MGS/MDS, single OSS with two OSTs, four Lustre 2.5 (Build #2) clients; one HSM Agent + client, one with robinhood/db running and two Lustre clients. Also one 2.4 (build #46) Lustre client.
-
11281
Description
When a 2.5 Lustre client archives and releases a file, a 2.4 client does not recognize that it is released. According to the test plan, 2.4 clients are supposed to fail with -ENODATA when the try to read/write to a released file.
Currently, the 2.4 client correctly reports that the released file is inaccessible rather than reporting false success and returning no data.
This ticket is to request that 2.4 clients recognize that a file is released and, if possible, restore the file.
In the following, c15 is the 2.4 client and c14 is the 2.5 client:
List Lustre file system contents on both clients:
[root@c14 ~]# ls -l /lustre/scratch total 3308 -rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz -rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz [root@c15 ~]# ls -l /lustre/scratch/ total 3308 -rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz -rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz
Check the state of the file, archive it, check state and then list directory contents on both clients to make sure nothing has changed:
[root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz /lustre/scratch/tet_vsxgen_3.02.tgz: (0x00000000) [root@c14 ~]# lfs hsm_archive --archive 1 /lustre/scratch/tet_vsxgen_3.02.tgz [root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz /lustre/scratch/tet_vsxgen_3.02.tgz: (0x00000009) exists archived, archive_id:1 [root@c14 ~]# ls -l /lustre/scratch total 3308 -rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz -rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz [root@c15 ~]# ls -l /lustre/scratch/ total 3308 -rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz -rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz
Now release the file and check state on the 2.5 client. Try and get details on the same file from the 2.4 client:
[root@c14 ~]# lfs hsm_release /lustre/scratch/tet_vsxgen_3.02.tgz [root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz /lustre/scratch/tet_vsxgen_3.02.tgz: (0x0000000d) released exists archived, archive_id:1 [root@c14 ~]# ls -l /lustre/scratch total 2189 -rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz -rw-r--r-- 1 root root 1146294 Oct 24 14:56 tet_vsxgen_3.02.tgz [root@c15 ~]# ls -l /lustre/scratch/ ls: cannot access /lustre/scratch/tet_vsxgen_3.02.tgz: Invalid argument total 2188 -rw-r--r-- 1 root root 2238063 Oct 24 14:56 lts_vsx-pcts2.0beta2.tgz -????????? ? ? ? ? ? tet_vsxgen_3.02.tgz [root@c15 ~]# ls -l /lustre/scratch/tet_vsxgen_3.02.tgz ls: cannot access /lustre/scratch/tet_vsxgen_3.02.tgz: Invalid argument [root@c15 ~]# md5sum /lustre/scratch/tet_vsxgen_3.02.tgz md5sum: /lustre/scratch/tet_vsxgen_3.02.tgz: Invalid argument
Restore the file and check the MD5 checksum on both clients:
[root@c14 ~]# lfs hsm_state /lustre/scratch/tet_vsxgen_3.02.tgz /lustre/scratch/tet_vsxgen_3.02.tgz: (0x0000000d) released exists archived, archive_id:1 [root@c14 ~]# md5sum /lustre/scratch/tet_vsxgen_3.02.tgz 4b2f49b05e74d19fa2165922583734ee /lustre/scratch/tet_vsxgen_3.02.tgz [root@c15 ~]# md5sum /lustre/scratch/tet_vsxgen_3.02.tgz 4b2f49b05e74d19fa2165922583734ee /lustre/scratch/tet_vsxgen_3.02.tgz