Archive for the Category » backup «

Sunday, August 04th, 2013 | Author:

Historikk

Mye hadde forandret seg siden sist jeg nevnte min personlige server – den har vokst i store sprang (den har nå en 7TB md RAID6) og det hadde nylig blitt ombygd med Ubuntu Server.

Arch var aldri en feil. Arch Linux hadde allerede lært meg så mye om Linux (og vil fortsette å gjøre det på min andre stasjonære). Men Arch krever definitivt mer tid og oppmerksomhet enn jeg ønsker å bruke på en server. Ideelt sett ville jeg foretrekker å være i stand til å glemme server for en stund før en påminnelse email sier “um … Det er et par oppdateringer du bør se på, buddy.”

Plass er ikke gratis – og det er heller ikke plass

Muligheten til å migrere til Ubuntu var det faktum at jeg hadde kjørt ut av SATA porter, portene som kreves for å koble harddisker til resten av maskinen – at 7TB RAID array bruker mye av porter! Jeg hadde selv gitt bort mitt svært gamle 200 GB harddisk som det tok opp en av disse portene. Jeg advarer også om mottakeren at diskens SMART overvåking indikerte at det var upålitelig. Som en midlertidig løsning på mangelen på SATA-porter, Jeg hadde selv flyttet serverens OS til et sett med fire USB-pinner i en md RAID1. Crazy. Jeg vet. Jeg var ikke så glade om hastigheten. Jeg bestemte meg for å gå ut og kjøpe en ny pålitelig harddisk og en SATA utvidelseskort å gå med det.

Serverens primære Arch partition brukte omtrent 7 GB av disken. En stor del av det var en bytte fil, bufrede data og ellers diverse og unødvendige filer. Samlet den faktiske størrelsen av OS, herunder /hjem mappe, var bare om lag 2 GB. Dette fikk meg til å se inn i en super-rask SSD kjøre, tenker kanskje en mindre en kanskje ikke så dyrt. Det viste seg at det billigste ikke-SSD-stasjon jeg kunne finne faktisk koste mer enn en av disse forholdsvis små SSD. Yay for meg. 🙂

Valg? Woah?!

I valg av OS, Jeg hadde allerede besluttet det ville ikke være Arch. Ut av alle de andre populære distribusjoner, Jeg er mest kjent med Ubuntu og CentOS. Fedora var også en mulighet – men jeg hadde ikke seriøst ennå ikke vurdert det for en server. Ubuntu vant runden.

Den neste avgjørelsen jeg måtte gjøre skjedde ikke for meg før Ubiquity (Ubuntu installasjon wizard) spurte den av meg: Hvordan sette opp partisjoner.

Jeg var ny på å bruke SSD i Linux – Jeg er fullstendig klar over fallgruvene ved ikke å bruke dem riktig, hovedsakelig på grunn av risikoen for dårlig levetid hvis det brukes feil.

Jeg ønsker ikke å bruke en dedikert swap partisjon. Jeg har tenkt på å oppgradere serveren hovedkort / CPU / minne ikke så langt i fremtiden. Basert på at jeg bestemte meg for jeg vil sette swap i en swap fil på den eksisterende md RAID. Swap vil ikke være spesielt rask, men det eneste formålet vil være for den sjeldne anledningen når noe har gått galt, og minnet er ikke tilgjengelig.

Dette deretter forlatt meg å gi rotbane den fulle 60GB ut av en Intel 330 SSD. Jeg betraktet skille / hjem, men det virket bare litt meningsløst, gitt hvor lite ble brukt i det siste. Jeg først satt opp partisjonen med LVM – noe jeg nylig har gjort når jeg satt opp en Linux boks (virkelig, det er ingen unnskyldning for ikke å bruke LVM). Når det kom til den delen hvor jeg ville konfigurere filsystemet, Jeg klikket på drop-down og instinktivt valgt ext4. Så la jeg merke btrfs i samme liste. Henge på!!

Men en hva?

Btrfs (“smør-eff-ess”, “bedre eff-ess”, “bee-tree-eff-ess”, eller hva du har lyst på dagen) er et relativt nytt filsystem utviklet for å bringe Linux’ filsystem evner tilbake på sporet med dagens filsystem tech. Den eksisterende King-of-the-Hill filsystem, “ext” (gjeldende versjon kalt ext4) er ganske bra – men det er begrenset, fast i et gammelt paradigme (tenke på en helt ny F22 Raptor vs. en F4 Phantom med en halv-Jested forsøk på en ekvivalens oppgradering) og vil neppe kunne konkurrere på veldig lenge med nyere Enterprise filsystemer som Oracles ZFS. Btrfs har fortsatt en lang vei å gå, og regnes fortsatt eksperimentell (avhengig av hvem du spør, og hvilke funksjoner du trenger). Mange anser det å være stabil i grunnleggende bruk – men ingen kommer til å gi noen garantier. Og, Selvfølgelig, alle sier å lage og teste backup!

Mooooooo

Den mest grunnleggende forskjellen mellom ext og btrfs er at btrfs er en “Ku” eller “Kopi på Skriv” filsystem. Dette betyr at data er aldri bevisst overskrevet av en såkalt innvendige. Hvis du skriver en endring i en fil, btrfs vil skrive endringene til en ny plassering på fysiske medier, og vil oppdatere interne pekere til å referere til den nye plasseringen. Btrfs går et skritt videre ved at de interne pekere (referert til som metadata) er også Ku. Eldre versjoner av ext ville ha bare overskrevet data. Ext4 ville bruke en Journal for å sikre at korrupsjon ikke vil forekomme bør støpselet bli yanked ut på det mest inopportune øyeblikk. Tidsskriftet resulterer i et tilsvarende antall skritt som kreves for å oppdatere data. Med en SSD, den underliggende maskinvaren opererer en lignende ku prosessen uansett hva filsystemet du bruker. Dette er fordi SSD-disker ikke kan faktisk overskrive data – de har til å kopiere dataene (med endringene) til et nytt sted, og deretter slette den gamle blokken helt. En optimalisering i dette området er at en SSD ikke kan selv slette den gamle blokken, men heller rett og slett lage et notat til å slette blokken på et senere tidspunkt når ting ikke er så opptatt. Sluttresultatet er at SSD-disker passer veldig godt med en ku filsystem og ikke utføre så godt med ikke-ku filsystemer.

Å lage saker interessant, Ku i filsystemet går lett hånd i hånd med en funksjon kalt deduplisering. Dette tillater to (eller mer) identiske blokker av data som skal lagres ved hjelp av bare en enkelt kopi, sparer plass. Med ku, hvis en deduplicated filen endres, den separate twin vil ikke bli påvirket som den modifiserte filens data vil ha blitt skrevet til en annen fysisk blokk.

Ku i sin tur gjør snapshotting relativt enkelt å implementere. Når et øyeblikksbilde er gjort i systemet registrerer bare den nye snapshot som en duplisering av alle data og metadata i volum. Med ku, når det gjøres endringer, øyeblikksbildet data forblir intakt, og en konsekvent visning av filsystemet status på det tidspunkt øyeblikksbildet ble gjort kan opprettholdes.

En ny venn

Med ovenstående i tankene, særlig ettersom Ubuntu har gjort btrfs tilgjengelig som install-tid alternativet, Jeg skjønte det ville være et godt tidspunkt å dykke inn btrfs og utforske litt. 🙂

Part 2 kommer snart …

Dele
Saturday, February 21st, 2009 | Author:

The relatively new document types Office 2007 has given some web hosts problems when their clients want to offer documents for download. Most often, the documents are being offered by the web server as text/html which is then rendered as a ton of garbage on the web user’s screen.

The best way to resolve this is to add all the MIME types to the server’s main configuration. IIS7 for Windows already has these MIME types set up correctly by default. IIS6 and IIS5 require the MIME types to be added, as might Apache on older installations. For Apache, there is also a workaround for the individual domain owner to add the mime types via Apache’s .htaccess fil.

IIS 6 MIME type addition (for the Server Administrator)

Before this can be done, ensure that your server is also set to allow direct metabase editing:

  1. Load IIS Manager: Start -> Run, “inetmgr” -> [OK]
  2. Right click theserverand clickProperties
  3. Within theInternet Information Servicestab (usually the only tab), ensure that theEnable Direct Metabase Editcheckbox is checked.
  4. Click [OK]

Be sure to back up IIS’s configuration (her for IIS5) beforehand. I won’t take any responsibility for an admin breaking his server. I have reason to believe this may also work on IIS5 however I have just as much reason to believe that it might just give lots of errors. If an IIS5 / Windows 2000 admin is willing to test this for me after backing up your configuration please let me know of the results.

Copy the following text into a file named msoff07-addmime.vbs and execute it once from the commandline by typing cscript msoff07-addmime.vbs and pressing Enter. If you run it more than once, the MIME types will be added each time and you will have multiple identical entries:

' This script adds the necessary Office 2007 MIME types to an IIS 6 Server.
' To use this script, just double-click or execute it from a command line.
' Running this script multiple times results in multiple entries in the
' IIS MimeMap so you should not run it more than once.
' Modified from http://msdn.microsoft.com/en-us/library/ms752346.aspx
 
Dim MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Const ADS_PROPERTY_UPDATE = 2 
 
' Set the MIME types to be added
MimeTypesToAddArray = Array(".docm", "application/vnd.ms-word.document.macroEnabled.12", _
".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", _
".dotm", "application/vnd.ms-word.template.macroEnabled.12", _
".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template", _
".potm", "application/vnd.ms-powerpoint.template.macroEnabled.12", _
".potx", "application/vnd.openxmlformats-officedocument.presentationml.template", _
".ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12", _
".ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12", _
".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow", _
".pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12", _
".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation", _
".sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12", _
".sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide", _
".xlam", "application/vnd.ms-excel.addin.macroEnabled.12", _
".xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12", _
".xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12", _
".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", _
".xltm", "application/vnd.ms-excel.template.macroEnabled.12", _
".xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template") 
 
' Get the mimemap object
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")
 
' Call AddMimeType for every pair of extension/MIME type
For counter = 0 til UBound(MimeTypesToAddArray) Trinn 2
    AddMimeType MimeTypesToAddArray(counter), MimeTypesToAddArray(counter+1)
Next
 
' Create a Shell object
Set WshShell = CreateObject("WScript.Shell")
 
' Stop and Start the IIS Service
Set oExec = WshShell.Exec("net stop w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop
 
Set oExec = WshShell.Exec("net start w3svc")
Do While oExec.Status = 0
    WScript.Sleep 100
Loop
 
Set oExec = Nothing
 
' Report status to user
WScript.Echo "Microsoft Office 2007 Document MIME types have been registered."
 
' AddMimeType Sub
Sub AddMimeType (Ext, MType)
 
    ' Get the mappings from the MimeMap property.
    MimeMapArray = MimeMapObj.GetEx("MimeMap") 
 
    ' Add a new mapping.
    i = UBound(MimeMapArray) + 1
    Redim Preserve MimeMapArray(i)
    Set MimeMapArray(i) = CreateObject("MimeMap")
    MimeMapArray(i).Extension = Ext
    MimeMapArray(i).MimeType = MType
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo
 
End Sub

Apache MIME type addition (for the Server Administrator)

Apache stores its MIME types in a file normally located at $installpath/conf/mime.types. See the mod_mime documentation for more on how it works. Arch Linux installs its MIME types at /etc/httpd/conf/mime.types og Parallels Plesk installs it in /usr/local/psa/admin/conf/mime.types. Your distribution might have it in another place, so find your mime.types file by running locate mime.types.

Add the following lines to your mime.types file:

application/vnd.ms-word.document.macroEnabled.12                          docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document   docx
application/vnd.ms-word.template.macroEnabled.12                          dotm
application/vnd.openxmlformats-officedocument.wordprocessingml.template   dotx
application/vnd.ms-powerpoint.template.macroEnabled.12                    potm
application/vnd.openxmlformats-officedocument.presentationml.template     potx
application/vnd.ms-powerpoint.addin.macroEnabled.12                       ppam
application/vnd.ms-powerpoint.slideshow.macroEnabled.12                   ppsm
application/vnd.openxmlformats-officedocument.presentationml.slideshow    ppsx
application/vnd.ms-powerpoint.presentation.macroEnabled.12                pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.ms-powerpoint.slide.macroEnabled.12                       sldm
application/vnd.openxmlformats-officedocument.presentationml.slide        sldx
application/vnd.ms-excel.addin.macroEnabled.12                            xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12                     xlsb
application/vnd.ms-excel.sheet.macroEnabled.12                            xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet         xlsx
application/vnd.ms-excel.template.macroEnabled.12                         xltm
application/vnd.openxmlformats-officedocument.spreadsheetml.template      xltx

Apache MIME type addition (For the domain owner with at least FTP accessusing .htaccess file)

Add the following text to your domain’s .htaccess fil, most commonly in an httpdocs/ directory

AddType application/vnd.ms-word.document.macroEnabled.12 docm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
AddType application/vnd.ms-word.template.macroEnabled.12 dotm
AddType application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
AddType application/vnd.ms-powerpoint.template.macroEnabled.12 potm
AddType application/vnd.openxmlformats-officedocument.presentationml.template potx
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 ppam
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ppsm
AddType application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
AddType application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm
AddType application/vnd.openxmlformats-officedocument.presentationml.slide sldx
AddType application/vnd.ms-excel.addin.macroEnabled.12 xlam
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 xlsb
AddType application/vnd.ms-excel.sheet.macroEnabled.12 xlsm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
AddType application/vnd.ms-excel.template.macroEnabled.12 xltm
AddType application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
Dele