chat gpt förfinade anteckningar av sysadmin 1.pdf
Document Details
Uploaded by Deleted User
Full Transcript
Konsument Hårdvara Datorns Delar En dator består av flera grundläggande komponenter som alla har olika roller i hur systemet fungerar. De viktigaste komponenterna inkluderar: 1. Processor (CPU): Datorns hjärna som utför alla instruktioner och beräkningar. 2. Primärminne (RAM): Snabbt, temp...
Konsument Hårdvara Datorns Delar En dator består av flera grundläggande komponenter som alla har olika roller i hur systemet fungerar. De viktigaste komponenterna inkluderar: 1. Processor (CPU): Datorns hjärna som utför alla instruktioner och beräkningar. 2. Primärminne (RAM): Snabbt, temporärt arbetsminne som lagrar data som för närvarande används av systemet. 3. Sekundärminne (Hårddisk/SSD): Långsamt, permanent lagringsutrymme för program och filer. 4. Moderkort: Kopplar samman alla komponenter och ser till att de kan kommunicera med varandra. 5. Nätaggregat (PSU): Förser alla komponenter med den ström de behöver för att fungera. Datorns Komponenter 1. Processor (CPU) Funktion: Utför aritmetiska, logiska, kontroll- och I/O-operationer. Detta inkluderar matematiska beräkningar, jämförelser, hantering av data och instruktioner, samt att läsa in och skriva ut data till primärminnet. Arkitektur: Processorer är byggda efter en viss arkitektur, känd som ISA (Instruction Set Architecture). Processorer med samma ISA kan förstå samma instruktioner. Typer av ISA: o RISC (Reduced Instruction Set Computer): Varje instruktion motsvarar en operation, energisnål och används vanligtvis i mobiltelefoner. o CISC (Complex Instruction Set Computer): Varje instruktion kan utföra flera operationer, snabbare men mer komplex. Vanligast för stationära datorer. Exempel på ISA: o x86 (32-bitars): Introducerades med Intel 80386 (i386) 1985. o x86-64 (64-bitars): Introducerades 1999 av AMD och erbjuder bakåtkompatibilitet med 32-bitars instruktioner, bättre prestanda och stöd för större minnesmängder. 2. Primärminne (RAM) Funktion: Temporärt arbetsminne som används för att lagra data och program som används aktivt av datorn. När datorn stängs av förloras allt innehåll i RAM. Typer av RAM: o DDR SDRAM (Double Data Rate Synchronous DRAM): Den moderna standarden för RAM-minne, med olika versioner (DDR, DDR2, DDR3, DDR4, DDR5) som erbjuder högre hastigheter och större kapacitet över tid. Kapacitet och frekvens: o DDR4: Maximal kapacitet per modul är 64 GB och maximal klockfrekvens 1600 MHz. max transfere rate 3200MT/s o DDR5: Maximal kapacitet per modul är 512 GB och maximal klockfrekvens 4000 MHz. Max transfer rate 8000 MT/s Formfaktorer: o DIMM: För stationära datorer. o SO-DIMM: För bärbara datorer och mindre enheter. 3. Sekundärminne (Lagring) Funktion: Långtidslagring av data och program. Behåller data även när datorn är avstängd. Typer av Lagring: o Magnetisk lagring (HDD): Traditionell hårddisk som använder magnetiska skivor för att lagra data. Hög kapacitet men långsammare än SSD. o Flash-baserad lagring (SSD): Solid State Drives använder flashminne och är mycket snabbare än HDD, men dyrare per gigabyte. Vanliga anslutningar: o SATA (Serial ATA): Används för att ansluta både HDD och SSD. o M.2: Kompakt formfaktor för SSD , speciellt de som använder NVMe-protokollet för högre hastigheter. Protokoll: o SATA: Används för både hårddiskar och äldre SSD. o NVMe: Nytt protokoll för snabbare SSD som använder PCIe-bussen. 4. Moderkort (Motherboard) Funktion: Moderkortet är datorns huvudsakliga kretskort där alla komponenter kopplas samman. Det ansluter processorn, primärminnet, sekundärminnet, grafikkort och andra expansionskort. Formfaktorer: o ATX: Vanligaste formfaktorn för stationära datorer. o Micro-ATX och Mini-ITX: Mindre formfaktorer för kompakta system. Expansion Slots (PCIe): Används för att ansluta expansionskort, såsom grafikkort, ljudkort eller nätverkskort. PCIe-versioner har ökat i hastighet över tid: o PCIe 3.0: 8 Gb/s per bana. o PCIe 4.0: 16 Gb/s per bana. o PCIe 5.0: 32 Gb/s per bana. Lanes: PCIe-kort kan ha olika antal banor (x1, x4, x8, x16), vilket påverkar bandbredden. Ju fler banor, desto högre bandbredd. 5. Nätaggregat (PSU) Funktion: Förser datorn med ström. Olika komponenter kräver olika mängder ström, och nätaggregatet distribuerar rätt mängd ström till varje komponent. Processorens Detaljerade Egenskaper Klockfrekvens: Anger hur många operationer processorn kan utföra per sekund, mätt i GHz. Högre klockfrekvens ger högre prestanda men ökar strömförbrukningen. Kärnor: Moderna processorer har flera kärnor (multikärnig arkitektur) för att hantera flera uppgifter samtidigt. Varje kärna fungerar som en egen processor. Trådar: Processorer kan bearbeta flera trådar per kärna med tekniker som: o Hyper-Threading (Intel): Möjliggör två trådar per kärna. o Simultaneous Multi-Threading (SMT, AMD): Liknande funktion, där två trådar hanteras parallellt av varje kärna. RAM och Minne DDR SDRAM (Double Data Rate Synchronous DRAM): Standard för primärminne, med stöd för parallell inläsning/skrivning av data under varje klockcykel. DDR-versioner: o DDR: Introducerades 1998. o DDR2: 2003. o DDR3: 2007. o DDR4: 2014, maximal kapacitet per modul 64 GB. o DDR5: 2020, maximal kapacitet per modul 512 GB. Kanaler: RAM-moduler kan använda flera kanaler för att kommunicera snabbare med processorn. Exempelvis kan en dator med två moduler i Dual-Channel få högre prestanda än en med bara en kanal. Moderkortets Expansion och Chipset PCIe Slots: Används för att ansluta tilläggskort som grafikkort, nätverkskort eller ljudkort. PCIe-versioner påverkar hur mycket data som kan skickas genom varje bana. Chipset: Äldre moderkort använde sig av en kombination av Northbridge och Southbridge, där Northbridge hanterade snabba komponenter som RAM och PCIe, medan Southbridge hanterade långsammare komponenter som USB och sekundärminne. Moderna moderkort har integrerat Northbridge i processorn och använder ett enhetligt chipset för att hantera alla andra funktioner. Vad är en server? Server: En server är en dator eller programvara som tillhandahåller en tjänst eller resurs till klienter. Exempel på servrar är: o Filserver: Tillhandahåller filåtkomst och lagring. o Webbserver: Levererar webbsidor till klienter via webbläsare. o Spelserver: Hanterar och synkroniserar speldata mellan spelare. Klient-servermodell: Klienter begär resurser eller tjänster från servern, som behandlar och returnerar dem. Peer-to-peer-modell (P2P): Alla enheter kan fungera både som klient och server och delar resurser direkt mellan sig. Serverformfaktor Servrar finns i olika formfaktorer beroende på hur de ska användas och installeras: 1. Rackserver: o Installationsklara i serverrack, ofta monterade med skenor för enkel hantering. Rackservrar är stapelbara och optimerade för utrymme. o Standard 19-tums rack: Den vanligaste formen av serverrack, där varje enhet mäts i "U" (1U = 1,75 tum eller 44,5 mm i höjd). 2. Bladserver: o Består av flera serverblad som är kompletta datorer i ett gemensamt chassi. o Bladchassi: Innehåller flera serverblad och delar resurser som ström, kylning, nätverksanslutning och managementgränssnitt. o Fördelar: Bladservrar optimerar plats och delar på resurser vilket gör dem mer energieffektiva. Open Compute Project (OCP) Open Rack: En ny standard utvecklad av Facebook 2011 för att effektivisera serverhårdvara. Den öppna rackstandarden har: o 21-tums bredd (standard är 19 tum) höjd 1.9 tum standard 1.75. o Fokuserar på förbättrad energieffektivitet och enklare hantering av serverkomponenter. Serverrum Serverrum: Ett serverrum är en dedikerad miljö för att hantera servrar och annan nätverksutrustning. Ett vanligt serverrum innehåller inga skärmar, tangentbord eller möss. Istället administreras servrar på distans via fjärranslutning. Hur man ansluter till en server: o Textbaserade gränssnitt: Använd SSH eller Telnet för att ansluta och administrera servrar via kommandorader. o Grafiska gränssnitt: Använd fjärrverktyg som RDP (Remote Desktop Protocol), HTTPS eller VNC för att ansluta och administrera via grafiska gränssnitt. o KVM (Keyboard, Video, Mouse): Fysisk åtkomst till servrar via en KVM- switch används ofta för initial konfiguration eller vid problem med fjärråtkomst. Använder usb för keyboard and mouse och vga för grafisk anslutning Serverhårdvara Serverhårdvara: Består av liknande komponenter som en vanlig dator, men designad för högre tillförlitlighet, prestanda och redundans. o Processor: Servrar använder ofta fler processorer och kärnor för att hantera högre arbetsbelastning. o Primärminne (RAM): Servrar använder speciella typer av RAM som ECC- RAM (Error Correcting Code) för att automatiskt upptäcka och rätta till datafel. o Sekundärminne (Lagring): Serverlagring är optimerad för snabb åtkomst och datasäkerhet, med protokoll som NVMe och SCSI samt anslutningar som SAS (Serial Attached SCSI). SATA-diskar är ibland kompatibla, men inte lika vanliga. IPMI (Intelligent Platform Management Interface): Ett inbyggt system för fjärrhantering av servrar, som ofta har ett dedikerat nätverkskort (NIC) för detta. Med IPMI kan administratörer övervaka, starta om och hantera servrar även om operativsystemet inte fungerar. Flera processorer och minneshantering UMA (Uniform Memory Access): Alla processorer delar samma minnesbank. Det här systemet är enklare men ovanligt på moderna servrar eftersom det skapar latens vid minnesåtkomst. Användning av minnet måste koordineras mellan processorerna NUMA (Non-Uniform Memory Access): Varje processor har sin egen dedikerade minnesbank. Detta minskar latensen vid åtkomst till lokalt minne, men om en processor behöver nå en annan processors minne (remote memory access) blir latensen högre. o NUMA-pinning: Tilldelning av specifika resurser till specifika processorer för att minimera remote memory access och därmed latens. RAM-kanaler Konsumentdatorer: Vanligtvis 1–4 minneskanaler, där varje kanal stöder 1–2 RAM-moduler. Serverdatorer: 1–8 minneskanaler med stöd för 1–4 RAM-moduler per kanal. Detta möjliggör mycket större mängder RAM, men det kan bli komplext att installera korrekt, särskilt i NUMA-system. Error Correcting Code (ECC-RAM) ECC-RAM: Server-RAM som lagrar extra kontrollbitar tillsammans med data för att upptäcka och rätta till fel. o Om en bit förändras kan ECC rätta till felet. o Om två ändras kan felet upptäckas men inte korrigeras. o Om fler bitar ändras så kan det ej upptäckas eller korrigeras Varför använda ECC-RAM? Datakorruption i RAM kan leda till allt från mindre fel till allvarliga kraschfel i applikationer och operativsystem (t.ex. Blue Screen of Death). Hur vanligt är datakorruption? 8% av google dimms påverkades av datakorruption per år Strömförsörjning Power Supply Unit (PSU): Server-PSU är oftast redundanta och har stöd för hot- swap, vilket innebär att de kan bytas ut under drift utan att stänga av systemet. PDU 3 fas in 1 fas ut finnas fjärrstyrning och övervakning via pdun Uninterruptible Power Supply (UPS): En batteribackup som säkerställer att servrarna fortsätter att fungera under strömavbrott och skyddar mot spänningsvariationer. Går även att konfigurera för att se till att servrarna stängs av på ett mindre abrupt sätt Serverlagring Serverlagringsprotokoll: o NVMe och SCSI: Vanligt i servrar för snabb dataöverföring och hantering av stora mängder data. o SAS (Serial Attached SCSI): Anslutningsstandard som ofta används för serverdiskar. o SATA-kompatibilitet: Vissa serverlagringssystem stödjer SATA-diskar via SCSI-controllers, men inte tvärtom. Server Backplane: Gör det möjligt att smidigt installera eller byta ut diskar under drift (hotswap), vilket är vanligt i datacenter och servrar med krav på hög tillgänglighet. PCIe Lanes PCIe Lanes: Servrar har ofta fler PCIe-banor (t.ex. x32), som sedan delas upp i mindre banor (t.ex. x16) för att hantera fler komponenter samtidigt. Det är dock inte lika standardiserat. Vad är ett operativsystem? Ett operativsystem (OS) är en samling av mjukvaror som gör att datorn kan kommunicera med hårdvaran och användaren. Det fungerar som en mellanhand mellan användarens kommandon och datorns maskinvara. Operativsystemets huvuduppgifter Tillhandahålla ett användargränssnitt: Detta kan vara antingen ett grafiskt gränssnitt (GUI) eller ett kommandoradsgränssnitt (CLI). Filhantering: Skapa, läsa, skriva, flytta och ta bort filer. Processhantering: Skapa, köra och avsluta processer (program som körs). Hårdvaruhantering: Hantera och allokera resurser som CPU, minne, och I/O- enheter. Säkerhet: Se till att endast behöriga användare och processer får åtkomst till vissa delar av systemet. Operativsystemets kärna (Kernel) Kärnan(ett program som alltid körs) är den mest kritiska delen av operativsystemet och hanterar direkt kommunikationen mellan hårdvara och mjukvara. Den ser till att resurser tilldelas korrekt och att processer körs säkert. System program: Program som inre är del av kärnan men ändå viktiga för att systemet ska fungera Säkerhetskontroller Diagnostiserar processer Mjukvara och maskinkod Mjukvara är program som utför specifika uppgifter på en dator. För att mjukvara ska kunna köras måste den omvandlas till maskinkod, som är den binära koden datorn förstår. Det finns två huvudsakliga sätt att översätta programkod till maskinkod: Compiler: Översätter hela programkoden till maskinkod innan exekvering (t.ex. C-program). Interpreter: Översätter koden rad för rad medan den körs (t.ex. Python). Användargränssnitt (User Interface) Implementeras ofta med system aplikationer/bibliotek Shell De gränssnitt som människor använder Det finns två typer av användargränssnitt: 1. CLI (Command-Line Interface): Användaren interagerar genom att skriva kommandon i textform. 2. GUI (Graphical User Interface): Användaren interagerar via grafiska element som ikoner och fönster. Fördelar med CLI: Snabbare och effektivare för erfarna användare. Mer kontroll och tillgång till avancerade funktioner. Fördelar med GUI: Lättare att använda, speciellt för nybörjare. Mer intuitivt och visuellt. API för att program pratar med varandra: använder applikations bibliotek finns användar bibliotek och applikationsbibliotek Processer och multitasking En process är ett program som körs på datorn. Operativsystemet hanterar flera processer samtidigt genom tekniker som multitasking och time-sharing, vilket innebär att processorn snabbt växlar mellan olika processer. Operativsysytemet överser processer och håller koll på PID identifierar prosessen USER användare som startat processen PPID är det någon process som startat denna process Parent-process: En process som startar andra processer. Child-process: Processer som skapas av en parent-process. Trådar (Threads): En process kan innehålla flera trådar, som är mindre enheter som kan köra parallellt. Består av minst en tråd varje tråd kan köras nästan oberoende av varandra ---- inte samma sak som hårdvarutrådar Flera processer Hanteras som separata program Och kan kommunicera sinsemellan för att utföra uppgiften Signaler: Operativsystemet kommunicerar med processer med signaler -olika beroende på OS Operativsystemet från unix-familjen har många signaler HUP hangup restarts the program TERM terminate -requests termination, the process gets the signal exits and cleanups KILL the kernel forces immediate termination without signaling the process Bakgrundsprocesser Har inget användar gränssnitt Windows:servicess Unix: daemons Process states: Running Terminated,exited,finished,stopped,crashed Unresponcive, frozen Time-sharing är en teknik där flera användare och processer kan använda datorns resurser "samtidigt." I praktiken innebär detta att operativsystemet växlar mycket snabbt mellan olika processer eller användarsessioner, så att varje process eller användare får en illusion av att ha datorn för sig själv. Två viktiga koncept inom Time-Sharing: 1. Multi-Tasking: o Operativsystemet kan köra flera processer "parallellt". Även om endast en process kan köra på processorn vid ett givet ögonblick, växlar systemet så snabbt mellan processerna att det verkar som om de körs samtidigt. o Processorn allokerar en liten tidsdel, en så kallad "time-slice," till varje process, innan den går vidare till nästa. Detta upprepas kontinuerligt, vilket gör att alla aktiva processer får exekvera i tur och ordning. 2. Multi-User: o Detta koncept innebär att flera användare kan vara inloggade och använda datorn samtidigt. Time-sharing möjliggör snabb växling mellan olika användarsessioner, vilket gör att varje användare får sin andel av processorns tid. o Användare kan ha sina egna program och filer och utföra sina uppgifter oberoende av varandra, även om de delar på samma datorresurser. Fördelar med Time-Sharing Effektiv resursanvändning: Time-sharing möjliggör effektiv användning av datorns resurser genom att fördela processortiden mellan flera processer och användare. Användarvänlighet: Flera användare kan samtidigt köra program och interagera med datorn utan att behöva vänta på att en annan användares program ska bli klart. Flexibilitet: Flera program kan köras och hanteras av operativsystemet, vilket gör det möjligt för en användare att arbeta med flera uppgifter parallellt. Time-Sharing Systems och operativsystemets roll Time-sharing operativsystem måste kunna: Hantera multitasking: Detta inkluderar att allokera processortid till olika processer och att växla mellan dessa utan märkbara fördröjningar. Stödja multi-user access: Att hantera flera användare som är inloggade samtidigt, vilket inkluderar att separera deras program och data och se till att de inte stör varandra. Time-sharing-systemen kräver också: Säkerhet och åtkomstkontroll: Eftersom flera användare använder samma system samtidigt, måste operativsystemet säkerställa att en användare inte har otillbörlig åtkomst till andra användares data eller resurser. Rättvis resursallokering: Processer ska få tillgång till resurser på ett rättvist sätt, vilket innebär att ingen enskild process eller användare ska kunna ta över hela systemet. Historisk utveckling av Time-Sharing Time-sharing började utvecklas på 1960-talet och var en av de stora förändringarna inom datavetenskapen eftersom det möjliggjorde för flera användare att dela på dyra datorresurser, vilket tidigare var en begränsning. Detta ledde till att stora datorer (mainframes) kunde användas av flera personer samtidigt, vilket ökade effektiviteten och produktiviteten. Viktiga säkerhetskoncept i operativsystem 1. Skydd av operativsystemet: o Operativsystemet skyddar sig självt så att ingen annan process eller användare kan manipulera det. Detta säkerställer att systemet förblir i kontroll över datorns resurser och funktioner. 2. Enforced Sharing och rättvis service: o Operativsystemet ser till att ingen process kan ta över alla hårdvaru- resurser. Det finns mekanismer som garanterar att resurser delas rättvist mellan olika processer och användare, vilket förhindrar att en process monopoliserar resurserna. 3. Minneskydd: o Varje process tilldelas sin egen del av primärminnet (RAM) och operativsystemet ser till att processer inte kan komma åt eller ändra varandras data eller instruktioner. Detta skyddar data och program från att skadas av andra processer. 4. Access Control (Åtkomstkontroll): o Tillgång till olika resurser som filer, mappar och enheter skyddas av åtkomstkontroller. Dessa kontroller ser till att endast behöriga användare och processer kan komma åt eller ändra dessa resurser. 5. Användarautentisering: o Innan användare kan få åtkomst till systemet måste de autentiseras, oftast genom användarnamn och lösenord. Detta säkerställer att endast auktoriserade användare kan logga in och använda systemresurser. Hur operativsystem implementerar säkerhet 1. Autentisering och Access Control: o Användare autentiseras vanligtvis genom inloggningsuppgifter (t.ex. användarnamn och lösenord). o När en användare har loggat in tilldelas de specifika rättigheter och behörigheter baserat på sin användarroll. Detta begränsar deras åtkomst till systemresurser. 2. Administratörsanvändare: o För att kunna utföra känsligare eller systemkritiska uppgifter måste det finnas en användare med administratörsrättigheter. o I Windows kallas denna användare "Administrator," medan andra system kan ha liknande användare med högre behörigheter. Vanliga användare kan ibland tilldelas temporära administratörsrättigheter för att utföra specifika uppgifter. 3. User Account Control (UAC) i Windows: o UAC är en funktion i Windows som tillåter användare att temporärt få administratörsrättigheter för att utföra vissa uppgifter. Detta kräver ofta ytterligare autentisering för att bekräfta att användaren har rätt att utföra dessa åtgärder. 4. Processrättigheter: o I Windows körs processer som standard med begränsade rättigheter men kan be om utökade rättigheter via UAC om det behövs. o I andra operativsystem ärver processer användarens rättigheter. Detta innebär att en process endast har tillgång till de resurser som användaren själv har tillgång till. Virtuellt minne Virtuellt minne är en teknik som låter datorn använda hårddisken som extra RAM när det fysiska minnet tar slut. Detta görs genom att data flyttas mellan RAM och en page-fil eller swap-partition på hårddisken. Paging och swapping Paging: Datan delas in i små block och flyttas mellan RAM och hårddisken vid behov. Swapping: Hela processer flyttas till hårddisken när minnet är fullt. Om hela det virtuella minnet fylls kan operativsystemet avsluta processer för att frigöra utrymme, vilket kallas Out-of-Memory (OOM) killer. Drivrutiner (Device Drivers) Drivrutiner är en typ av mjukvara som gör det möjligt för operativsystemet att kommunicera med datorns hårdvaruenheter, exempelvis tangentbord, skrivare, grafikkort eller nätverkskort. Drivrutiner fungerar som en översättare mellan operativsystemet och hårdvaran, vilket gör att program kan använda hårdvarans funktioner utan att behöva veta hur den fungerar på en teknisk nivå. Vad är drivrutiner och varför behövs de? Drivrutiner innehåller instruktioner som operativsystemet använder för att styra en specifik hårdvaruenhet. De ser till att program inte behöver anpassas för varje typ av hårdvara som finns, vilket gör det enklare att använda och installera ny utrustning på datorn. Hur drivrutiner fungerar Operativsystemet agerar som en mellanhand mellan applikationer och hårdvara, och drivrutiner är den del av mjukvaran som möjliggör denna kommunikation. Generella drivrutiner: Dessa är redan inkluderade i operativsystemets kärna och täcker de vanligaste hårdvaruenheterna. Hårdvaruspecifika drivrutiner: Dessa är ofta inte inkluderade i kärnan och behöver installeras separat när en ny enhet ansluts till datorn. Dessa drivrutiner är skräddarsydda för specifika hårdvarumodeller. Installera drivrutiner Automatisk installation: I Windows sker drivrutinsinstallationen ofta automatiskt när en ny enhet ansluts. Operativsystemet försöker hitta och installera rätt drivrutin via internet eller från en befintlig drivrutinsdatabas. Manuell installation: I vissa fall behöver användaren själv installera drivrutiner, särskilt om det är specialiserad hårdvara eller om de automatiska drivrutinerna inte fungerar korrekt. Drivrutiner och operativsystemet Operativsystemet innehåller generella drivrutiner för att kunna kommunicera med de vanligaste typerna av hårdvara utan att användaren behöver vidta några åtgärder. När en ny enhet ansluts till datorn, identifierar operativsystemet enheten och laddar in den mest lämpliga drivrutinen för att möjliggöra dess funktion. Säkerhet i operativsystem Operativsystemet implementerar olika säkerhetsfunktioner för att skydda data och resurser: Authentication: Verifiering av användarens identitet, ofta genom lösenord. Access Control: Begränsning av användares tillgång till filer och resurser. User Account Control (UAC): I Windows tillåter UAC användare att tillfälligt få administratörsrättigheter för att utföra specifika uppgifter. Historisk utveckling av operativsystem 1940-1950-talet: Enkla system där man skrev program för specifik hårdvara, och endast ett program kunde köras åt gången. 1960-talet: Time-sharing systems introducerades, vilket möjliggjorde att flera användare och processer kunde köra samtidigt. Vad är ett Filsystem? Ett filsystem är en metod som operativsystemet använder för att organisera, lagra och hantera filer på en lagringsenhet som en hårddisk, SSD, eller USB-enhet. Filsystemet hjälper till att strukturera hur data sparas och hämtas från lagringsenheten. Huvudkomponenter i ett filsystem Filer: Data som lagras på en lagringsenhet. Det kan vara dokument, bilder, program eller andra typer av data. Kataloger (mappar): En metod för att organisera och gruppera filer. Kataloger kan innehålla andra kataloger och filer och bildar en hierarkisk struktur som liknar ett träd. Datakorruption Datakorruption uppstår när data blir felaktigt ändrad eller förlorad, ofta på grund av avbrott vid skrivning till lagringsenheten. Vanliga orsaker till datakorruption inkluderar: Plötsliga avstängningar: Om en dator stängs av utan att genomföra en korrekt avstängningsprocess kan data som håller på att skrivas till lagringsenheten bli skadad. Skadad hårdvara: Problem med hårddisken, minnesfel eller andra hårdvaruproblem kan leda till korruption av data. För att minska risken för datakorruption bör man alltid stänga av systemet korrekt och undvika att avbryta pågående skrivoperationer. Filträd Ett filsystem organiseras som ett träd, där roten (root) är startpunkten, och varje gren representerar kataloger som innehåller andra filer eller kataloger. I detta trädliknande struktur är: Root: Den översta katalogen i filstrukturen. Parent: En överordnad katalog som innehåller andra kataloger eller filer. Child: En katalog eller fil som ligger under en överordnad katalog. Filstruktur och Hierarki Filsystemet använder en hierarkisk struktur för att organisera data. Ett exempel är Windows-filstrukturen, där den högsta nivån ofta börjar med en enhetsbokstav (t.ex. C:\). Därifrån skapas en hierarki av mappar och filer. Absolut och Relativ sökväg Absolut sökväg: Den fullständiga sökvägen från rotkatalogen till en specifik fil eller katalog (t.ex. C:\Users\NICS\Downloads). Relativ sökväg: En sökväg som utgår från den aktuella katalogen där du befinner dig, vilket gör att man kan navigera utan att skriva den fullständiga sökvägen (t.ex. Downloads från C:\Users\NICS). Navigering med CLI (Command-Line Interface) För att navigera i filsystemet via kommandoraden används kommandon som: dir: Lista innehållet i en katalog. cd: Ändra den aktuella katalogen...: Navigera till överordnad katalog.. : Refererar till den aktuella katalogen. Vanliga Filsystem Det finns flera olika filsystem, och valet beror ofta på operativsystemet eller användningsområdet. Några av de vanligaste inkluderar: NTFS (New Technology File System): Används i moderna Windows-system och stöder avancerade funktioner som filrättigheter, komprimering, och journaling. RFS kommer antagligen ersätta NTFS FAT32 (File Allocation Table 32): Ett äldre filsystem som fortfarande används för USB-enheter och externa lagringsenheter. Begränsat till maximalt 4 GB per fil. Stödjer ej avancerade funktioner som kryptering, jurnaling, compression exFAT: En förbättrad version av FAT32 som stöder större filstorlekar och används ofta för SD-kort. APFS (Apple File System): Standardfilsystem för macOS, iOS och andra Apple- produkter. EXT4 och XFS: Vanliga i Linux-system. Journaling Filesystems Journaling är en funktion i moderna filsystem (som NTFS och EXT4) som hjälper till att förhindra datakorruption. När ändringar görs i filsystemet loggas dessa först i en journal innan de faktiskt skrivs till lagringsenheten, vilket gör det möjligt att återhämta data om något skulle gå fel. NTFS Filrättigheter I NTFS kan användare och grupper tilldelas olika rättigheter för att skydda filer och kataloger. Dessa rättigheter styr vad användarna kan göra, till exempel: Read: Tillåter att läsa filens innehåll. Write: Tillåter att ändra filens innehåll. Modify: Kombinerar läs och execute- och skrivbehörigheter och tillåter även att ta bort filer. Full Control: Ger full åtkomst, inklusive möjligheten att ändra rättigheter. Samt ta över ägandeskap Read & Execute: läsa och köra filer List folder contents: finns bara för mappar/kataloger för att se vad den inehåller Special permissions: unik kombinerat advanced permissions som windows inte har förberett. Ägandeskap och Inheritance Ägandeskap: Varje fil och katalog har en ägare som har full kontroll över att ändra behörigheter. Inheritance (Arv): Rättigheter som ärvs från överordnade kataloger. Om man vill kan man bryta arv och ställa in specifika rättigheter för en viss katalog eller fil. Rättigheten take ownership: ger andra förmåga att ta över ägandeskapet Administrator: kan alltid ta över äganderättighet, oavsett tilldelade rättigheter NTFS Inheritance (Arv) Rättigheter ärvs från parent (överordnad) katalog: När en fil eller mapp skapas i en katalog, kommer den automatiskt att ärva alla tilldelade rättigheter från den överordnade katalogen(F9 - filsystem). Hur man hanterar arv: Bryta inheritance: Det är möjligt att bryta arvet, vilket innebär att du kan ställa in unika rättigheter för en fil eller katalog utan att följa rättigheterna från parent- katalogen. Detta görs ofta för att skapa en mer kontrollerad åtkomststruktur för specifika filer eller kataloger. Om du har en egen definierad filstruktur kan du bryta arvet, men se till att låta child-noderna ärva rättigheter från den nya inställningen(F9 - filsystem). Rekommendationer: Att använda arv förenklar rättighetshanteringen och säkerställer att rättigheter är konsekventa över hela filstrukturen. NTFS Disable Inheritance Det är möjligt att bryta inheritance (arvet) i NTFS om du vill att en specifik fil eller mapp ska ha unika rättigheter som skiljer sig från den överordnade katalogen. När arvet är inaktiverat, kan du definiera anpassade rättigheter för just den filen eller mappen(F9 - filsystem). Rekommendationer Använd inheritance där det är möjligt: Om du har en standardfilstruktur bör du låta inheritance vara aktiverat för att förenkla hanteringen av rättigheter. Bryt arv i specifika fall: Om du skapar en egen definierad filstruktur är det ofta fördelaktigt att bryta arvet, men låta underordnade noder ärva rättigheter från den nya inställningen NTFS Effective Permissions Effektiva behörigheter visar vilka rättigheter en användare eller grupp faktiskt har på en fil eller mapp, särskilt när det finns flera lager av rättigheter och arv. När det finns flera nivåer av arv och manuellt inställda rättigheter kan det bli komplext att förstå vilka behörigheter som gäller. För att avgöra de effektiva behörigheterna följer NTFS en prioriteringsordning: 1. Explicit Deny: Rättigheter som uttryckligen har satts till "Deny" har högsta prioritet och kommer att övertrumfa alla andra rättigheter. 2. Explicit Allow: Rättigheter som uttryckligen har satts till "Allow" kommer efter "Explicit Deny." 3. Inherited Deny: Rättigheter som ärvs men som har "Deny" kommer härnäst. 4. Inherited Allow: Rättigheter som ärvs och har "Allow" har lägst prioritet (F9 - filsystem). Detta innebär att om en användare har en explicit "Deny"-behörighet någonstans, kommer de inte att kunna få åtkomst även om de har en "Allow"-behörighet någon annanstans. Sammanfattning Ett filsystem är en kritisk del av hur data organiseras och hanteras på en dator. Genom att förstå filsystemens struktur, navigering via CLI, olika filsystemstyper och säkerhetsfunktioner som NTFS-filrättigheter kan man effektivt arbeta och hantera filer på ett säkert och organiserat sätt. Lagring är en fundamental del av systemadministration och datorarkitektur. Informationen i dokumentet täcker olika aspekter av sekundärminne, såsom hårddiskar (HDD), solid-state-enheter (SSD), och relaterade teknologier och principer. Typer av minne Volatile Memory: Tappar sitt innehåll när strömmen bryts, används för primärminne (ex. RAM). Non-volatile Memory: Behåller sitt innehåll även när strömmen bryts och används för sekundärminne (ex. hårddiskar och SSD). Data Access Patterns Random Access: Data kan läsas eller skrivas utan ett specifikt mönster, vanligt för primärminne. Sequential Access: Data läses och skrivs sekventiellt, som ett band. Sekundärminne hanteras ofta sekventiellt. Enheter för information Data mäts i: Bits: Den minsta informationsenheten, en binär 1 eller 0. Bytes: En grupp av 8 bits (ex. 1101 0110). Prefix: T.ex. TB, GB, MB används för att indikera storleken på data. SI och IEC Prefixer SI-prefixer (decimal): Ex. 1 KB = 1 000 bytes, 1 MB = 1 000 000 bytes. IEC-prefixer (binär): Ex. 1 KiB = 1 024 bytes, 1 MiB = 1 048 576 bytes. Det är viktigt att förstå skillnaden, särskilt när man jämför lagringskapacitet. Filsystem och lagring Ett filsystem organiserar och hanterar data på en lagringsenhet. Viktiga begrepp inkluderar: Block Size: Den minsta enhet som ett filsystem kan hantera. Standard är ofta 4 KiB (4096 bytes). Sector Size: Den fysiska lagringsenhetens minsta läs-/skrivenhet, vanligtvis 512 bytes eller 4096 bytes på modern hårdvara. Hard Disk Drive (HDD) Introduktion: HDDs har varit standarden för sekundär lagring sedan 1956 och erbjuder kapaciteter mellan 1–20 TB. Lagringsmetod: Data lagras på roterande skivor och läses/sparas med ett läs- /skrivhuvud. Skador: HDDs är känsliga för stötar och vibrationer, särskilt under drift. Fel som bad sectors eller head crashes kan orsaka dataförlust. Skydd: Hårddiskar använder diskparkering för att skydda läshuvudet när disken är avstängd. Track: bana runt disken Sector: tårtbit S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) S.M.A.R.T. är en teknik som övervakar hårddiskar och SSD för att hålla koll på deras hälsostatus. Den loggar fel som uppstår och kan också varna för potentiella framtida haverier innan de inträffar(F10 - lagring). S.M.A.R.T. är en viktig funktion för att identifiera problem tidigt och kan hjälpa till att förhindra dataförlust genom att uppmärksamma användaren på när det är dags att säkerhetskopiera eller byta ut en enhet. Solid State Drive (SSD) Introduktion: SSDs är snabbare än HDDs och lagrar data elektroniskt istället för mekaniskt. Kapaciteter varierar från 250 GB till 8 TB. 500/10000 MB/s Flash Cells: SSDs använder minnesceller för att lagra data i form av elektrisk laddning. Slitage: Cellerna i SSDs slits ut vid skrivoperationer, men tekniker som wear leveling fördelar slitage jämnt över minnet för att förlänga livslängden. Over Provisioning: SSDs har fler celler än vad som visas för datorn, vilket hjälper till att förlänga deras livslängd. Multi-Level Cell (MLC) Multi-Level Cell-tekniken används i flashminne för att lagra mer än en bit per cell. Detta innebär att varje cell kan hålla flera nivåer av elektrisk laddning för att representera olika data. Den största fördelen med MLC är att det ökar lagringsdensiteten, vilket gör att SSD och annan flashlagring kan lagra mer data per minneschip. Dock leder detta också till att MLC-celler generellt är mindre hållbara än Single- Level Cell (SLC), eftersom fler nivåer av laddning innebär en större risk för fel och försämrad livslängd(F10 - lagring). Modern Chipset och Lagring Chipset: Ett chipset är en samling kretsar som hanterar kommunikation mellan processorn och andra delar av datorn. PCIe (Peripheral Component Interconnect Express): En snabbare anslutningsteknik som används av SSDs (NVMe-protokollet) för högre hastigheter och lägre latens jämfört med SATA. Multiplexer i modern chipset Multiplexer används för att hantera externa funktioner åt processorn. Detta görs genom att fördela signaler eller anslutningar effektivt, exempelvis i PCIe- anslutningar. Vissa PCIe-anslutningar går direkt till processorn, medan andra går via chipset. Multiplexern spelar en nyckelroll i att avgöra vilka anslutningar som får tillgång till processorn och när(F10 - lagring). NVMe (Non-Volatile Memory Express) NVMe är ett protokoll som används för att ansluta SSD-enheter via PCIe (Peripheral Component Interconnect Express). Det ger mycket snabbare dataöverföringshastigheter och lägre latens jämfört med äldre tekniker som SATA. Typiskt använder NVMe-anslutningar M.2-anslutningar på moderkortet. Jämfört med SATA, erbjuder NVMe: o Lägre latens: Vilket innebär snabbare dataåtkomst. o Högre bandbredd: Vilket möjliggör snabbare dataöverföring(F10 - lagring). Det rekommenderas att NVMe-lagring ansluts direkt till processorn istället för att gå via chipset för att minimera latens(F10 - lagring). Cache Cache är ett snabbt minne som används för att lagra data temporärt och öka hastigheten på dataåtkomst. CPU Cache: Mycket snabb och används för att temporärt lagra data som processorn ofta behöver. HDD/SSD Cache: Används för att buffra data och öka prestandan när man läser eller skriver data till och från disken. Cachetyper Det finns flera olika typer av cacheminnen som används i olika delar av ett datorsystem för att förbättra prestanda: 1. SRAM (Static Random-Access Memory): o Icke-flyktigt: Behåller sitt innehåll så länge strömmen är på. o Snabb men dyr: På grund av sin hastighet används SRAM som cache direkt på CPU för att snabba upp dataåtkomst. o Används inte som huvudminne. 2. DDR SDRAM (Double Data Rate Synchronous Dynamic RAM): o Flyktigt: Förlorar sitt innehåll när strömmen stängs av. o Moderna huvudminnet: Vanligtvis används som RAM och även som diskcache för att öka dataöverföringshastigheten. o Kan läsa/skriva två gånger per cykel(F10 - lagring). Introduktion till RAID RAID (Redundant Array of Independent Disks) är en teknik som används för att skydda data från hårddiskfel och förbättra I/O-prestanda (in- och utmatning) genom att kombinera flera fysiska diskar till en eller flera logiska enheter. Detta ökar både tillförlitligheten och prestandan. Varför RAID? Historiskt sett användes dyra, stora hårddiskar i datorsystem som utgjorde enskilda felpunkter. Eftersom diskar ofta misslyckades, utvecklades RAID på 1980-talet för att minska dessa risker. Genom att fördela data över flera billiga diskar förbättrar RAID både redundans och hastighet. Typer av RAID: Hårdvara vs. Mjukvara Hårdvaru-RAID: Genomförs med fysiska kontroller (antingen på moderkortet eller via expansionskort) och avlastar arbetsbelastningen från CPU. Den erbjuder förbättrad prestanda genom dedikerad cache för snabba skrivningar. Mjukvaru-RAID: Hanteras via operativsystemet och använder CPU-resurser, vilket kan påverka prestandan. Det är billigare än hårdvaru-RAID men generellt långsammare och mindre pålitligt för startvolymer. RAID-koncept RAID bygger på följande viktiga koncept: 1. Striping: Fördelar data över flera diskar, vilket förbättrar prestandan genom parallella läs- och skrivoperationer. 2. Spegling (Mirroring): Skapar exakta kopior av data på två eller fler diskar, vilket garanterar redundans. 3. Paritet: Lägger till ett extra lager av felkorrigering genom att lagra paritetsbitar, som tillåter återuppbyggnad av data vid diskfel. RAID-nivåer Det finns flera RAID-nivåer, var och en med specifika fördelar och nackdelar: RAID 0 (Striping): Prestandafokuserad men saknar redundans. Data strimlas över alla diskar, vilket ger snabbare I/O-prestanda. Nackdel: Ingen skydd mot diskfel. Om en disk går sönder förloras all data. RAID 1 (Spegel): Redundansfokuserad genom att duplicera data över två diskar. Erbjuder hög felresistens eftersom ett diskfel inte leder till dataförlust. Nackdel: Dyrt, eftersom det kräver dubbelt så mycket lagringsutrymme. RAID 5 (Striping med distribuerad paritet): Balans mellan prestanda, redundans och lagringseffektivitet. Data strimlas över diskar och paritetsinformation distribueras, vilket möjliggör att en disk kan gå sönder utan dataförlust. Nackdel: Långsammare skrivprestanda på grund av paritetsberäkningar (kallas "skrivstraff"). RAID 6 (Striping med dubbel paritet): Liknar RAID 5 men kan tolerera två diskfel tack vare dubbel paritet. Nackdel: Ännu större skrivstraff jämfört med RAID 5. RAID 10 (Striping och spegling): Kombinerar prestandan hos RAID 0 med redundansen hos RAID 1. Data speglas över diskpar och strimlas sedan för prestanda. Nackdel: Kräver mycket diskutrymme för redundans, vilket gör det dyrt. Hot Spares och Återuppbyggnad Vissa RAID-system stödjer hot spares, vilket är extra diskar som automatiskt ersätter trasiga diskar och startar återuppbyggnadsprocessen. Återuppbyggnad sker antingen genom datakopiering (för speglade set) eller paritetsberäkning (för paritetsbaserade set som RAID 5 och RAID 6). Prestandapåverkan märks under återuppbyggnad, särskilt för RAID-set med stora diskar, eftersom denna process kan ta lång tid och belasta de återstående diskarna. RAID och Prestanda RAID kan kraftigt påverka systemets prestanda. Till exempel: Större stripe-storlekar är bättre för stora I/O-operationer (som videoredigering). Mindre stripe-storlekar fungerar bra i miljöer med små, frekventa I/O- operationer, som databassystem. Det finns ofta en avvägning mellan prestanda och redundans, särskilt i system som använder paritet, vilket ger en prestandaförsämring vid skrivoperationer. Moderna RAID-teknologier Under de senaste åren har mer avancerade RAID-implementeringar utvecklats, särskilt inom stora datacenter. Exempel inkluderar distribuerade RAID-system där data sprids över många diskar parallellt, vilket förbättrar återuppbyggnadstider och motståndskraft. NAS och SAN Två typer av lagringslösningar beskrivs: 1. NAS (Network Attached Storage): o En fysisk enhet som gör en del av serverns filsystem tillgängligt över nätverket. Detta är en file storage-lösning som främst används för mindre företag eller hemanvändare. o NAS använder protokoll som FTP, HTTP, SMB, NFS, och AFP för att dela filer över nätverk(F11 - server lagring). 2. SAN (Storage Area Network): o SAN är ett blockbaserat lagringssystem som tillhandahåller lagringsyta över ett nätverk, vilket ofta används i större datacenter. o SAN använder protokoll som iSCSI scsi över ip, Fibre Channel och InfiniBand för att tillgängliggöra SCSI-block över nätverk(F11 - server lagring). SAN-arkitektur: SAN består av SAN-servrar, JBODs (Just a Bunch of Disks), och ett dedikerat SAN-nätverk. Nätverket gör det möjligt för flera servrar att ansluta till samma lagringssystem och få tillgång till blockbaserad lagring snarare än filbaserad, vilket ger en mer flexibel och snabb lagringshantering(F11 - server lagring). DAS är en lagringslösning där diskar är direkt anslutna till en server utan att gå via ett nätverk. Detta gör att lagringen är dedikerad till en enda server, vilket innebär att andra servrar inte har direkt tillgång till dessa diskar. Egenskaper hos DAS: DAS används för att expandera mängden lagring som är tillgänglig för en specifik server, ofta genom att ansluta en disklåda (array) med flera hårddiskar direkt till servern. DAS är en enkel och kostnadseffektiv lösning för servrar som inte behöver dela lagring med andra system i nätverket. JBOD (Just a Bunch of Disks): I samband med DAS nämns JBOD, som är en samling diskar kombinerade i en enhet utan RAID-konfiguration. DAS-enheter kan fungera som JBOD, vilket innebär att varje disk fungerar oberoende utan redundans(F11 - server lagring) (F11 - server lagring). DAS är alltså en lagringslösning där diskar är direkt anslutna till en server, och det är en vanlig lösning för enskilda servrar som inte kräver nätverkslagring. HBA är ett expansionskort som används för att ansluta hårddiskar till en server. Det är särskilt vanligt när man använder DAS (Direct-Attached Storage) eller när diskarna är monterade externt. Egenskaper och funktioner: HBA-kort möjliggör anslutning av flera hårddiskar, både internt och externt, till servern via seriella gränssnitt som SAS (Serial Attached SCSI) eller SATA. HBA används i system där det krävs högre prestanda och kapacitet än vad standardanslutningar kan ge. Det finns olika typer av HBA beroende på om de är för internt monterade eller externt monterade diskar(F11 - server lagring). HBA är alltså en viktig komponent för att ansluta flera diskar till en server och är särskilt användbar i miljöer med stora mängder lagring eller högpresterande disklösningar. SMB är ett protokoll som används för att dela filer, skrivare och andra resurser över ett nätverk, främst på Windows-servrar. Det gör det möjligt för användare att få tillgång till delade resurser på en filserver från en fjärrdator. Funktioner och användning: SMB tillåter fildelning och gör det möjligt att ansluta till en filserver och få tillgång till delade resurser via ett nätverk. Ett vanligt sätt att referera till en delad resurs är genom UNC-sökväg (Universal Naming Convention), som har formatet \\address\share, där "address" är serverns IP-adress och "share" är namnet på den delade resursen. Exempel: \\192.168.1.3\IT(F11 - server lagring). SMB-fildelning: SMB kan användas för att dela ut administrativa shares som finns alltid, som C$ (C:), samt dolda shares som avslutas med ett $-tecken för att göra dem osynliga för vanliga användare. Rättigheter: SMB-rättigheter definieras i termer av Read, Change, och Full Control, där "Read" ger användaren möjlighet att se innehållet i filer och mappar, medan "Change" och "Full Control" ger utökade behörigheter att ändra eller ta bort filer (F11 - server lagring). Rättigheter på SMB-lagringsdelningar påverkas av både SMB-rättigheter och NTFS-rättigheter. För att förenkla administrationen är det vanligt att ge Full Control på SMB-nivå och sedan reglera tillgången via NTFS-rättigheter(F11 - server lagring). SMB används främst för att tillhandahålla en smidig och flexibel lösning för fildelning i Windows-miljöer, men det kan också användas av andra operativsystem, exempelvis via SAMBA på Linux. RAID (Redundant Array of Independent Disks) RAID används för att kombinera flera diskar till en logisk enhet för att uppnå redundans eller förbättrad prestanda. Diskarna måste vara lika stora Det finns två huvudsakliga typer av RAID-konfigurationer: 1. Hårdvaru-RAID: o RAID hanteras av en dedikerad RAID-controller (expansionskort eller integrerat i moderkortet). Detta är snabbare och minskar belastningen på CPU (F11 - server lagring). 2. Mjukvaru-RAID: o RAID hanteras av mjukvara, vilket är mer flexibelt men kräver mer CPU- resurser. Mjukvarulösningar som OpenZFS stöder många olika RAID- konfigurationer(F11 - server lagring). Vanliga RAID-nivåer De vanligaste RAID-nivåerna som beskrivs i dokumentet inkluderar: RAID 0 (Striping): o Data delas upp och skrivs över flera diskar för att öka hastigheten, men det finns ingen redundans. Vid ett diskhaveri förloras all data. RAID 0 kräver minst två diskar(F11 - server lagring). Minimum 2 diskar feltolerans 0 red och write speed blir snabbare desto mer diskar vi har antalet diskar * hastigheten = maxhastighet RAID 1 (Mirroring): o Samma data lagras på flera diskar för att uppnå redundans. Om en disk går sönder, kan datan fortfarande hämtas från den andra. RAID 1 kräver minst två diskar(F11 - server lagring). Skriver samma data till båda diskarna. Minst 2 diskar feltolerans är antalet diskar -1 tillgängligt utrymme = 1 disk read speed är diksläs hastighet * antalet diskar men skriv hastigheten är bara enligt 1 disk Användning av paritet i RAID: Paritet används för att återskapa data i händelse av ett diskfel. Genom att beräkna paritetsbitar kan systemet rekonstruera förlorad data om en disk skulle gå sönder. I RAID 5 är paritetsinformationen distribuerad över alla diskar, vilket innebär att om en disk går sönder kan data återskapas från paritetsbitarna på de återstående diskarna. RAID 6 använder en liknande teknik men med dubbla paritetsbitar, vilket innebär att systemet kan hantera förlusten av två diskar samtidigt. Exempel på paritetsberäkning: Paritet säkerställer att en sekvens av data alltid har en viss egenskap, t.ex. att antalet ettor är jämnt. Om ett fel uppstår kan den saknade biten återskapas genom att kontrollera om antalet ettor är udda eller jämnt. Paritet är alltså en central del i att skapa redundans och dataintegritet i RAID-system, och det möjliggör återhämtning av förlorad data vid diskfel. RAID 5 (Striping med distribuerad paritet): o Data och paritet (för att återskapa förlorad data) distribueras över flera diskar. Detta möjliggör återställning av data om en disk går sönder. RAID 5 kräver minst tre diskar(F11 - server lagring). Minimum 3 diskar feltolerans 1 disk antal utrymme är nummer diskar -1 read speed är num disk *speed write speed är num disk -1 * speed RAID 6 (Striping med dubbel distribuerad paritet): o Liknar RAID 5, men kan tåla att två diskar går sönder samtidigt. RAID 6 kräver minst fyra diskar(F11 - server lagring). Skriver paritet 2 gånger. minimum 4 diskar feltolerans 2 diskar tillgängligt utrymme num disk -2 read num disk * speed write num disk -2 * speed RAID 10 (Striping och mirroring): o Kombination av RAID 0 och RAID 1. Data speglas och delas upp för att få både redundans och hög prestanda. Kräver minst fyra diskar(F11 - server lagring). Paritet och Återuppbyggnad Paritet: Används i RAID-konfigurationer som RAID 5 och 6 för att upptäcka fel och återskapa förlorad data. Genom att använda paritetsbitar kan RAID- systemet återställa data från en förlorad disk(F11 - server lagring). Resilvering: När en trasig disk i ett RAID-system byts ut, återskapas datan från redundanta diskar. Processen kallas ibland för "resilvering" och sker genom att läsa och kontrollera data mot redundans(F11 - server lagring). Många raid lösningar stödjer schemalagda kontroller av data detta kallas scrubbing. Läser in data och kontrollerar mot redundans Tillförlitlighet (Reliability) Både HDD och SSD används i servermiljöer, men de har olika tillförlitlighetsegenskaper: HDD: Traditionella hårddiskar erbjuder stor lagringskapacitet, men har högre risk för fysiska fel och slitage(F11 - server lagring). SSD: Solid State Drives erbjuder snabbare prestanda och högre tillförlitlighet jämfört med HDD, men de är dyrare och har begränsad skrivlivslängd(F11 - server lagring). Introduktion till Firmware Firmware är mjukvara som är integrerad i hårdvarukomponenter för att styra dess funktioner. Det används i många olika typer av hårdvara, inklusive hårddiskar, moderkort och andra enheter, och fungerar som ett gränssnitt mellan hårdvaran och operativsystemet(F12 - firmware). Legacy BIOS BIOS (Basic Input/Output System) är en typ av firmware som används vid uppstart av datorer för att initiera och testa hårdvara samt läsa in operativsystemet. BIOS ger operativsystemet och drivrutiner standardiserade funktioner för att kommunicera med hårdvaran.initierar hårdvara testar hårdvara läser in operativsystemet. Gränssnitt mellan hårdvara och mjukvara Funktioner och inställningar i BIOS: Användare kan konfigurera inställningar för: o Systemklocka o CPU-inställningar (t.ex. över- eller underklockning) o RAM-inställningar o Boot-alternativ (vilken enhet systemet ska starta från)(F12 - firmware). BIOS-inställningarna lagras i ett CMOS-chip, som behöver konstant ström från ett batteri, ofta kallat CMOS-batteri, för att behålla inställningarna även när datorn är avstängd(F12 - firmware). UEFI (Unified Extensible Firmware Interface) UEFI är den modernare ersättaren till BIOS och övervinner många av BIOS begränsningar, såsom begränsningarna för lagringsstorlekar och funktionalitet. UEFI ger stöd för stora partitioner (över 2 TiB), förbättrade grafiska gränssnitt och kan till och med ladda operativsystem från nätverket(F12 - firmware). Förbättringar med UEFI: Stöd för 32- och 64-bitars program. Grafiska gränssnitt istället för textbaserade menyer. Stöd för nätverksboot och andra avancerade funktioner. Bakåtkompatibel med BIOS genom UEFI CSM-läge (Compatibility Support Module)(F12 - firmware). Boot-processen Boot-processen varierar beroende på om systemet använder BIOS/MBR eller UEFI/GPT: BIOS/MBR startar med att köra en POST-rutin (Power-On Self Test) och söker efter en aktiv partition för att ladda boot loader och operativsystemets kärna. UEFI/GPT börjar på samma sätt med POST, men kan ladda ett operativsystem från en EFI System Partition (ESP)(F12 - firmware). Low-Level och High-Level Formatting Low-Level Formatting sker i fabriken och definierar sektorstorlek, antal spår, och sektorer per spår på lagringsenheter. High-Level Formatting skapar ett filsystem på en partition så att lagringsytan kan användas av operativsystemet(F12 - firmware). Partitionering Det finns två huvudsakliga partitioneringsmetoder: 1. MBR (Master Boot Record): Begränsad till 4 partitioner och maximalt 2 TiB per partition. Talar om vilka partitioner som finns på lagringssystemet. MBR Partitionering MBR innehåller information om vilka partitioner som finns på lagringsmediet och hjälper till att starta operativsystemet genom att veta var kärnan är lagrad. MBR tar upp den första sektorn på disken (vanligtvis 512 bytes) och innehåller: o MBR-kod (boot loader) o Partitionstabell: En lista över alla partitioner. Begränsningar med MBR: MBR kan hantera maximalt fyra logiska partitioner per disk. Varje partition kan vara upp till max 2 TiB i storlek. Extended Partition: För att övervinna begränsningen av endast fyra partitioner kan en extended partition skapas. Den ersätter en av de primära partitionerna och kan innehålla upp till fyra logiska partitioner med en sammanlagd storlek av 2 TiB. En partition kan markeras som aktiv och det ör den som startas vid uppstart Power On -> BIOS -> POST -> MBR -> Active Partition 2. GPT (GUID Partition Table): Stödjer upp till 128 partitioner och upp till 9 ZiB stora partitioner. GPT erbjuder också bättre felhantering genom att spara en backup av partitionstabellen både i början och slutet av disken(F12 - firmware). GPT Partitionering GPT (GUID Partition Table) är en modernare metod för att hantera partitionering på en disk. Den övervinner begränsningarna i MBR genom att stödja större diskar och fler partitioner. Viktiga funktioner: Stöder upp till 128 partitioner: GPT gör det möjligt att ha fler än de fyra primära partitioner som MBR tillåter. Stöder mycket stora diskar: GPT kan hantera partitioner som är upp till 9 ZiB (zettabyte) stora, vilket är långt större än MBR gräns på 2 TiB per partition(F12 - firmware). Struktur: GPT har en GPT Header och en GPT Array, vilket är en lista över partitioner. Det har även en Protective MBR, som fungerar som en säkerhetsmekanism för att varna äldre system om att disken inte är formaterad med MBR. GPT använder checksummor för att skydda och verifiera partitionstabellen, och både GPT-headern och GPT-tabellen lagras både i början och slutet av disken för att ge ökad feltolerans(F12 - firmware)(F12 - firmware). EFI System Partition (ESP) GPT använder en särskild EFI System Partition (ESP) som är nödvändig för att kunna starta UEFI-kompatibla operativsystem. Model for the boot process Power on -> uefi -> Post -> Select boot device Read GPT -> Mount ESP -> Boot loader OS Kernel -> Services/daemons -> completed Bootstrapping Läser in och kör UEFI 2. Utför POST-rutin Power On Self Test Kontrollerar funktion av hårdvaran Post errors i form av error message, beep codes, hexadecimal codes 3. Väljer första boot device 4. Läser dess GPT-formatering Kontrollerar om det finns en esp partition 5. Monterar ESP-partitionen Om esp partition finns så monteras den 6. Läser in och kör boot loader 7. Som läser in och kör operativsystems kärnan 8. Som sedan startar sina bakgrunds processer (services/daemons) UEFI Boot Processes om ingen ESP hittas försöker den med nästa boot device, osv. Boot loader Använder protokollet PXE för att starta en boot loader över ett nätverk. Uefi/bios startas oftast en boot loader som sedan läser in operativsystemet i kärnan Boot loader installeras därför i boot-partition I ESP (GPT) eller active partition (MBR) Varför används en boot loader? → Mer flexibelt än en boot partition – Kan t.ex. välja mellan olika installerade operativsystem → Underlättar utveckling och uppdateringar av operativsystemet Sammanfattning Firmware är en kritisk komponent i datorsystem, särskilt när det gäller uppstart och hantering av hårdvara. Med övergången från BIOS till UEFI får moderna datorer förbättrad funktionalitet, högre säkerhet, och bättre stöd för stora lagringsenheter. Reboots och shutdown Soft reboot Ctrl alt del under post Funkar inte om boot loader eller os har laddats Graceful shutdown normal avstängning inifrån systemet Forced shutdown tvingar avstängning via strömknappen Mer om os komonenter Inget om windows registry eller sleep/hibernate