måndag 2 februari 2015

Cache-tjänst

Apple App Store är den fjärde största bandbredds-slukande nätverkstrafiken på jobb.

Vi är mitt upp i en upphandling för internetuppkoppling för de närmaste fem åren men eftersom vi slår i kapacitetstaket varje dag kände jag mig tvungen att göra något.

Eftersom App Store-trafik är något som stadigt ökat och vi faktiskt har en OS X Server-stående i datahallen tänkte jag börja där.
OS X Servers Cache-tjänst är delvis en ersättare för den gamla Software Update-funktionen. Software Update fungerade bara med Mac OS X-uppdateringar och mekanismen bakom var (förmodligen) föråldrad eftersom Apple kommit med den nya Cache-tjänsten.

Numera är det inte bara OS X-uppdateringar som cachas utan även recovery-images för OS X, tankar du om en maskin med OS X 10.8 och framåt får du en cachad kopia på din server för efterkommande maskiner. Men det slutar inte där, följande innehåll från Apple cachas:
För iTunes och iBooks:
iTunes 11.04 och senare, iOS-appar och uppdateringar samt iBooks-innehåll.

För OS X:
Förutom uppdateringar och hela operativsystem lagras också uppdateringar för OS X-applikationer som köpts via Mac App Store, extra nedladdningsbart data till Garageband, Java, skrivardrivrutiner och annat innehåll som kommer via det gamla Software Updates-systemet.

För iOS:
iOS- och AppleTV-uppdateringar, appar och uppdateringar till dem, kursmaterial från iTunes U samt Siri-röster och ordböcker.

Det verkar också finnas plats för framtida utbyggnad av caching-systemet, det är förberett för musik och video från iTunes:
 caching:CacheDetails:_array_index:4:BytesUsed = 0  
 caching:CacheDetails:_array_index:4:LocalizedType = "Movies"  
 caching:CacheDetails:_array_index:4:MediaType = "Movies"  
 caching:CacheDetails:_array_index:4:Language = "en"  
 caching:CacheDetails:_array_index:5:BytesUsed = 0  
 caching:CacheDetails:_array_index:5:LocalizedType = "Music"  
 caching:CacheDetails:_array_index:5:MediaType = "Music"  


Så hur funkar det? När man installerat OS X (som ju numera är gratis) och OS X Server (189 kronor i App Store) och startar Server-appen är Caching det första anspråkslösa valet under Services.



De aktiva val man kan göra i senaste versionen består av att kunna starta/stoppa funktionen, hantera "rättigheter" och ange var och hur stor cachen ska vara.
Den enda inställningen som kan vålla bekymmer är egentligen Permissions. Härunder listar man de nätverk man vill ska ha åtkomst till cachetjänsten. Har man ett enkelt nät (som typ hemma) med en utsidesadress och en insida med privata adresser är det bara att slå på funktionen, det funkar out of the box.

Har man som vi tre utsidesadresser för att särskilja trafik från "allmänheten", elever och anställda blev det lite mer komplicerat.
Jag fick välja Cache content for clients connecting from "only some networks" och ange mina IP-ranges för de privata adresserna vi använder på insidan.
Kryssrutan "Only cache content for clients on these networks" är ikryssad, valet Serve clients with public addresses är satt till "on other networks" och jag har lagt till våra tre utgående adresser där.




Tyvärr slutar det inte riktigt där, unikt för mitt scenario är att jag fick ändra i vår core så att klienter från publika och pedagogiska näten kommer åt servern och sedan är man allmänt tvingad att lägga till ett TXT-record i sin DNS. Om man klickar på "Client Configuration" på panelen får man strängen som ska in i TXT-recordet. Det är dina utsidesadresser som ska in TXT-recordet.



Vi kör DNS på Windows så mitt DNS-record där ser ut som följer:

Cachen har rullat i snart 5 dygn och har redan plockat på sig över 25GB data och cacheträffarna blir fler och fler. Det ska bli spännande att följa upp bandbreddsanvändningen de närmaste veckorna.

Inga kommentarer:

Skicka en kommentar