NFS праз TCP унутры тунеля OpenVPN з UDP: два транспарты
Пратакол мантавання і пратакол тунеля — асобныя налады. Запішыце абодва, а потым вырашыце, ці завісанне адносіцца да файлавай службы, а ці да носьбіта.
Перадача сеансу NFS, які выкарыстоўвае TCP, унутры тунеля, што нясе UDP, цалкам несупярэчлівая, і гэта бянтэжыць людзей, бо называе адразу два транспарты. TCP — гэта сеанс файлавай службы паміж кліентам і серверам NFS. UDP — гэта зашыфраваны носьбіт паміж канцавымі пунктамі VPN. Ні адзін з іх нічога не значыць пра іншы.
Запішыце абодва асобна, перш чым нешта адладжваць; большасць такіх інцыдэнтаў пачынаецца з таго, што хтосьці змяняе не той узровень.
Два ўзроўні, дзве налады
Параметр мантавання proto=tcp апісвае, як кліент NFS размаўляе з серверам NFS. Налада proto udp у профілі VPN апісвае, як канцавыя пункты тунеля абменьваюцца інкапсуляванымі пакетамі. Змена параметра мантавання не змяняе тунель, а змена транспарту тунеля не змяняе таго, пра што дамовіўся кліент NFS. Пацвердзіце фактычныя параметры мантавання праз nfsstat -m, а не праз радок fstab, і пацвердзіце транспарт VPN з профілю, які сапраўды выкарыстоўваецца.
Затым запішыце іх у нататках пра інцыдэнт як два асобныя палі. Бачнае паляпшэнне можна прасачыць, толькі калі ў нататцы сказана, які ўзровень змяніўся.
Прагляд — гэта не масавае чытанне
Спіс каталога даказвае, што некаторыя аперацыі завяршыліся. Ён не даказвае, што працяглае чытанне, запіс, блакіроўка або сховішча завяршацца ў тых жа ўмовах. Завісанне пасярэдзіне вялікага файла — гэта іншае назіранне, чым мантаванне, якое ніколі не ўдаецца, і яны паказваюць на розныя ўзроўні.
Апішыце збойную аперацыю дакладна: шлях, кірунак, прыблізны пункт завісання і апошнюю значную падзею ў журналах кліента, сервера і VPN. Затым параўнайце, дзе трафік працягваецца, а дзе спыняецца.
MTU — гэта гіпотэза, а не дыягназ
Страты, якія залежаць ад памеру пакета, — рэальная магчымасць, калі тунель нясе буйныя сегменты, і яны даюць менавіта карціну «прагляд працуе, чытанне завісае». Але гэтая карціна не даказвае праблему MTU, бо такая ж форма з’яўляецца, калі сервер павольны, брандмаўэр закрывае доўгае злучэнне па тайм-аўце або дыск заняты. Праверце гіпотэзу кантраляванай пробай, а не зніжэннем MTU паўсюль з абвяшчэннем перамогі.
Тайм-аўт сам па сабе нічога не кажа пра тое, ці трэба замяніць UDP. Гэта сімптом з некалькімі магчымымі ўладальнікамі.
Змяняйце па адной зменнай за раз
Параўноўваючы транспарты, трымайце працоўную нагрузку NFS і ўсе іншыя налады нязменнымі. Змена транспарту мантавання, пратаколу тунеля і MTU у адным акне абслугоўвання дае вынік, які ніхто не зможа аднесці да канкрэтнай прычыны. Выканайце тую ж аперацыю з файлам да і пасля і запісвайце вынік на кожным кроку.
Трымайце папярэднія значэнні таксама ў заяўцы. Калі змена пагоршыць становішча, адкат павінен быць дакументаваным лікам, а не чыімсьці ўспамінам пра тое, як было раней.
Чытайце той узровень, які зламаўся
Калі тунель падняты, а запыт NFS чакае, то VPN не зламаўся; зламалася файлавая служба. Калі тунель упаў, то збой запыту NFS — гэта следства, а не прычына. Супастаўленне радкоў журнала з абодвух узроўняў — найхутчэйшы спосаб адрозніць гэтыя два выпадкі, і гэта лепш, чым здагадкі з файлавага менеджара.
Запішыце выснову двума сказамі, па адным на ўзровень. Гэтага дастаткова, каб наступны чалавек прайграў тэст, не выводзячы нанова, які транспарт які.