Dela via


Anpassa filskrivning i Azure HPC Cache

HPC Cache-användare kan begära att cacheminnet skriver specifika enskilda filer till serverdelslagring på begäran med hjälp av verktyget flush_file.py. Det här verktyget är ett separat nedladdat programvarupaket som du installerar och använder på Linux-klientdatorer.

Den här funktionen är utformad för situationer där du vill att ändringarna i cachelagrade filer ska göras tillgängliga så snart som möjligt för system som inte monterar cacheminnet.

Du kan till exempel använda Azure HPC Cache för att skala dina databehandlingsjobb i molnet, men lagra datauppsättningen permanent i ett lokalt datacenter. Om beräkningsuppgifter sker i datacentret som är beroende av ändringar som skapats med Azure HPC Cache kan du använda det här verktyget för att "skicka" utdata eller ändringar som genereras av en molnaktivitet tillbaka till den lokala NAS-lagringen. På så sätt kan de nya filerna användas nästan omedelbart av lokala beräkningsresurser.

Välj mellan anpassad tillbakaskrivning och tömning

Du kan tvinga data att skrivas tillbaka med alternativet "lagringsmålsspolning" inbyggt i Azure HPC Cache – men den här metoden kanske inte passar för alla situationer.

  • Att skriva tillbaka alla ändrade filer till lagringssystemet kan ta flera minuter eller till och med timmar, beroende på mängden data och hastigheten på nätverkslänken tillbaka till det lokala systemet. Dessutom kan du inte bara välja de filer som du har slutfört med som ska skrivas. filer som fortfarande ändras aktivt tas med i den här beräkningen.

  • Cacheminnet kan blockera servering av vissa begäranden från lagringsmålet under tömningsprocessen. Detta kan fördröja bearbetningen om det finns andra beräkningsklienter som använder filer som finns på samma lagringsmål.

  • För att utlösa den här åtgärden krävs deltagaråtkomst till Azure Resource Manager, som slutanvändarna kanske inte har.

Du kan till exempel ha flera parallella (men inte överlappande) beräkningsjobb som använder data som finns på samma HPC Cache-lagringsmål. När ett jobb har slutförts vill du omedelbart skriva jobbets utdata från cacheminnet till din långsiktiga lagring på serverdelen.

Du har tre alternativ:

  • Vänta tills de cachelagrade filerna skrivs tillbaka automatiskt från cacheminnet, men filerna kan sitta i cacheminnet i mer än en timme innan de skrivs tillbaka helt. Tidpunkten beror på tillbakaskrivningsfördröjningen för din cacheanvändningsmodell, tillsammans med andra faktorer som nätverkslänkprestanda och filernas storlek. (Läs Förstå cacheanvändningsmodeller om du vill veta mer om fördröjning vid tillbakaskrivning.)

  • Rensa omedelbart de cachelagrade filerna för hela lagringsmålet , men det skulle störa andra beräkningsjobb som också använder lagringsmålets data.

  • Använd det här anpassade tillbakaskrivningsverktyget för att skicka en särskild NFS-begäran till cacheminnet för att bara skriva tillbaka de specifika filer du vill ha. Det här scenariot stör inte åtkomsten för andra klienter och kan utlösas när som helst i databehandlingsuppgiften.

Om tillbakaskrivningsverktyget

Tillbakaskrivningsverktyget har ett skript som du kan använda för att ange enskilda filer som ska skrivas från cachen till det långsiktiga lagringssystemet.

Skriptet tar en indataström av filerna att skriva, plus sökvägen för cachenamnområdet till lagringsmålexporten och en IP-adress för HPC Cache-montering.

Skriptet använder ett NFSv3-"commit"-anrop med särskilda argument aktiverade. Linux nfs-common-klienten kan inte skicka dessa argument på rätt sätt, så verktyget flush_file.py använder en NFS-klientemulator i ett Python-bibliotek för att kommunicera med HPC Cache NFS-tjänsten. Biblioteket innehåller allt som behövs, vilket kringgår eventuella begränsningar som kan finnas i beräkningsklientens Linux-kernelbaserade NFS-klient.

Om du vill använda den här funktionen måste du göra följande:

Läs mer om att installera och använda skriptet flush_file.py på GitHub-lagringsplatsen.