When testing the ZFS Snapshot with Subdir Mount, I found that the lctl snapshot_* command only works with ssh, with rsh, it returns error. I have tried with both snapshot_create and list, both return the same error.
1. with rsh, snapshot_create return error message but it did create the snapshot;
2. snapshot_list/destroy with rsh still don't work
[root@onyx-69 ~]# lctl snapshot_destroy -F lustre -n test
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test
cannot open 'lustre-mdt1/mdt1@test': dataset does not exist
Can't list the snapshot test
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r rsh
bash: zfs: command not found
bash: zfs: command not found
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test
filesystem_name: lustre
snapshot_name: test
snapshot_fsname: 0cb2593
modify_time: Thu Jul 20 22:14:52 2017
create_time: Thu Jul 20 22:14:52 2017
status: not mount
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r rsh
bash: zfs: command not found
Can't list the snapshot test
[root@onyx-69 ~]# lctl snapshot_destroy -F lustre -n test -r rsh
bash: zfs: command not found
Can't destroy the snapshot test
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r ssh
filesystem_name: lustre
snapshot_name: test
snapshot_fsname: 0cb2593
modify_time: Thu Jul 20 22:14:52 2017
create_time: Thu Jul 20 22:14:52 2017
status: not mount
[root@onyx-69 ~]# lctl snapshot_destroy -F lustre -n test -r ssh
[root@onyx-69 ~]#
Sarah Liu
added a comment - Here is the problem of patch #7
1. with rsh, snapshot_create return error message but it did create the snapshot;
2. snapshot_list/destroy with rsh still don't work
[root@onyx-69 ~]# lctl snapshot_destroy -F lustre -n test
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test
cannot open 'lustre-mdt1/mdt1@test': dataset does not exist
Can't list the snapshot test
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r rsh
bash: zfs: command not found
bash: zfs: command not found
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test
filesystem_name: lustre
snapshot_name: test
snapshot_fsname: 0cb2593
modify_time: Thu Jul 20 22:14:52 2017
create_time: Thu Jul 20 22:14:52 2017
status: not mount
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r rsh
bash: zfs: command not found
Can't list the snapshot test
[root@onyx-69 ~]# lctl snapshot_destroy -F lustre -n test -r rsh
bash: zfs: command not found
Can't destroy the snapshot test
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r ssh
filesystem_name: lustre
snapshot_name: test
snapshot_fsname: 0cb2593
modify_time: Thu Jul 20 22:14:52 2017
create_time: Thu Jul 20 22:14:52 2017
status: not mount
[root@onyx-69 ~]# lctl snapshot_destroy -F lustre -n test -r ssh
[root@onyx-69 ~]#
can the PATH set to include both? I got following error..
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r rsh
sh: rsh: command not found
sh: rsh: command not found
Can't create the snapshot test
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r ssh
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r ssh
filesystem_name: lustre
snapshot_name: test
snapshot_fsname: 5aa1a00
modify_time: Wed Jul 19 23:05:29 2017
create_time: Wed Jul 19 23:05:29 2017
status: not mount
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r rsh
sh: rsh: command not found
Can't list the snapshot test
[root@onyx-69 ~]#
Sarah Liu
added a comment - can the PATH set to include both? I got following error..
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r rsh
sh: rsh: command not found
sh: rsh: command not found
Can't create the snapshot test
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r ssh
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r ssh
filesystem_name: lustre
snapshot_name: test
snapshot_fsname: 5aa1a00
modify_time: Wed Jul 19 23:05:29 2017
create_time: Wed Jul 19 23:05:29 2017
status: not mount
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r rsh
sh: rsh: command not found
Can't list the snapshot test
[root@onyx-69 ~]#
the rsh still doesn't work, the same error as before
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r ssh
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r rsh
bash: zfs: command not found
Can't list the snapshot test
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test
filesystem_name: lustre
snapshot_name: test
modify_time: Tue Jul 18 17:38:29 2017
snapshot_fsname: 19d3a51
create_time: Tue Jul 18 17:38:29 2017
status: not mount
Sarah Liu
added a comment - the rsh still doesn't work, the same error as before
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r ssh
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test -r rsh
bash: zfs: command not found
Can't list the snapshot test
[root@onyx-69 ~]# lctl snapshot_list -F lustre -n test
filesystem_name: lustre
snapshot_name: test
modify_time: Tue Jul 18 17:38:29 2017
snapshot_fsname: 19d3a51
create_time: Tue Jul 18 17:38:29 2017
status: not mount
the patch doesn't work, even the ssh fails with syntax error.
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test
ss: bison bellows (while parsing filter): "syntax error!" Sorry.
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h, --help this message
-V, --version output version information
-n, --numeric don't resolve service names
-r, --resolve resolve host names
-a, --all display all sockets
-l, --listening display listening sockets
-o, --options show timer information
-e, --extended show detailed socket information
-m, --memory show socket memory usage
-p, --processes show process using socket
-i, --info show internal TCP information
-s, --summary show socket usage summary
-b, --bpf show bpf filter socket information
-Z, --context display process SELinux security contexts
-z, --contexts display process and socket SELinux security contexts
-N, --net switch to the specified network namespace name
-4, --ipv4 display only IP version 4 sockets
-6, --ipv6 display only IP version 6 sockets
-0, --packet display PACKET sockets
-t, --tcp display only TCP sockets
-u, --udp display only UDP sockets
-d, --dccp display only DCCP sockets
-w, --raw display only RAW sockets
-x, --unix display only Unix domain sockets
-f, --family=FAMILY display sockets of type FAMILY
-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink}[,QUERY]
-D, --diag=FILE Dump raw information about TCP sockets to FILE
-F, --filter=FILE read filter information from FILE
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listen|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}
ss: bison bellows (while parsing filter): "syntax error!" Sorry.
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h, --help this message
-V, --version output version information
-n, --numeric don't resolve service names
-r, --resolve resolve host names
-a, --all display all sockets
-l, --listening display listening sockets
-o, --options show timer information
-e, --extended show detailed socket information
-m, --memory show socket memory usage
-p, --processes show process using socket
-i, --info show internal TCP information
-s, --summary show socket usage summary
-b, --bpf show bpf filter socket information
-Z, --context display process SELinux security contexts
-z, --contexts display process and socket SELinux security contexts
-N, --net switch to the specified network namespace name
-4, --ipv4 display only IP version 4 sockets
-6, --ipv6 display only IP version 6 sockets
-0, --packet display PACKET sockets
-t, --tcp display only TCP sockets
-u, --udp display only UDP sockets
-d, --dccp display only DCCP sockets
-w, --raw display only RAW sockets
-x, --unix display only Unix domain sockets
-f, --family=FAMILY display sockets of type FAMILY
-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink}[,QUERY]
-D, --diag=FILE Dump raw information about TCP sockets to FILE
-F, --filter=FILE read filter information from FILE
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listen|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}
Can't create the snapshot test
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r rsh
sh: rs: command not found
sh: rs: command not found
Can't create the snapshot test
[root@onyx-69 ~]#
Sarah Liu
added a comment - the patch doesn't work, even the ssh fails with syntax error.
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test
ss: bison bellows (while parsing filter): "syntax error!" Sorry.
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h, --help this message
-V, --version output version information
-n, --numeric don't resolve service names
-r, --resolve resolve host names
-a, --all display all sockets
-l, --listening display listening sockets
-o, --options show timer information
-e, --extended show detailed socket information
-m, --memory show socket memory usage
-p, --processes show process using socket
-i, --info show internal TCP information
-s, --summary show socket usage summary
-b, --bpf show bpf filter socket information
-Z, --context display process SELinux security contexts
-z, --contexts display process and socket SELinux security contexts
-N, --net switch to the specified network namespace name
-4, --ipv4 display only IP version 4 sockets
-6, --ipv6 display only IP version 6 sockets
-0, --packet display PACKET sockets
-t, --tcp display only TCP sockets
-u, --udp display only UDP sockets
-d, --dccp display only DCCP sockets
-w, --raw display only RAW sockets
-x, --unix display only Unix domain sockets
-f, --family=FAMILY display sockets of type FAMILY
-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink}[,QUERY]
-D, --diag=FILE Dump raw information about TCP sockets to FILE
-F, --filter=FILE read filter information from FILE
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listen|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}
ss: bison bellows (while parsing filter): "syntax error!" Sorry.
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h, --help this message
-V, --version output version information
-n, --numeric don't resolve service names
-r, --resolve resolve host names
-a, --all display all sockets
-l, --listening display listening sockets
-o, --options show timer information
-e, --extended show detailed socket information
-m, --memory show socket memory usage
-p, --processes show process using socket
-i, --info show internal TCP information
-s, --summary show socket usage summary
-b, --bpf show bpf filter socket information
-Z, --context display process SELinux security contexts
-z, --contexts display process and socket SELinux security contexts
-N, --net switch to the specified network namespace name
-4, --ipv4 display only IP version 4 sockets
-6, --ipv6 display only IP version 6 sockets
-0, --packet display PACKET sockets
-t, --tcp display only TCP sockets
-u, --udp display only UDP sockets
-d, --dccp display only DCCP sockets
-w, --raw display only RAW sockets
-x, --unix display only Unix domain sockets
-f, --family=FAMILY display sockets of type FAMILY
-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink}[,QUERY]
-D, --diag=FILE Dump raw information about TCP sockets to FILE
-F, --filter=FILE read filter information from FILE
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listen|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listen|closing}
Can't create the snapshot test
[root@onyx-69 ~]# lctl snapshot_create -F lustre -n test -r rsh
sh: rs: command not found
sh: rs: command not found
Can't create the snapshot test
[root@onyx-69 ~]#
updated the patch as set 8, and simply tested it on onyx-69/70.