Multipath е техника за устойчивост на грешки, която обикновено има за цел да архивира връзката на физически сървъри със съхранение. Когато има повреда на оптичните кабели, важно е сървърът да не загуби достъп до хранилището и да поддържа достъпност. Ето защо системи като банки и глобални сайтове за електронна търговия използват multipath.

Ето всичко, което трябва да знаете за multipath в Linux.

Идентификатори за многопътни устройства на сървъри

За multipath е необходимо също да търсите многопътни устройства. Ако някога сте чували за WWID (Световен идентификатор) концепция преди това няма да ви звучи твърде чуждо.

По подразбиране имената на многопътните устройства са зададени на техния WWID. Това е система, която гарантира, че многопътното устройство е глобално уникално и неизменно. Можете да зададете именуването по подразбиране тук с някои манипулации на многопътния конфигурационен файл, като промените user_friendly_names настройка.

Като пример можете да мислите за това така. Представете си, че имате устройства за съхранение, свързани към вашия сървър, като например:

  • /dev/sda
  • /dev/sdb
  • /dev/sdc
  • /dev/sdd

Ако user_friendly_names опцията е зададена на „да“ в този момент, имената на устройствата ще се променят.

котка /etc/multipath.conf

# Изход
по подразбиране {
user_friendly_names да
}

Ако имате Ubuntu сървър, който използва технологии за виртуализация, може да получите следния резултат. Това, което трябва да запомните тук е, че устройството, което искате да контролирате, трябва да е физическо устройство.

След като зададете user_friendly_names опция за да в конфигурационния файл можете да проверите името на устройството, както следва:

sudo fdisk -l

Процедура за последователни многопътни имена на устройства

Името, присвоено на многопътните устройства чрез тази процедура, ще бъде уникално за даден възел. Не е възможно да се каже, че се отнася за всички възли. Ако искате последователни многопътни устройства на всички възли, задайте user_friendly_names опция за "не". Ще намалите всички проблеми по този начин, тъй като устройствата вече няма да имат уникален псевдоним и вместо това ще използват WWID.

Въпреки това, при други обстоятелства, може да искате да проектирате възли, които са едновременно последователни и по-лесни за достигане и използване.

В такъв случай първо трябва да инсталирате всички многопътни устройства на една машина. След тази стъпка трябва също да деактивирате всички многопътни устройства на други машини. Можете да изпълните следните команди за това:

sudosystemctlСпри семногопътни инструменти.обслужване
sudo multipath -F

С тези команди вие съответно ще спрете многопътната услуга и ще изчистите всички карти на многопътно устройство. Сега станете root потребител и копирайте подвързии файл, намиращ се в /etc/multipath директория към други машини.

В този момент ще използвате демон процеси на Linux. След всички тези стъпки трябва да стартирате multipathd отново демон:

sudosystemctlзапочнетемногопътни инструменти.обслужване

Преглед на общите характеристики на многопътните устройства

Функциите и настройките за конфигурация на многопътните устройства не се ограничават до user_friendly_names. По-долу ще намерите информация за някои други конфигурации, които можете да направите в /etc/mutipath.conf файл:

  • черен списък {}: Ако искате да посочите кои устройства да бъдат изключени от мултипът, можете да напишете техните имена между двете къдрави скоби.
    черен списък {
    devnode "^sda"
    }
  • устройства {}: Между тези две фигурни скоби можете да поставите някои подробности за конкретни устройства.
    устройства {
    продавач "DELL"
    продукт "MD32xx"
    }
  • многопътен {}: В това поле можете да зададете атрибутите на конкретни многопътни устройства. Както при другите атрибути, multipath също има много различни под-атрибути.
    многопътен {
    wwid 3500405b170164c3911244b325426400b
    псевдоним жълто
    ръководство за възстановяване при отказ
    }
  • черен списък_изключения {}: Това поле е за устройства, които са в черния списък, но искате за тях да е активиран многопът. Вместо да поставите в черния списък всички устройства едно по едно, можете да ги поставите в черния списък и да посочите тези, които искате да използвате по-късно в това поле.
    blacklist_exceptions {
    wwid "3500405b170164c3911244b325426400b"
    }

Разбира се, не всички атрибути са ограничени до тях и всеки атрибут има свои собствени под-качества. Освен това можете да ги използвате в тандем един с друг. По-долу е примерен конфигурационен файл, който можете да прегледате:

по подразбиране {
user_friendly_names бр
}
черен списък {
devnode "^sda"
}
blacklist_exceptions {
devnode "sda|sdb"
устройство {
продавач "DELL"
продукт "MD32xx"
}
}
устройства {
устройство {
продавач "HP"
продукт "A6189A"
}
}
multipaths {
многопътен {
wwid 3500405b170164c3911244b325426400b
псевдоним червен
}
}

Логика в многопътните устройства

Можете да мислите за многопътните устройства като за физически единици. Например, нека /dev/mapper/mpatha да бъде името на многопътно устройство. Това устройство ще действа като физическа единица. Когато създавате LVM (Logical Volume Management), вие също ще трябва да редактирате /etc/lvm.conf файл.

С конфигурациите, които правите тук, ще трябва да филтрирате дисковете под многопътните устройства. Ако не го направите, LVM ще сканира пасивния път и multipath ще започне да работи отново, тъй като активният път може автоматично да се промени на пасивния път.

За да предотвратите това, можете да направите следната манипулация върху /etc/lvm.conf файл:

филтър = [ "a/цикъл.*/", "r/.*/" ]

Тази команда ще добави цикли и ще премахне всички устройства. Процесът обаче не свършва дотук. След извършване на тази промяна в /etc/lvm.conf, запазете файла и също актуализирайте initrd. initrd ви позволява да извършвате някои манипулации на RAM диска. Причината да правите промени тук е да ги копирате по време на зареждане.

актуализация-initramfs -u -k всичко

Всеки път, когато lvm.conf и multipath.conf файловете са актуализирани, е необходимо да се извърши тази актуализация на initramfs. Ето как получавате стабилен и устойчив сървър. Също така не трябва да забравяте за актуализацията на initramfs, особено ако сте направили промени в черния списък и атрибутите на филтъра.

Значение на многопътната система

В многопътеви среди сървърите могат да продължат да имат достъп до дискове, дори ако някой от компонентите (HBA, SAN, контролер за съхранение), които използват, се повреди. Това е въпрос от особен интерес за системните и сървърните администратори.

Това е много важно за сървъри с голям трафик, които съдържат важна информация, където протоколите за сигурност трябва да са високи. Защото ако сървърът на уебсайт с хиляди информация за кредитни карти или стотици хиляди регистрираните клиенти е недостъпен, защото само един компонент не функционира добре, това би било огромно проблем.

Необходимо е да се овладеят детайлите на всички тези операции и под-атрибутите на атрибутите в конфигурационния файл. Това е така, защото създаването на сървърни конфигурации винаги включва риск. За този тип операция има смисъл да архивирате всичко или да стартирате тестове на тестов сървър.

Ако нямате сървър, на който да тествате всичко това, инсталирането на Ubuntu Server е оптималният избор и също е доста лесно.