[LU-17008] improve man and help of lfs-stripe command about overstripe Created: 01/Aug/23  Updated: 01/Aug/23

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Shuichi Ihara Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: None

Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

'lfs stripe -o 0-3,0-3 <DIR>' allowed  today and it enables overstriping across OST0-3 automatically.

# mkdir out
# lfs getstripe out  out
stripe_count:  1 stripe_size:   1048576 pattern:       0 stripe_offset: -1

# lfs setstripe -o 0-3,0-3 out  [root@ec01 exafs]# lfs getstripe out  out
stripe_count:  8 stripe_size:   1048576 pattern:       raid0,overstriped stripe_offset: 0

this is a useful option, but, command help didn't mention about that.

 ost_indices:  List of OST indices, can be repeated multiple times
              Indices be specified in a format of:
                -o <ost_1>,<ost_i>-<ost_j>,<ost_n>
              Or:
                -o <ost_1> -o <ost_i>-<ost_j> -o <ost_n>
              If --pool is set with --ost then the OSTs
              must be the members of the pool.

it would be better to add about overstriping and an example.



 Comments   
Comment by Andreas Dilger [ 01/Aug/23 ]

Also, the "lfs getstripe" on the directory with the specific layout is not very clear. It shows only the stripe_count and stripe_offset, but doesn't actually show that this is picking specific OSTs.

Comment by Andreas Dilger [ 01/Aug/23 ]

Using a PFL layout appears not to preserve the specific OSTs in the directory default layout, unlike the plain layout above:

$ lfs setstripe -E 1M -c 1 -E 16G -o 3,2,1 -c 3 -E eof -c -1 /myth/tmp/adilger/pfldir
$ touch /myth/tmp/adilger/pfldir/pflfile
$ dd if=/dev/zero of=/myth/tmp/adilger/pfldir/pflfile bs=1M count=1 seek=17k   
$ lfs getstripe /myth/tmp/adilger/pfldir/pflfile
/myth/tmp/adilger/pfldir/pflfile
  lcm_layout_gen:    4
  lcm_mirror_count:  1
  lcm_entry_count:   3
    lcme_id:             1
    lcme_mirror_id:      0
    lcme_flags:          init
    lcme_extent.e_start: 0
    lcme_extent.e_end:   1048576
      lmm_stripe_count:  1
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: 1
      lmm_objects:
      - 0: { l_ost_idx: 1, l_fid: [0x100010000:0x283f79:0x0] }

    lcme_id:             2
    lcme_mirror_id:      0
    lcme_flags:          init
    lcme_extent.e_start: 1048576
    lcme_extent.e_end:   17179869184
      lmm_stripe_count:  3
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: 3
      lmm_objects:
      - 0: { l_ost_idx: 3, l_fid: [0x100030000:0x2d9d42:0x0] }
      - 1: { l_ost_idx: 2, l_fid: [0x100020000:0x4a930c:0x0] }
      - 2: { l_ost_idx: 1, l_fid: [0x100010000:0x283f7a:0x0] }

    lcme_id:             3
    lcme_mirror_id:      0
    lcme_flags:          init
    lcme_extent.e_start: 17179869184
    lcme_extent.e_end:   EOF
      lmm_stripe_count:  5
      lmm_stripe_size:   1048576
      lmm_pattern:       raid0
      lmm_layout_gen:    0
      lmm_stripe_offset: 0
      lmm_objects:
      - 0: { l_ost_idx: 0, l_fid: [0x100000000:0x2b646a:0x0] }
      - 1: { l_ost_idx: 2, l_fid: [0x100020000:0x4a930d:0x0] }
      - 2: { l_ost_idx: 3, l_fid: [0x100030000:0x2d9d43:0x0] }
      - 3: { l_ost_idx: 4, l_fid: [0x100040000:0x40ed8f:0x0] }
      - 4: { l_ost_idx: 1, l_fid: [0x100010000:0x283f7b:0x0] }
Generated at Sat Feb 10 03:31:50 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.