From b0abab17e3fa96ca973791a3afe077406d066035 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Tue, 8 Aug 2017 19:14:57 -0400 Subject: [PATCH] doc: tweaks for the RBD iSCSI configuration documentation Signed-off-by: Jason Dillaman --- doc/images/win2016_mpclaim_output.png | Bin 30182 -> 18464 bytes doc/rbd/iscsi-initiator-esx.rst | 7 ++++-- doc/rbd/iscsi-initiator-rhel.rst | 3 ++- doc/rbd/iscsi-initiator-win.rst | 18 +++++++-------- doc/rbd/iscsi-overview.rst | 9 ++++---- doc/rbd/iscsi-requirements.rst | 32 +++++++++++--------------- doc/rbd/iscsi-target-ansible.rst | 31 +++++++++++-------------- doc/rbd/iscsi-target-cli.rst | 21 ++++++++--------- doc/rbd/iscsi-targets.rst | 2 +- 9 files changed, 59 insertions(+), 64 deletions(-) mode change 100755 => 100644 doc/images/win2016_mpclaim_output.png diff --git a/doc/images/win2016_mpclaim_output.png b/doc/images/win2016_mpclaim_output.png old mode 100755 new mode 100644 index e3ff0c83cfe06c7faaa4eb4a35f6fe6a0fdd0a69..73e1e5ed2eabf2d8cd3e6ef083d281daf4d2f12b GIT binary patch literal 18464 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 diff --git a/doc/rbd/iscsi-initiator-esx.rst b/doc/rbd/iscsi-initiator-esx.rst index 2a0371e4d8c24..18dd5832289c6 100644 --- a/doc/rbd/iscsi-initiator-esx.rst +++ b/doc/rbd/iscsi-initiator-esx.rst @@ -11,6 +11,9 @@ The iSCSI Initiator for VMware ESX #. From vSphere, open the Storage Adapters, on the Configuration tab. Right click on the iSCSI Software Adapter and select Properties. +#. In the General tab click the "Advanced" button and in the "Advanced Settings" + set RecoveryTimeout to 25. + #. If CHAP was setup on the iSCSI gateway, in the General tab click the "CHAP…​" button. If CHAP is not being used, skip to step 4. @@ -25,9 +28,9 @@ The iSCSI Initiator for VMware ESX iSCSI software adapter. Select Yes. #. In the Details pane, the LUN on the iSCSI target will be displayed. Right click - on a device and select "Manage Paths": + on a device and select "Manage Paths". #. On the Manage Paths window, select “Most Recently Used (VMware)” for the policy - path selection. Close and repeat for the other disks: + path selection. Close and repeat for the other disks. Now the disks can be used for datastores. diff --git a/doc/rbd/iscsi-initiator-rhel.rst b/doc/rbd/iscsi-initiator-rhel.rst index 27f0b08781ad1..51248e46f7906 100644 --- a/doc/rbd/iscsi-initiator-rhel.rst +++ b/doc/rbd/iscsi-initiator-rhel.rst @@ -42,7 +42,8 @@ Install the iSCSI initiator and multipath tools: path_checker tur prio alua prio_args exclusive_pref_bit - no_path_retry 120 + fast_oi_fail_tmo 25 + no_path_retry queue } } diff --git a/doc/rbd/iscsi-initiator-win.rst b/doc/rbd/iscsi-initiator-win.rst index 0f63ffe889e68..08a1cfbde6f02 100644 --- a/doc/rbd/iscsi-initiator-win.rst +++ b/doc/rbd/iscsi-initiator-win.rst @@ -34,7 +34,7 @@ Configuring the MPIO load balancing policy, setting the timeout and retry options are using PowerShell with the ``mpclaim`` command. The reset is done in the MPIO tool. -.. NOTE:: +.. note:: It is recommended to increase the ``PDORemovePeriod`` option to 120 seconds from PowerShell. This value might need to be adjusted based on the application. When all paths are down, and 120 seconds @@ -54,13 +54,13 @@ reset is done in the MPIO tool. MSDSM-wide Load Balance Policy: Fail Over Only #. Using the MPIO tool, from the “Targets” tab, click on the - “Devices…​” button: + “Devices...” button. #. From the Devices window, select a disk and click the - “MPIO…​” button: + “MPIO...” button. #. On the "Device Details" window the paths to each target portal is - displayed. If using the ``ceph-iscsi-ansible`` setup method, the + displayed. If using the ``ceph-ansible`` setup method, the iSCSI gateway will use ALUA to tell the iSCSI initiator which path and iSCSI gateway should be used as the primary path. The Load Balancing Policy “Fail Over Only” must be selected @@ -69,8 +69,8 @@ reset is done in the MPIO tool. mpclaim -s -d $MPIO_DISK_ID -.. NOTE:: - For the ``ceph-iscsi-ansible`` setup method, there will be one +.. note:: + For the ``ceph-ansible`` setup method, there will be one Active/Optimized path which is the path to the iSCSI gateway node that owns the LUN, and there will be an Active/Unoptimized path for each other iSCSI gateway node. @@ -87,7 +87,7 @@ Consider using the following registry settings: :: - DiskTimeout = 25 + TimeOutValue = 65 - Microsoft iSCSI Initiator Driver @@ -96,5 +96,5 @@ Consider using the following registry settings: HKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\\Parameters :: - - SRBTimeoutDelta = 5 + LinkDownTime = 25 + SRBTimeoutDelta = 15 diff --git a/doc/rbd/iscsi-overview.rst b/doc/rbd/iscsi-overview.rst index 63b7f7c2187ff..a8c64e2069d60 100644 --- a/doc/rbd/iscsi-overview.rst +++ b/doc/rbd/iscsi-overview.rst @@ -9,10 +9,11 @@ to SCSI storage devices (targets) over a TCP/IP network. This allows for heterog clients, such as Microsoft Windows, to access the Ceph Storage cluster. Each iSCSI gateway runs the Linux IO target kernel subsystem (LIO) to provide the -iSCSI protocol support and utilizes the Ceph’s RBD kernel module to expose RBD -images to iSCSI clients. With Ceph’s iSCSI gateway you can effectively run a fully -integrated block-storage infrastructure with all the features and benefits of a -conventional Storage Area Network (SAN). +iSCSI protocol support. LIO utilizes a userspace passthrough (TCMU) to interact +with Ceph's librbd library and expose RBD images to iSCSI clients. With Ceph’s +iSCSI gateway you can effectively run a fully integrated block-storage +infrastructure with all the features and benefits of a conventional Storage Area +Network (SAN). .. ditaa:: Cluster Network diff --git a/doc/rbd/iscsi-requirements.rst b/doc/rbd/iscsi-requirements.rst index a3c0dd9023f3f..1ae19e06001cd 100644 --- a/doc/rbd/iscsi-requirements.rst +++ b/doc/rbd/iscsi-requirements.rst @@ -9,15 +9,20 @@ solution. For hardware recommendations, see the `Hardware Recommendation page `_ for more details. -.. WARNING:: +.. note:: On the iSCSI gateway nodes, the memory footprint of the RBD images can grow to a large size. Plan memory requirements accordingly based - off the number RBD images mapped. Each RBD image roughly uses 90 MB - of RAM. + off the number RBD images mapped. There are no specific iSCSI gateway options for the Ceph Monitors or -OSDs, but changing the ``osd_client_watch_timeout`` value to ``15`` is -required for each OSD node in the storage cluster. +OSDs, but it is important to lower the default timers for detecting +down OSDs to reduce the possibility of initiator timeouts. The following +configuration options are suggested for each OSD node in the storage +cluster:: + + [osd] + osd heartbeat grace = 20 + osd heartbeat interval = 5 - Online Updating Using the Ceph Monitor @@ -27,7 +32,8 @@ required for each OSD node in the storage cluster. :: - # ceph tell osd.0 injectargs '--osd_client_watch_timeout 15' + ceph tell osd.0 injectargs '--osd_heartbeat_grace 20' + ceph tell osd.0 injectargs '--osd_heartbeat_interval 5' - Online Updating on the OSD Node @@ -37,17 +43,7 @@ required for each OSD node in the storage cluster. :: - # ceph daemon osd.0 config set osd_client_watch_timeout 15 - - .. NOTE:: - Update the Ceph configuration file and copy it to all nodes in the - Ceph storage cluster. For example, the default configuration file is - ``/etc/ceph/ceph.conf``. Add the following lines to the Ceph - configuration file: - - :: - - [osd] - osd_client_watch_timeout = 15 + ceph daemon osd.0 config set osd_heartbeat_grace 20 + ceph daemon osd.0 config set osd_heartbeat_interval 5 For more details on setting Ceph's configuration options, see the `Configuration page `_. diff --git a/doc/rbd/iscsi-target-ansible.rst b/doc/rbd/iscsi-target-ansible.rst index 9a585f73bc85a..4169a9f42440e 100644 --- a/doc/rbd/iscsi-target-ansible.rst +++ b/doc/rbd/iscsi-target-ansible.rst @@ -11,23 +11,20 @@ install, and configure the Ceph iSCSI gateway for basic operation. - A running Ceph Luminous (12.2.x) cluster or newer -- The ``ceph-iscsi-config`` package installed on all the iSCSI gateway nodes +- RHEL/CentOS 7.4; or Linux kernel v4.14 or newer -.. NOTE:: - The ``device-mapper-multipath-0.4.9-99`` or newer package is only required for - older kernel RBD based implementations. This package is not required for newer - ``librbd`` based implementations. +- The ``ceph-iscsi-config`` package installed on all the iSCSI gateway nodes **Installing:** #. On the Ansible installer node, which could be either the administration node or a dedicated deployment node, perform the following steps: - #. As ``root``, install the ``ceph-iscsi-ansible`` package: + #. As ``root``, install the ``ceph-ansible`` package: :: - # yum install ceph-iscsi-ansible + # yum install ceph-ansible #. Add an entry in ``/etc/ansible/hosts`` file for the gateway group: @@ -37,13 +34,13 @@ install, and configure the Ceph iSCSI gateway for basic operation. ceph-igw-1 ceph-igw-2 -.. NOTE:: +.. note:: If co-locating the iSCSI gateway with an OSD node, then add the OSD node to the ``[ceph-iscsi-gw]`` section. **Configuring:** -The ``ceph-iscsi-ansible`` package places a file in the ``/usr/share/ceph-ansible/group_vars/`` +The ``ceph-ansible`` package places a file in the ``/usr/share/ceph-ansible/group_vars/`` directory called ``ceph-iscsi-gw.sample``. Create a copy of this sample file named ``ceph-iscsi-gw.yml``. Review the following Ansible variables and descriptions, and update accordingly. @@ -134,7 +131,7 @@ and update accordingly. | | across client connections. | +--------------------------------------+--------------------------------------+ -.. NOTE:: +.. note:: When using the ``gateway_iqn`` variable, and for Red Hat Enterprise Linux clients, installing the ``iscsi-initiator-utils`` package is required for retrieving the gateway’s IQN name. The iSCSI initiator name is located in the @@ -151,7 +148,7 @@ On the Ansible installer node, perform the following steps. # cd /usr/share/ceph-ansible # ansible-playbook ceph-iscsi-gw.yml - .. NOTE:: + .. note:: The Ansible playbook will handle RPM dependencies, RBD creation and Linux IO configuration. @@ -161,12 +158,12 @@ On the Ansible installer node, perform the following steps. # gwcli ls - .. NOTE:: + .. note:: For more information on using the ``gwcli`` command to install and configure a Ceph iSCSI gateaway, see the `Configuring the iSCSI Target using the Command Line Interface`_ section. - .. IMPORTANT:: + .. important:: Attempting to use the ``targetcli`` tool to change the configuration will result in the following issues, such as ALUA misconfiguration and path failover problems. There is the potential to corrupt data, to have mismatched @@ -207,7 +204,7 @@ Within the ``/usr/share/ceph-ansible/group_vars/ceph-iscsi-gw`` file there are a number of operational workflows that the Ansible playbook supports. -.. WARNING:: +.. warning:: Before removing RBD images from the iSCSI gateway configuration, follow the standard procedures for removing a storage device from the operating system. @@ -271,7 +268,7 @@ change across the iSCSI gateway nodes. **Removing the Configuration:** -The ``ceph-iscsi-ansible`` package provides an Ansible playbook to +The ``ceph-ansible`` package provides an Ansible playbook to remove the iSCSI gateway configuration and related RBD images. The Ansible playbook is ``/usr/share/ceph-ansible/purge_gateways.yml``. When this Ansible playbook is ran a prompted for the type of purge to @@ -290,11 +287,11 @@ When ``all`` is chosen, the LIO configuration is removed together with environment, other unrelated RBD images will not be removed. Ensure the correct mode is chosen, this operation will delete data. -.. WARNING:: +.. warning:: A purge operation is destructive action against your iSCSI gateway environment. -.. WARNING:: +.. warning:: A purge operation will fail, if RBD images have snapshots or clones and are exported through the Ceph iSCSI gateway. diff --git a/doc/rbd/iscsi-target-cli.rst b/doc/rbd/iscsi-target-cli.rst index 5a542596a1718..6da6f10e2ef62 100644 --- a/doc/rbd/iscsi-target-cli.rst +++ b/doc/rbd/iscsi-target-cli.rst @@ -11,7 +11,7 @@ install, and configure the Ceph iSCSI gateway for basic operation. - A running Ceph Luminous or later storage cluster -- CentOS 7.4, Linux kernel v4.12 or newer +- RHEL/CentOS 7.4; or Linux kernel v4.14 or newer - The following packages must be installed from your Linux distribution's software repository: @@ -19,9 +19,13 @@ install, and configure the Ceph iSCSI gateway for basic operation. - ``python-rtslib-2.1.fb64`` or newer package - - ``tcmu-runner-1.2.1`` or newer package + - ``tcmu-runner-1.3.0`` or newer package - .. IMPORTANT:: + - ``ceph-iscsi-config-2.3`` or newer package + + - ``ceph-iscsi-cli-2.5`` or newer package + + .. important:: If previous versions of these packages exist, then they must be removed first before installing the newer versions. @@ -66,13 +70,6 @@ to the *Installing* section: #. Edit the ``iscsi-gateway.cfg`` file and add the following lines: - :: - - [config] - cluster_name = - gateway_keyring = - api_secure = false - :: [config] @@ -104,7 +101,7 @@ to the *Installing* section: # api_port = 5001 # trusted_ip_list = 192.168.0.10,192.168.0.11 - .. IMPORTANT:: + .. important:: The ``iscsi-gateway.cfg`` file must be identical on all iSCSI gateway nodes. #. As ``root``, copy the ``iscsi-gateway.cfg`` file to all iSCSI @@ -152,7 +149,7 @@ to the *Installing* section: > auth chap=/ | nochap - .. WARNING:: + .. warning:: CHAP must always be configured. Without CHAP, the target will reject any login requests. diff --git a/doc/rbd/iscsi-targets.rst b/doc/rbd/iscsi-targets.rst index 498dcac1c7dea..b7dcac79f069a 100644 --- a/doc/rbd/iscsi-targets.rst +++ b/doc/rbd/iscsi-targets.rst @@ -8,7 +8,7 @@ within OpenStack environments. Starting with the Ceph Luminous release, block-level access is expanding to offer standard iSCSI support allowing wider platform usage, and potentially opening new use cases. -- CentOS 7.4 or newer +- RHEL/CentOS 7.4; or Linux kernel v4.14 or newer - A working Ceph Storage cluster, deployed with ``ceph-ansible`` or using the command-line interface -- 2.39.5