You can prevent the host from accessing storage devices or LUNs or from using individual paths to a LUN. Use the esxcli commands to mask the paths. When you mask paths, you create claim rules that assign the MASK_PATH plug-in to the specified paths.

Before you begin

Install vCLI or deploy the vSphere Management Assistant (vMA) virtual machine. See Getting Started with vSphere Command-Line Interfaces. For troubleshooting, run esxcli commands in the ESXi Shell.

About this task

In the procedure, --server=server_name specifies the target server. The specified target server prompts you for a user name and password. Other connection options, such as a configuration file or session file, are supported. For a list of connection options, see Getting Started with vSphere Command-Line Interfaces.

Procedure

  1. Check what the next available rule ID is.

    esxcli --server=server_name storage core claimrule list

    The claim rules that you use to mask paths have rule IDs in the range from 101 through 200. If this command shows that rules 101 and 102 exist, you can specify 103 for the rule to add.

  2. Assign the MASK_PATH plug-in to a path by creating a new claim rule for the plug-in.

    esxcli --server=server_name storage core claimrule add -P MASK_PATH

  3. Load the MASK_PATH claim rule into your system.

    esxcli --server=server_name storage core claimrule load

  4. Verify that the MASK_PATH claim rule was added correctly.

    esxcli --server=server_name storage core claimrule list

  5. If a claim rule for the masked path exists, remove the rule.

    esxcli --server=server_name storage core claiming unclaim

  6. Run the path claiming rules.

    esxcli --server=server_name storage core claimrule run

Results

After you assign the MASK_PATH plug-in to a path, the path state becomes irrelevant and is no longer maintained by the host. As a result, commands that display the masked path's information might show the path state as dead.

Masking a LUN

In this example, you mask the LUN 20 on targets T1 and T2 accessed through storage adapters vmhba2 and vmhba3.

  1. #esxcli --server=server_name storage core claimrule list
  2. #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 109 -t location -A vmhba2 -C 0 -T 1 -L 20 
    #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 110 -t location -A vmhba3 -C 0 -T 1 -L 20 
    #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 111 -t location -A vmhba2 -C 0 -T 2 -L 20 
    #esxcli --server=server_name storage core claimrule add -P MASK_PATH -r 112 -t location -A vmhba3 -C 0 -T 2 -L 20
  3. #esxcli --server=server_name storage core claimrule load
  4. #esxcli --server=server_name storage core claimrule list
  5. #esxcli --server=server_name storage core claiming unclaim -t location -A vmhba2 
    #esxcli --server=server_name storage core claiming unclaim -t location -A vmhba3
  6. #esxcli --server=server_name storage core claimrule run