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