Повторното експортиране на NFS през VPN не е препращане на пакети
Средната машина е клиент и сървър, а не рутер. Идентификаторите на файловите системи, обвитите файлови манипулатори и липсващата поддръжка на заключване променят дизайна.
Linux машина се присъединява към VPN, монтира отдалечен NFS експорт и след това предоставя това монтиране на друг набор клиенти. Тази подредба изглежда като маршрутизиране с допълнителни стъпки, и това е първото погрешно допускане. Средната машина е клиент на горния сървър и сървър за долните клиенти, и участва в двете отношения за файлово обслужване. Препращането на пакети няма мнение за файловите манипулатори, заключването или идентичността на файловата система; повторното експортиране има.
Започнете с въпроса дали долните клиенти биха могли да достигнат оригиналния сървър директно. Ако могат, средната машина е по избор.
Три модела, три истории за съгласуваност
Директното монтиране е най-простото: всеки клиент монтира оригиналния сървър през тунела и политиката за експорт на този сървър управлява достъпа. Повторното експортиране е средната машина, която представя различна граница на услугата, което е полезно, когато мрежата от страна на клиентите не трябва да достига сървъра директно. Репликацията е трети модел и тя променя въпроса от съгласуваност към синхронизация и разрешаване на конфликти.
Не описвайте репликирано копие като живо повторно експортиране. Режимите на отказ се различават и потребител, който очаква всяка операция да достигне оригиналната файлова система, ще бъде изненадан при прекъсване на връзката.
Идентичността живее по-дълго от командата за монтиране
Повторните експорти се нуждаят от явен идентификатор на файловата система и тази идентичност трябва да оцелее при рестартирания и преизграждания на конфигурацията. Документацията на ядрото е ясна за изискването и също предупреждава, че crossmnt не премахва нуждата от експортиране на дъщерни файлови системи със собствени идентификатори. Дърво от директории, което изглежда непрекъснато за потребителя, може да премине през няколко граници на файлови системи. Съвременните nfs-utils могат да разпределят идентификатори автоматично за поддържани конфигурации и когато го правят, тяхната база данни става част от състоянието на шлюза. Отнасяйте се към тези идентификатори като към идентичност на услуга, а не като към изхвърляеми файлове.
Файловите манипулатори са другата граница на идентичността: повторното експортиране обвива оригиналния манипулатор, което го прави по-голям и може да надхвърли лимита на клиента. Успешното монтиране не доказва, че всяко оформление на експорт е съвместимо.
Не всяка функция на NFS оцелява след средната машина
Ръководството на ядрото за повторно експортиране заявява, че сървърът, който повторно експортира, не поддържа заключване или заявки за делегиране. Приложенията, които зависят от тези операции, се нуждаят от различен път или дизайн, проверен срещу тях. Успешното монтиране и работещ списък на директория не показват, че реалните операции на приложението работят.
Идентичността на потребителя и политиката за експорт също имат значение при всеки преход. Влизането през VPN доказва, че участник в мрежата се е удостоверил; то не упълномощава потребител на NFS и не препраща идентификационните данни на клиента през шлюза.
Шлюзът има две зависимости от горния край
Шлюзът зависи от VPN за монтирането отгоре и от горния сървър за самата файлова система. Локален процес за експорт, който все още работи, не може да направи недостъпното хранилище здраво. Планирайте реда на стартиране, поведението при повторно свързване и рестартиранията на сървъра, включително какво се случва с файловите манипулатори, които клиентите вече държат. Клиент, който е монтирал през шлюза и е загубил манипулатора си, се нуждае от повторно монтиране и това е оперативно събитие, а не прозрачно възстановяване.
Ако всичко, от което изискването някога се е нуждаело, беше достъпност на частни IP адреси, маршрутизирането директно към оригиналния сървър е по-простата архитектура. Повторното експортиране трябва да съществува поради причина, която издържа да бъде записана.
Тествайте работното натоварване, не монтирането
Упражнявайте реалното файлово натоварване в контролирана среда: операциите, които приложението извършва, размерите на файловете, които използва, и паралелността, която очаква. Следете за пропуски във функциите, а не само за транспортни грешки. След това запишете кой модел сте избрали и защо, защото иначе следващият човек ще приеме, че шлюзът е рутер.
Повторното експортиране е законно, когато съществува по преднамерена причина, например изолирана клиентска мрежа или контролирана граница на версията. То е лош инцидент и разликата е дали някой е решил това.