Arkiv för kategori » säkerhetskopiering «

Söndag, 4 Augusti, 2013 | Författare:

Historia

Mycket hade förändrats sedan jag senast nämnde mitt personlig server – det har vuxit med stormsteg (Det har nu en 7TB md RAID6) och det hade nyligen byggts om med Ubuntu Server.

Arch var aldrig ett misstag. Arch Linux har redan lärt mig så mycket om Linux (och kommer att fortsätta att göra det på min andra dator). Men Arch kräver definitivt mer tid och uppmärksamhet än jag skulle vilja spendera på en server. Helst skulle jag föredra att kunna glömma servern ett tag tills en påminnelse mail säger “um … Det finns ett par uppdateringar som du bör titta på, buddy.”

Rymden är inte gratis – och inte heller är utrymmet

Möjligheten att migrera till Ubuntu var det faktum att jag hade slut på SATA portar, portarna krävs för att ansluta hårddiskar till resten av datorn – att 7TB RAID array använder en hel del portar! Jag hade till och med gett bort min mycket gamla 200GB hårddisk som det tog upp en av dessa portar. Jag varnade också mottagaren att diskens SMART övervakning anges det var otillförlitliga. Som en tillfällig lösning på bristen på SATA-portar, Jag hade även migrerat serverns OS till en uppsättning av fyra USB-minnen i en md RAID1. Crazy. Jag vet. Jag var inte alltför glada om hastigheten. Jag bestämde mig att gå ut och köpa en ny pålitlig hårddisk och en SATA-expansionskort för att gå med det.

Serverns primära Arch partition använde omkring 7 GB hårddisk. En stor bit av det var en swap fil, cachad data och annat diverse eller onödiga filer. Övergripande den verkliga storleken av OS, inklusive /hem mapp, var endast omkring 2 GB. Detta fick mig att titta in i en supersnabb SSD köra, tänker kanske en mindre kanske inte så dyrt. Det visade sig att den billigaste icke-SSD-enhet jag kunde hitta faktiskt kosta mer än en av dessa relativt små SSD. Yay för mig. 🙂

Choice? Woah?!

Vid val av OS, Jag hade redan bestämt att det inte skulle vara Arch. Av alla de andra populära distributionerna, Jag är mest bekant med Ubuntu och CentOS. Fedora var också en möjlighet – men jag hade inte på allvar ännu ansåg det för en server. Ubuntu segrade runda.

Nästa beslut jag var tvungen att göra inte falla mig in förrän Ubiquity (Ubuntus installationsguide) frågade den av mig: Hur du ställer in partitioner.

Jag var van vid att använda SSD i Linux – Jag är väl medveten om de fallgropar av att inte använda dem på rätt sätt, främst på grund av deras risk för dålig livslängd vid felaktig.

Jag ville inte använda en dedikerad partition för växlingsutrymme. Jag planerar att uppgradera servern moderkort / CPU / minne inte alltför långt i framtiden. Baserat på att jag bestämde jag kommer att sätta swap i en växlingsfil på den befintliga md RAID. Swapen kommer inte att vara särskilt snabb men dess enda syfte kommer att vara för den sällsynta tillfällen när något har gått fel och minnet är inte tillgänglig.

Detta lämnade mig sedan för att ge rotsökvägen den fullständiga 60GB ur en Intel 330 SSD. Jag ansåg att separera / hem men det verkade bara lite meningslöst, med tanke på hur litet användes tidigare. Jag först ställa in partitionen med LVM – något jag har nyligen gjort när jag satt upp en Linux-box (verkligen, det finns ingen ursäkt att inte använda LVM). När det kom till delen där jag skulle konfigurera filsystem, Jag klickade på den nedrullningsbara och instinktivt valt ext4. Då märkte jag btrfs på samma lista. Hänga på!!

Men ett vad?

Btrfs (“smör-eff-ess”, “bättre eff-ess”, “bee-tree-eff-ess”, eller vad du vill på dagen) är en relativt ny filsystem utvecklats för att föra Linux’ filsystem funktioner tillbaka på rätt spår med nuvarande filsystem teknik. Den nuvarande King-of-the-Hill filsystemet, “ext” (den aktuella versionen heter ext4) är ganska bra – men det är begränsat, fastnat i ett gammalt paradigm (tänka på ett helt nytt F22 Raptor vs. en F4 Phantom med en halv-Jested försök till en likvärdighet uppgradering) och det är osannolikt att kunna konkurrera för mycket länge med nyare Enterprise filsystem såsom Oracles ZFS. Btrfs har fortfarande en lång väg att gå och betraktas fortfarande experimentell (beroende på vem man frågar och vilka funktioner du behöver). Många anser att det är stabilt för grundläggande användning – men ingen kommer att göra några garantier. Och, naturligtvis, alla säger att och testa säkerhetskopior!

Mooooooo

Den mest grundläggande skillnaden mellan ext och btrfs är att btrfs är en “CoW” eller “Kopiera på Skriv” filsystem. Detta innebär att data faktiskt aldrig medvetet över av filsystemet s interna. Om du skriver en ändring till en fil, btrfs kommer att skriva dina ändringar till en ny plats på fysiska medier och kommer att uppdatera de interna pekare för att hänvisa till den nya platsen. Btrfs går ett steg längre i att de interna pekare (kallad metadata) är också CoW. Äldre versioner av ext skulle helt enkelt överskrivna data. Ext4 skulle använda en tidskrift för att säkerställa att korruption inte kommer att inträffa ska nätkontakten kan ryckte ut på de mest olämplig tidpunkt. Tidskriften resulterar i ett liknande antal steg som krävs för att uppdatera data. Med en SSD, den underliggande hårdvaran fungerar en liknande CoW process oavsett vilket filsystem du använder. Detta beror på att SSD-enheter inte kan faktiskt skriva över data – de måste kopiera data (med dina ändringar) till en ny plats och sedan radera det gamla blocket helt. En optimering inom detta område är att en SSD inte ens kan radera det gamla blocket utan helt enkelt göra en anteckning att radera blocket vid ett senare tillfälle när saker inte är så upptagen. Slutresultatet är att SSD-enheter passar mycket väl med en ko filsystem och inte prestera lika bra med icke-ko filsystem.

För att göra saken intressant, Ko i filsystemet går lätt hand i hand med en funktion som kallas deduplicering. Detta tillåter två (eller flera) identiska block av data som skall lagras med bara en enda kopia, sparar utrymme. Med ko, Om en fil deduplicated modifieras, den separata dubbla påverkas inte eftersom den modifierade filens data kommer ha skrivit till en annan fysisk kvarter.

Ko tur gör snapshotting relativt lätt att implementera. När en ögonblicksbild görs systemet registrerar endast den nya ögonblicksbilden som en dubblering av alla data och metadata inom volymen. Med ko, när ändringar görs, ögonblicksbilden data förblir intakt, och en enhetlig bild av filsystemet status vid tidpunkten för ögonblicksbilden gjordes kan upprätthållas.

En ny vän

Med ovanstående i åtanke, särskilt som Ubuntu har gjort btrfs finns som install-tid alternativet, Jag tänkte att det skulle vara en bra tid att dyka in btrfs och utforska lite. 🙂

Del 2 kommer snart …

Dela med sig
Lördag, 21 februari, 2009 | Författare:

De relativt nya dokumenttyper Kontors 2007 har gett en del webbhotell problem när deras kunder vill erbjuda dokument för nedladdning. Oftast, dokumenten som erbjuds av webbservern som “text / html” som sedan återges som ett ton skräp på nätet användarens skärm.

Det bästa sättet att lösa detta är att lägga all MIME slag till serverns huvud konfiguration. IIS7 för Windows redan har dessa MIME-typer inställd som standard. IIS6 och IIS5 kräver MIME-typer som ska läggas, som kanske Apache på äldre installationer. För Apache, finns det också en lösning för den enskilde ägaren domänen för att lägga till MIME-typer via Apaches .htaccess fil.

IIS 6 MIME-typ tillägg (för Server Administrator)

Innan detta kan göras, se till att din server är också inställd på att tillåta direkt metabasen redigering:

  1. Belastning IIS-hanteraren: Start -> Run, “inetmgr” -> [OK]
  2. Högerklicka på “server” och klicka “Properties”
  3. Inom “Internet Information Services” flik (oftast den enda fliken), säkerställa att den “Enkunna Direkt Meta Redigera” kryssrutan är markerad.
  4. Klicka [OK]

Se till att Säkerhetskopiera IIS konfiguration (här för IIS5) förhand. Jag kommer inte att ta något ansvar för en admin bryta hans server. Jag har anledning att tro detta får också arbeta på IIS5 men jag har lika mycket anledning att tro att det bara kan ge massor av fel. Om en IIS5 / Windows 2000 admin är villig att testa detta för mig efter säkerhetskopieringen konfigurationen låt mig veta om resultaten.

Kopiera följande text i en fil med namnet msoff07-addmime.vbs och exekvera den en gång från kommandoraden genom att skriva cscript msoff07-addmime.vbs och trycka på Enter. Om du kör den mer än en gång, MIME-typerna kommer varje gång och du kommer att ha flera identiska poster:

"Detta skript lägger den nödvändiga Office 2007 MIME-typer till en IIS 6 Server.
"För att använda det här skriptet, dubbelklicka eller köra den från en kommandorad.
"Kör det här skriptet flera gånger resulterar i flera poster i
"IIS MimeMap så du bör inte köra det mer än en gång.
"Modifierad från http://msdn.microsoft.com/en-us/library/ms752346.aspx
 
Ingen MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Const ADS_PROPERTY_UPDATE = 2 
 
"Ställ in MIME-typer som ska läggas
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 till UBound(MimeTypesToAddArray) Steg 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.
    Jag = UBound(MimeMapArray) + 1
    Redim Preserve MimeMapArray(Jag)
    Set MimeMapArray(Jag) = CreateObject("MimeMap")
    MimeMapArray(Jag).Extension = Ext
    MimeMapArray(Jag).MimeType = MType
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo
 
End Sub

Apache MIME type addition (för 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 och 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
Dela med sig