cdomingos.multipath
AnsibleããŒã«: ãã«ããã¹ (DM ãã«ããã¹)
ãã®AnsibleããŒã«ã¯ãBoot from SAN ãŸã㯠Local Boot ã·ããªãªã«ãããŠãLinuxã®ãã€ãã£ããã«ããã¹ãœãããŠã§ã¢ (DM ãã«ããã¹) ãé©åã«å±éããã³èšå®ããŸãã
ãã®ãã«ããã¹AnsibleããŒã«ã¯ä»¥äžã®ããšãã§ããŸã:
- 補åããã¥ã¡ã³ãããã³æ¥çã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠDMãã«ããã¹ãèšå®
- ãã©ã€ããŒãã©ã¡ãŒã¿ãèšå®
èŠå
ãã®ããŒã«ã¯DMãã«ããã¹ã®èšå®ã眮ãæããŸã
以åã®èšå®ã¯äžæžããããŸãã®ã§ãããŒã«å€æ°ã»ã¯ã·ã§ã³ã®multipath_backup_permanent
ã確èªããŠãã ããã
ãã®èšå®ã¯ä»¥äžã®ãã£ã¬ã¯ããªãšèšå®ãã¡ã€ã«ã«åœ±é¿ããŸã:
/etc/multipath/
/etc/multipath.conf
管çãã¹ããåèµ·ååŸã«åé¡ãçºçããå Žåãinitramfsã®ãšã©ãŒã«ãã Kernel panic on boot following "dracut Warning: LVM rootvg/rootlv not found"
ã«ãªããŸãã
ãã®å Žåã«ã¯ä»¥äžããå§ãããŸã:
- ãªã«ããªãŒISOã€ã¡ãŒãžã䜿çšããŠã·ã¹ãã ãåèµ·åããŸãã
- äž»ãªãã¡ã€ã«ãå
ã«æ»ããŸãïŒ
- /boot/<original-initramfs>.img.ansible_multipath
- /etc/fstab.ansible_multipath
- /etc/lvm/lvm.conf.ansible_multipath
泚æ: ã·ã¹ãã ãéçšç¶æ
ã«æ»ãæ¹æ³ã¯ããã€ããããŸããã«ãŒãã«ããŒããã©ã¡ãŒã¿ã® rdshell
ãŸã㯠rd.shell
ãš rhgb
ã quiet
ã®åé€ã«ããå£ããinitramfsããã©ãã«ã·ã¥ãŒãã§ããŸãã
ã©ããã£ãŠåäœããŸããïŒ
äºã€ã®äž»èŠãªã¹ããŒãžããããŸãïŒäºåèšå® ãš èšå®ã
äºåèšå®ã¹ããŒãžã§ã¯ããã®ããŒã«ã¯ä»¥äžã®ããšãè¡ããŸãïŒããã±ãŒãžã®ã€ã³ã¹ããŒã«ã宣èšãããŠããã°ãã·ã¹ãã ã®å€æŽã¯ãããŸããïŒïŒ
- device-mapper-multipathããã±ãŒãžãã€ã³ã¹ããŒã«ãããŠããã確èª
- /bootããŠã³ãããããã¡ã€ã«ã·ã¹ãã ã®ããã€ã¹ã®ããããã£ãååŸ
- /bootããŠã³ãããããã¡ã€ã«ã·ã¹ãã ã®å®éã®ãã£ã¹ã¯ããã€ã¹ãçºèŠ
- çºèŠãããå®éã®ããŒããã£ã¹ã¯ããã€ã¹ã«åºã¥ããŠããã³ããŒãšã¢ãã«ãããã©ã€ããããŒã
- ããŒããã£ã¹ã¯ããã€ã¹ã®ãã©ã€ãã«åºã¥ããŠæ§æã®ã¿ã€ããèªåéžæ (Boot from SAN?)
- GRUBã®ããã©ã«ãã«ãŒãã«ãšinitramfsãååŸ
- Boot from SANãŸãã¯Local Bootã·ããªãªã®æ€èšŒãããŒã
- å®éã®ãã£ã¹ã¯ããã€ã¹ã«æ¬äŒŒåãå®çŸ©
- LVMãã£ã«ã¿ãå®çŸ©
èšå®ã¹ããŒãžã§ã¯ããã®ããŒã«ã¯ä»¥äžã®ããšãè¡ããŸãïŒã·ã¹ãã ã®å€æŽïŒïŒ
- /etc/fstabãçŸåšã®initramfsã/etc/lvm/lvm.confãªã©ã®ããã€ãã®ã·ã¹ãã ãã¡ã€ã«ãããã¯ã¢ãã
- çŸåšã®DMãã«ããã¹èšå®ãã¡ã€ã«ãåé€
- åæã®/etc/multipath.confãã¡ã€ã«ãäœæ
- /etc/multipath.confãã¡ã€ã«ãèšå®ããææ³ããšã©ãŒã確èª
- /etc/fstabãèšå®
- LVMãã£ã«ã¿ãèšå®ããææ³ããšã©ãŒã確èª
- modprobeãã¡ã€ã«ãèšå®ããææ³ããšã©ãŒã確èª
- initramfsãèšå®ãããšã©ãŒã確èª
- ãšã©ãŒãçºçããå Žåã¯è¿œå ãã¡ã€ã«ãåé€ãã以åã®ããã¯ã¢ããã䜿çšããŠã·ã¹ãã ãã¡ã€ã«ãããŒã«ããã¯
- ã·ã¹ãã ãåèµ·å
- 以åã®ããã¯ã¢ããã·ã¹ãã ãã¡ã€ã«ãåé€
èŠä»¶
ãã¬ã€ããã¯ã¯ become: yes
ãŸãã¯åçã®ã«ãŒãæš©éããã³ gather_facts: yes
ã§å®è¡ããå¿
èŠããããŸãã
- Ansible Engine 2.7.1+
ããŒã«ã®å€æ°
ãã«ããã¹ããŒã«ã¯ãmultipath_
ã§å§ãŸã倿°ã§æ§æãããŠããŸãã
倿°ã®äžèЧïŒ
倿° | å | 説æ |
---|---|---|
multipath_setup_pseudodevname |
æåå (å¿ é ) | DMãã«ããã¹ã§ç®¡çãããããŒããã£ã¹ã¯çšã®æ¬äŒŒããã€ã¹å (ãšã€ãªã¢ã¹)ãå®çŸ© |
multipath_package_install |
ããŒã«å€ (ä»»æ) | ååšããªãå Žåãdevice-mapper-multipathããã±ãŒãžãã€ã³ã¹ããŒã« |
multipath_package_upgrade |
ããŒã«å€ (æšå¥š) | device-mapper-multipathããã±ãŒãžãã¢ããã°ã¬ãŒãïŒãŸãã¯ã€ã³ã¹ããŒã«ïŒ |
multipath_preserve_currentfiles |
ããŒã«å€ (æšå¥š) | èšå®ã¹ããŒãžã®åã«çŸåšã®DMãã«ããã¹èšå®ãã¡ã€ã«ã®æä¹ çãªã³ããŒãäœæ |
multipath_reboot_allow |
ããŒã«å€ (æšå¥š) | ãã®ããŒã«ã«ç®¡çããŒããåèµ·åããããšãèš±å¯ |
multipath_reboot_timeoutguest |
æŽæ° (ä»»æ) | 管çãããã²ã¹ãã·ã¹ãã ããªã³ã©ã€ã³ã«ãªããŸã§ã®æå€§åŸ æ©æéïŒç§ïŒ |
multipath_reboot_timeoutbaremetal |
æŽæ° (ä»»æ) | 管çããããã¢ã¡ã¿ã«ã·ã¹ãã ããªã³ã©ã€ã³ã«ãªããŸã§ã®æå€§åŸ æ©æéïŒç§ïŒ |
multipath_modprobe_custom |
ãªã¹ã (ä»»æ) | ããŒãããã€ã¹ãã£ã¹ã¯ãã³ããŒãã¢ãã«ã«é¢é£ãããã©ã€ããŒãã©ã¡ãŒã¿ãããŒããå®çŸ© |
multipath_configfile_commentlines |
ããŒã«å€ (ä»»æ) | mpathconfããŒã«ãåæèšå®ãã¡ã€ã«ãäœæããåŸã/etc/multipath.confã®ãã¹ãŠã®è¡ãã³ã¡ã³ãã¢ãŠã |
multipath_configfile_bybasic |
ããŒã«å€ (ä»»æ) | åºæ¬çã§æ©èœçãªèšå®ã䜿çšããŠ/etc/multipath.confãã¡ã€ã«ãäžæžã |
multipath_configfile_bytemplate |
ããŒã«å€ (ä»»æ) | äºåå®çŸ©ãããããŒã«ãã³ãã¬ãŒãã䜿çšããŠ/etc/multipath.confãã¡ã€ã«ãäžæžã |
multipath_configfile_byusertemplate |
æåå (ä»»æ) | ã«ã¹ã¿ã ãŠãŒã¶ãŒãã³ãã¬ãŒããã¡ã€ã«ã䜿çšããŠ/etc/multipath.confãã¡ã€ã«ãäžæžã |
multipath_configfile_bysections |
æåå (ä»»æ) | /etc/multipath.confãã¡ã€ã«ã«ã«ã¹ã¿ã ã»ã¯ã·ã§ã³ãå«ãã |
multipath_configfile_defaults |
ãªã¹ã (ä»»æ) | /etc/multipath.confã® "defaults {" ã»ã¯ã·ã§ã³ã«äœåãªãã©ã¡ãŒã¿ãå«ãã |
multipath_debug_sysfilecontent |
ããŒã«å€ (ä»»æ) | èšå®åŸã®ã¿ã¹ã¯ïŒäŸïŒåèµ·åïŒã®åã«å€æŽãããã·ã¹ãã ãã¡ã€ã«ã®å 容ã衚瀺 |
multipath_debug_showvariables |
ããŒã«å€ (æšå¥š) | ããŒã«ã®å€æ°ãšãã®å€ã衚瀺 |
(å¿
é ) - å¿
é
(æšå¥š) - æšå¥š
(ä»»æ) - ä»»æ
* - ããã©ã«ãå€ãé©çšãããŸãïŒdefaults/main.yml
ãåç
§ïŒ
倿°ã®è©³çްãªèª¬æïŒ
multipath_setup_pseudodevname
: DMãã«ããã¹ã§ç®¡çãããããŒããã£ã¹ã¯ã®æ¬äŒŒããã€ã¹å (ãšã€ãªã¢ã¹)ãå®çŸ©ããŸãïŒäŸïŒ/dev/mapper/bootLUNïŒå: æåå
圱é¿ãåãããã¡ã€ã«:
- /etc/fstab
- /etc/multipath.conf
äŸ:
multipath_setup_pseudodevname: bootLUN
泚æ: "p"ãæ°åã¯äœ¿çšããªãã§ãã ããã
multipath_package_install
: ååšããªãå Žåãdevice-mapper-multipathããã±ãŒãžãã€ã³ã¹ããŒã«ããŸããå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_package_install: yes
multipath_package_upgrade
: device-mapper-multipathããã±ãŒãžãã¢ããã°ã¬ãŒãïŒãŸãã¯ã€ã³ã¹ããŒã«ïŒããŸããå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_package_upgrade: yes
multipath_preserve_currentfiles
: èšå®ã¹ããŒãžã®åã«ã/etc/multipath.confã/etc/multipath/ãªã©çŸåšã®DMãã«ããã¹èšå®ãã¡ã€ã«ã®æä¹ çãªã³ããŒãäœæããŸããå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_preserve_currentfiles: yes
泚æ: ä¿æããããã¡ã€ã«ã¯ /etc/multipath.conf.ansible_multipath ããã³ /etc/multipath.ansible_multipath/ ãšããŠä¿åãããŸããäžåºŠãããã®ãã¡ã€ã«ãã³ããŒããããšãããŒã«ã¯ããäºåºŠãšãããã«è§Šããããšã¯ãããŸããããã£ã¬ã¯ããªã«å¯ŸããŠã¯è¿œå ã¢ãŒããšããŠæ©èœããŸãã
multipath_reboot_allow
: ãã®ããŒã«ã«ç®¡çããŒããåèµ·åããããšãèš±å¯ããŸããå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_reboot_allow: yes
multipath_reboot_timeoutguest
: 管çãããã²ã¹ãã·ã¹ãã ããªã³ã©ã€ã³ã«ãªããŸã§ã®æå€§åŸ æ©æéïŒç§ïŒãèšå®ããŸããå: æŽæ°
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_reboot_timeoutguest: 300
multipath_reboot_timeoutbaremetal
: 管çããããã¢ã¡ã¿ã«ã·ã¹ãã ããªã³ã©ã€ã³ã«ãªããŸã§ã®æå€§åŸ æ©æéïŒç§ïŒãèšå®ããŸããå: æŽæ°
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_reboot_timeoutbaremetal: 1800
multipath_modprobe_custom
: ããŒãããã€ã¹ãã£ã¹ã¯ãã³ããŒãã¢ãã«ã«é¢é£ãããã©ã€ããŒãã©ã¡ãŒã¿ãããŒããå®çŸ©ããŸããã¢ãžã¥ãŒã«åã«åºã¥ããŠmodprobeãã¡ã€ã«ãçæããŸãã- ãšã³ã¿ãŒãã©ã€ãºã¹ãã¬ãŒãžã¢ã¬ã€ãã³ããŒã«é¢ããæ¥ç¶ã¬ã€ããåç §ããŠãã ãããå: ãªã¹ã
圱é¿ãåãããã¡ã€ã«:
- /etc/modprobe.d/<module-name>.conf
äŸ:
multipath_modprobe_custom: - module: lpfc params: lpfc_max_luns=65535 lpfc_devloss_tmo=10 vendor: EMC model: any - module: lpfc params: lpfc_max_luns=65535 lpfc_devloss_tmo=14 lpfc_lun_queue_depth=16 lpfc_discovery_threads=32 vendor: 3PARdata model: VV - module: qla2xxx params: ql2xmaxlun=65535 qlport_down_retry=14 ql2xmaxqdepth=16 vendor: 3PARdata model: VV - module: scsi_transport_fc params: dev_loss_tmo=10 vendor: any model: any
泚æ: "any" ã®å€ã䜿çšãããšããã©ã€ããŒã®ãã©ã¡ãŒã¿ãããŒããã£ã¹ã¯ããã€ã¹ã®ãã©ã€ãããã§ãã¯ããã«èª¿æŽãããŸãã
multipath -t
ã䜿çšããŠå®å šãªããã€ã¹ãªã¹ããååŸã§ããŸãã
multipath_configfile_commentlines
: mpathconfããŒã«ãåæèšå®ãã¡ã€ã«ãäœæããåŸã/etc/multipath.confã®ãã¹ãŠã®è¡ãã³ã¡ã³ãã¢ãŠãããŸããå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«:
- /etc/multipath.conf
äŸ:
multipath_configfile_commentlines: yes
multipath_configfile_bybasic
: åºæ¬çã§æ©èœçãªèšå®ã䜿çšããŠ/etc/multipath.confãã¡ã€ã«ãäžæžãããŸãïŒå ã®ãã¡ã€ã«ã®ã³ã¡ã³ãã¯ä¿æãããŸããïŒãå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«:
- /etc/multipath.conf
äŸåé¢ä¿:
multipath_configfile_commentlines: yes
äŸ:
multipath_configfile_bybasic: yes
multipath_configfile_bytemplate
: äºåå®çŸ©ãããããŒã«ãã³ãã¬ãŒãã䜿çšããŠ/etc/multipath.confãã¡ã€ã«ãäžæžãããŸãïŒå ã®ãã¡ã€ã«ã®ã³ã¡ã³ãã¯ä¿æãããŸãïŒãå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«:
- /etc/multipath.conf
äŸ:
multipath_configfile_bytemplate: yes
multipath_configfile_byusertemplate
: ã«ã¹ã¿ã ãŠãŒã¶ãŒãã³ãã¬ãŒããã¡ã€ã«ã䜿çšããŠ/etc/multipath.confãã¡ã€ã«ãäžæžãããŸãããã®ãã¡ã€ã«ã¯ãã¬ã€ããã¯ã®ãã£ã¬ã¯ããªã¬ãã«ãã'templates'ã«é 眮ãããŠããå¿ èŠããããŸãããŸããããŒã«ãã¡ã¯ãã䜿çšããããšãå¯èœã§ããäŸïŒ'templates/bootfromsan_multipath.conf.j2'ãã¡ã€ã«ãå: æåå (ãã¡ã€ã«ãã¹)
圱é¿ãåãããã¡ã€ã«:
- /etc/multipath.conf
äŸ:
multipath_configfile_byusertemplate: mymultipath.conf.j2
multipath_configfile_bysections
: /etc/multipath.confãã¡ã€ã«ã«ã«ã¹ã¿ã ã»ã¯ã·ã§ã³ãå«ããŸããå: æåå (è€æ°è¡)
圱é¿ãåãããã¡ã€ã«:
- /etc/multipath.conf
äŸ:
multipath_configfile_bysections: | devices { device { vendor "COMPAQ " product "HSV110 (C)COMPAQ" path_grouping_policy multibus path_checker readsector0 path_selector "round-robin 0" hardware_handler "0" failback 15 rr_weight priorities no_path_retry queue } }
泚æ:
multipath_configfile_commentlines: yes
ãšçµã¿åãããããšãã§ããŸãã
multipath_configfile_defaults
: /etc/multipath.confã® "defaults {" ã»ã¯ã·ã§ã³ã«äœåãªãã©ã¡ãŒã¿ãå«ããŸããå: ãªã¹ã
圱é¿ãåãããã¡ã€ã«:
- /etc/multipath.conf
äŸ:
multipath_configfile_defaults: - detect_prio no - failback "manual" - max_fds 1048576 - max_polling_interval 20
multipath_debug_sysfilecontent
: èšå®åŸã®ã¿ã¹ã¯ïŒäŸïŒåèµ·åïŒã®åã«ã/etc/fstabã/etc/lvm/lvm.confã/etc/multipath.confã®å€æŽãããã·ã¹ãã ãã¡ã€ã«ã®å 容ã衚瀺ããŸããå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_debug_sysfilecontent: yes
multipath_debug_showvariables
: ããŒã«ã®å€æ°ãšãã®å€ã衚瀺ããŸããå: ããŒã«å€
圱é¿ãåãããã¡ã€ã«: 該åœãªã
äŸ:
multipath_debug_showvariables: yes
äŸåé¢ä¿
該åœãªã
ã¿ã°
å©çšå¯èœãªã¿ã°ã¯äºã€ãããŸãïŒ
role:multipath:prereqs
: ããŒã«ã®åææ¡ä»¶ãããŒã«å€æ°ã確èªãã·ã¹ãã 倿Žãªãansible-playbook multipathing.yml --tags role:multipath:prereqs
role:multipath:presetup
: äºåèšå®ã®æ€èšŒãã·ã¹ãã 倿ŽãªãïŒãã ããmultipath_package_install ãŸã㯠multipath_package_upgrade 倿°ã䜿çšããŠDMãã«ããã¹ããã±ãŒãžãã€ã³ã¹ããŒã«ãŸãã¯ã¢ããã°ã¬ãŒãããå Žåãé€ãïŒansible-playbook multipathing.yml --tags role:multipath:presetup
äŸã®ãã¬ã€ããã¯
åºæ¬çãªãã¬ã€ããã¯ã¯ãã®ããã«ãªããŸãïŒ
- hosts: servers
become: yes
gather_facts: yes
roles:
- cdomingos.multipath
äŸã®ãã¬ã€ããã¯ã®ãªã¹ã㯠tests/
ãã©ã«ãå
ã®ããŒã«ãã£ã¬ã¯ããªæ§é ã«ãããŸãã
ã©ã€ã»ã³ã¹
MIT
èè æ å ±
ãã®ããŒã«ã¯2019幎㫠Cláudio Domingos ã«ãã£ãŠäœæãããŸããã
è¿œå æ å ±
ãã¹ãç°å¢:
- HP ProLiant BL460c Gen9 (UEFI)
- 3PAR Storage Array
- HP ProLiant BL460c G7
- VMAX Storage Array
- RHEL 8
- RHEL 7
- RHEL 6
- Fedora 31
ãã®ããŒã«ã¯ãã¢ã¡ã¿ã«ãã·ã³ã«éåžžã«é©ããŠãããã²ã¹ãã«ã¯æå³ããããŸãããé«å¯çšæ§ãã«ããã¹ãœãããŠã§ã¢ã¯ãã€ããŒãã€ã¶ãŒã®ã¬ãã«ã§ååšããå¿ èŠããããŸãã
ç¹å®ã®ã¹ãã¬ãŒãžã¢ã¬ã€ã®DMãã«ããã¹ã®ãã¹ããã©ã¯ãã£ã¹èšå®ãé©çšãããã§ããïŒ ã¹ãã¬ãŒãžã¢ã¬ã€ã®ãã³ããŒã«åãåãããŠãã ããããŸããLinuxçšãã¹ãæ¥ç¶ã¬ã€ããæ€çŽ¢ããã¹ãã¬ãŒãžã¢ã¬ã€ã®ãã³ããŒãæšå¥šããããšã確èªã§ããŸãã
ãã®ããŒã«ã¯æ¬¡ã®ãã®ããã€ã³ã¹ãã€ã¢ãåããŠããŸã:
- Red Hat Enterprise Linux 8 Configuring Device Mapper Multipath ã¬ã€ã
- Red Hat Enterprise Linux 7 Configuring Device Mapper Multipath ã¬ã€ã
- Red Hat Enterprise Linux 6 Configuring Device Mapper Multipath ã¬ã€ã
TODO
é倧ãªåé¡ã解決ãã: dracut Warning: LVM rootvg/rootlv not found
a. ã·ã¹ãã ã¯ã©ãã·ã¥äžã«åèµ·åãµã€ã¯ã«ã§initramfs/dracutããŒãã¹ããŒãžã§ããŒã«ããã¯ããã¹ã¯ãªãããå®è£
ããŸãã
b. initramfs/dracutããŒãã¹ããŒãžã§ãããã¯ãŒã¯ãšsshdãµãŒãã¹ãæå¹ã«ããAnsibleã䜿çšããŠãããä¿®æ£ããããã®å¿
èŠãªãªã«ããªãŒã¿ã¹ã¯ãå®è¡ããŸãã
Configure native linux multipathing (DM Multipath) for Boot from SAN or Local Boot
ansible-galaxy install cdomingos.multipath