Compacten in Domino - en Exchange
Category nieuwsBookmark :
Jack Dausman schrijft een artikel over een interessante observatie, die hij deed bij een migratie van Exchange naar Domino. Er wordt wel gezegd dat Exchange vanwege zijn architectuur minder opslagruimte nodig heeft; in Jack's geval bleek dat niet het geval te zijn. Het ging hier om een migratie van Exchange naar Domino 7, op dezelfde hardware. Na de migratie bleek de Domino-server minder schijfruimte in gebruik te hebben dan de oude Exchange installatie. Het verschil: Domino kent een andere, makkelijker manier van compacten. Voor Exchange schijnt dat lastiger te zijn; er zijn zelfs third-party producten op de markt die moeten helpen in dit opzicht.
Even voor de niet-technici onder ons: wat is compacten eigenlijk? Email wordt opgeslagen in database(s); iedere keer dat er een bericht bijkomt, is een klein beetje extra schijfruimte nodig om het nieuwe bericht op te slaan. De database wordt telkens dus iets groter. Echter, als het bericht door de gebruiker verwijderd wordt, zal de database niet automatisch kleiner worden. Er blijft na het verwijderen van een emailtje dan ook een klein stukje ongebruikte schijfruimte over in de database. Deze kleine stukjes "loze" ruimte noemen we "whitespace". Om goed te (blijven) functioneren en te voorkomen dat de maildatabase heel groot wordt, is het handig die kleine loze stukjes te consolideren tot een groter, opnieuw te gebruiken gebied, waar nieuwe emails opgeslagen kunnen worden zonder dat er nieuwe schijfruimte bij de database gevoegd moet worden. Of, als alternatief, de loze ruimte geheel uit de database te verwijderen, zodat de omvang van de database op de harde schijf afneemt. Dit soort processen, het consolideren en/of verwijderen van whitespace uit email-databases, noemen we "compacten". Zowel Domino als Exchange kennen het verschijnsel "whitespace" en beiden hebben ook tools om daar iets aan of mee te doen; het lijkt er, volgens Jack's ervaringen, alleen op dat Domino flexibeler is in dit opzicht.
Individuele Domino-maildatabases kunnen op allerlei manieren gecompact worden. In place, offline, copy-style, "allow access while compacting" en nog meer: zie dit document uit de Notes 7 helpfile,voor de parameters. Omdat er keuze is, hebben Domino-beheerders onderling wel eens wat discussie: wanneer compacten? En wat dan? Hoe?
In oudere versies van R5 was het raadzaam minstens eens per week een copy-style compact (compact -c) uit te voeren om kleine beginnende corrupties te verhelpen. Bij latere R5-versies was dat niet meer persé nodig; en sinds ND6 zeker niet meer - maar het kan nog steeds geen kwaad om af en toe eens een copy-style compact te doen. Let op: als je transactional logging gebruikt, én je gebruikt incremental backups, dan moet je na een copy-style compact een volledige nieuwe backup trekken. Het DBIID van een database verandert namelijk bij een copy-style compact. Plan daarom een copy-style compact vóór een volledige backup. Overigens is een copy-style compact in feite een kopieer-actie; de lege ruimte verdwijnt dan ook uit de mailfile.
Andere beheerders prefereren een minder rigoreuze "in place compact" (compact -b), waarbij de lege schijfruimte binnen een maildatabase wel geconsolideerd wordt, maar waarbij de database niet kleiner gemaakt wordt; de geconsolideerde whitespace blijft binnen de maildatabase beschikbaar voor nieuwe berichten. Nadeel: je bent meer schijfruimte kwijt. Voordeel: mogelijk is de performance van een database of server iets beter, omdat bij het bijschrijven van een nieuw bericht geen schijfruimte bij de database getrokken hoeft te worden. Maar of de eindgebruiker hier iets van merkt, is maar zeer de vraag. Nog een voordeel: "in place" compacten heeft geen nadelige effecten bij het gebruik van incrementele backups.
Er is overigens ook een "In place compact" waarbij je wél de lege schijfruimte uit de database kunt verwijderen: compact -B, met een hoofdletter dus, maakt de mailfile wel kleiner.
En dan is er nog de grenswaarde. Vanaf welk moment ga je compacten? Als een mailfile bijvoorbeeld drie of vijf procent whitespace heeft, moet je die dan zo nodig eruit halen? Het is mogelijk om te specificeren hoeveel whitespace er in een database moet zitten, voordat er gecompact wordt: de parameter "-S percentage", waarbij de het percentage refereert aan de hoeveelheid whitespace die in een database moet zitten, voordat er gecompact wordt. Het commando "compact -b -S 10" betekent bijvoorbeel ddat er een "in place" compact gedaan wordt op alle databases met meer dan 10 procent whitespace.
In de praktijk zie ik veel Domino-servers waarop enkele malen per week een "compact -b -S 10" gedraaid wordt, via een program document. Incidenteel wordt er in de weekends een "compact -c" gedraaid op alle databases. Wat zijn uw ervaringen?
- 

