Nej. En hårdlänk måste hänvisa till samma inode inom ett filsystem; separata dataset eller monteringar returnerar normalt EXDEV.
Beslutet är viktigt när ett organiserings- eller dedupliceringsarbetsflöde vill att en fil ska visas i bibliotek som lagras i separata NAS-dataset. De två konkurrerande tillstånden är hårdlänk inom samma filsystem och kopia över filsystemsgränser, reflink, klon eller programreferens. Börja med en sparad konfiguration och data som kan kastas, observera en gren i taget och avbryt om testet ökar risken för dataförlust, behörighetsproblem eller otillgänglighet.
Definiera villkoren bakom beslutet om hårdlänkar över dataset
Dokumentera miljön innan du ändrar något: programvaru- och firmwareversioner, enhetsidentiteter, monterings- eller nätverkssökväg, ledigt utrymme, behörigheter och det observerbara symptomet. Baslinjen måste bevara tillräckligt med detaljer för att återskapa ett organiserings- eller dedupliceringsarbetsflöde som vill att en fil ska visas i bibliotek som lagras i separata NAS-dataset.
Den första kandidaten är en hårdlänk inom samma filsystem. Den andra är en kopia över filsystemsgränser, reflink, klon eller programreferens. Den aktuella begränsningen för link-systemanropet definierar mekanismen eller kommandogränsen som används i testet; den ersätter inte observationer från just den här hemmaservern.
Skriv ned godkännandekriteriet och stoppkriteriet innan du kör skiljetestet. Ett godkänt resultat måste ändra de bevis som förutsägs av en gren samtidigt som orelaterade tjänster förblir oförändrade; ett misslyckat resultat måste återställa systemet till det sparade tillståndet i stället för att utlösa en kedja av spekulativa lösningar.
Testa påståendet utan att sänka det ursprungliga kravet
Använd detta skiljetest: jämför enhets-ID:n och försök skapa en testlänk med data som kan kastas, både för sökvägar i samma dataset och över datasetgränser. Håll arbetsbelastning, klient, sökväg, filuppsättning och tidsinställning konstanta så att resultatet kan tillskrivas den ändrade variabeln.
Använd gränserna för hårdlänkar för att välja det fält som faktiskt kan skilja grenarna åt, och fånga dess tidsstämpel, avslutningsstatus, feltext, enhets- eller ögonblicksbildsidentitet, fördröjning, överförda byte, behörigheter och återställningstillstånd. Ett felfritt kommandoavslut räcker inte när identitet, beständighet eller programtillstånd är det som testas.
Upprepa testet en gång efter en omstart, återanslutning, ommontering eller kall cache när den händelsen ingår i det ursprungliga villkoret. Om den första körningen är destruktiv eller om miljön inte kan återställas, avbryt och återskapa testet på en kopia som kan kastas.
stat -c "%d %i %h %n" source target
ln source cross-dataset-target
Tolka godkända, misslyckade och avvikande resultat
GODKÄNT: länken i samma dataset delar inode och länkantal, medan försöket över datasetgränsen misslyckas utan att ändra data. Dokumentera den exakta versionen, identiteten och arbetsbelastningen som gav godkänt resultat så att slutsatsen förblir villkorad i stället för att bli ett universellt påstående.
MISSLYCKAT: ett verktyg kopierar tyst i stället för att länka, eller bind-monteringar döljer den verkliga filsystemsgränsen. Ett misslyckat resultat bevisar inte automatiskt den motsatta grenen när nätverk, minne, behörigheter eller källans konsistens kan påverka båda; isolera dessa gemensamma beroenden innan du eskalerar.
UNDANTAG ELLER TVETYDIGT RESULTAT: använd en uttrycklig kopia, en stödd reflink eller ändra datasetgränserna utifrån behovet av lagringstid. Bevara loggarna och kör inte reparations-, rensnings-, förstörings-, ompartitionerings- eller rekursiva ägarändringskommandon innan det finns en återställningsbar kopia.
Bekräfta beslutet under den ursprungliga arbetsbelastningen
Tillämpa den åtgärd som motsvarar den observerade grenen och upprepa sedan det ursprungliga villkoret i stället för en förenklad ersättning. Beslutet gäller endast när länken i samma dataset delar inode och länkantal, medan försöket över datasetgränsen misslyckas utan att ändra data under två cykler eller den relevanta omstarten, viloläget, avbrottet eller belastningsövergången.
Använd NFS-identitetsmappningen för att kontrollera det närmaste beroende arbetsflödet, men behåll den ursprungliga utlösaren oförändrad. Orelaterade dataset, utdelningar, containrar, användare och återställningspunkter måste behålla sin tidigare åtkomst och tidsåtgång.
Stoppgränsen är tydlig: om ett verktyg kopierar tyst i stället för att länka eller bind-monteringar döljer den verkliga filsystemsgränsen, återgå till den senast verifierade konfigurationen, behåll bevisen och eskalera till ett djupare plattforms- eller hårdvarutest endast när grenen kan reproduceras.
När målresultatet har uppnåtts ska du jämföra det med mappningen av container-UID:n så att lösningen inte flyttar risken till en närliggande tjänst. Ett lyckat måltest med ett nytt fel i säkerhetskopiering, identitet, tidsgräns eller tillgänglighet är fortfarande en misslyckad ändring.
Vanliga frågor
För hårdlänkar över dataset gäller de återstående frågorna vanligtvis om en bind-montering kan möjliggöra hårdlänkar över datasetgränser, om symboliska länkar tillåts över datasetgränser och om reflinks kan ersätta hårdlänkar. Svaren nedan håller dessa specialfall åtskilda från huvudbeslutet.
Godkännandegränsen ändras inte: länken i samma dataset delar inode och länkantal, medan försöket över datasetgränsen misslyckas utan att ändra data. Om ett uppföljande villkor ändrar filsystemet, identiteten, nätverkssökvägen eller programversionen ska du upprepa endast det skiljetest som påverkas av ändringen.
Sluta bredda experimentet när ett verktyg kopierar tyst i stället för att länka eller bind-monteringar döljer den verkliga filsystemsgränsen. Använd då en uttrycklig kopia, en stödd reflink eller ändra datasetgränserna utifrån behovet av lagringstid; bevara bevisen innan du eskalerar till plattforms-, lagrings- eller hårdvaruansvarig.
Kan en bind-montering möjliggöra hårdlänkar över datasetgränser?
Nej. Den ändrar sökvägsvyn, inte den underliggande filsystemsidentiteten.
Tillåts symboliska länkar över datasetgränser?
Ja, men de lagrar en sökväg och bevarar inte data om målet försvinner.
Kan reflinks ersätta hårdlänkar?
I filsystem som stöder dem delar de block initialt men blir självständiga filer när de ändras.
För hårdlänkar över dataset är det praktiska svaret fortfarande villkorat: länken i samma dataset delar inode och länkantal, medan försöket över datasetgränsen misslyckas utan att ändra data. När ett verktyg kopierar tyst i stället för att länka eller bind-monteringar döljer den verkliga filsystemsgränsen ska du använda en uttrycklig kopia, en stödd reflink eller ändra datasetgränserna utifrån behovet av lagringstid; en partiell framgång som inte klarar den ursprungliga arbetsbelastningen är inte kompatibilitet.
Support och tips
Mer att läsa

Kan ett egenhostat galleri bevara parkopplingen mellan Apple Live Photos?
Ett villkorat beslut för hemmaservern om parkoppling med Apple Live Photo, med kontrollerade tester, resultattolkning, återställning och fokuserade vanliga frågor.

Kan du importera Google Takeout och telefonbackuper till ett enda fotobibliotek?
Ett villkorat beslut för en hemmaserver för kombinerad fotoimport, med kontrollerade tester, resultattolkning, återställning och fokuserade vanliga frågor.

Kan Immich använda ett externt bibliotek utan att ta över ägandet av filerna?
Ett villkorat beslut för hemservern om ägarskap av externa bibliotek i Immich, med kontrollerade tester, resultattolkning, återställning och fokuserade vanliga frågor.

