From 68c3502954bca1b5b63e4e1edc748fc61dd048e8 Mon Sep 17 00:00:00 2001 From: Fabian Deutsch Date: Sat, 12 Nov 2016 11:55:36 +0100 Subject: [PATCH 1/2] fc: Drop multipath.conf snippet A minimalistic multipath.conf got written, but it was useless, as it is unclear if multipathd is running and there was also no config reload triggered. This patch drops this snippet. In general it's probably a better idea to leave the multipath.conf to the component managing the host. Signed-off-by: Fabian Deutsch --- pkg/volume/fc/fc_util.go | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/pkg/volume/fc/fc_util.go b/pkg/volume/fc/fc_util.go index ab3c5ca45f8..629c56cace8 100644 --- a/pkg/volume/fc/fc_util.go +++ b/pkg/volume/fc/fc_util.go @@ -89,21 +89,6 @@ func findDisk(wwn, lun string, io ioHandler) (string, string) { return "", "" } -func createMultipathConf(path string, io ioHandler) { - if _, err := os.Lstat(path); err != nil { - data := []byte(`defaults { - find_multipaths yes - user_friendly_names yes -} - - -blacklist { -} -`) - io.WriteFile(path, data, 0664) - } -} - // rescan scsi bus func scsiHostRescan(io ioHandler) { scsi_path := "/sys/class/scsi_host/" @@ -148,8 +133,6 @@ func searchDisk(wwns []string, lun string, io ioHandler) (string, string) { break } // rescan and search again - // create multipath conf if it is not there - createMultipathConf("/etc/multipath.conf", io) // rescan scsi bus scsiHostRescan(io) rescaned = true From 2367d7de2f305f92fd4d5431b8d7c46ec58db26b Mon Sep 17 00:00:00 2001 From: Fabian Deutsch Date: Wed, 16 Nov 2016 09:47:33 +0100 Subject: [PATCH 2/2] volume: Document multipath configuration Add some lines about how to enable multipath for block storage. A new README was added, because multipath is relevant for at least FC and iSCSI. Signed-off-by: Fabian Deutsch --- pkg/volume/README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 pkg/volume/README.md diff --git a/pkg/volume/README.md b/pkg/volume/README.md new file mode 100644 index 00000000000..288900aa5f6 --- /dev/null +++ b/pkg/volume/README.md @@ -0,0 +1,27 @@ +## Multipath + +To leverage multiple paths for block storage, it is important to perform the +multipath configuration on the host. +If your distribution does not provide `/etc/multipath.conf`, then you can +either use the following minimalistic one: + + defaults { + find_multipaths yes + user_friendly_names yes + } + +or create a new one by running: + + $ mpathconf --enable + +Finally you'll need to ensure to start or reload and enable multipath: + + $ systemctl enable multipathd.service + $ systemctl restart multipathd.service + +**Note:** Any change to `multipath.conf` or enabling multipath can lead to +inaccessible block devices, because they'll be claimed by multipath and +exposed as a device in /dev/mapper/*. + +Some additional informations about multipath can be found in the +[iSCSI documentation](iscsi/README.md)