LFCS #6: Hoe Partities Samenvoegen als RAID Apparaten en Systeemback-ups Maken

De Linux Foundation heeft de LFCS (Linux Foundation Certified Sysadmin) certificering gelanceerd, een glanzende kans voor systeembeheerders overal om aan te tonen, via een op prestaties gebaseerd examen, dat ze in staat zijn om algemene operationele ondersteuning te bieden voor Linux-systemen: systeemondersteuning, eerstelijnsdiagnose en monitoring, plus problemen doorschuiven, indien nodig, naar andere ondersteuningsteams.

De serie zal worden getiteld Voorbereiding op de LFCS (Linux Foundation Certified Sysadmin) Delen 1 tot 33 en de volgende onderwerpen behandelen:

No. Title
Part 1 How to Use ‘Sed’ Command to Manipulate Files in Linux
Part 2 How to Install and Use Vi/Vim in Linux
Part 3 How to Compress Files & Directoires and Finding Files in Linux
Part 4 How to Partition Storage Devices in Linux
Part 5 How to Mount (Samba and NFS) Filesystems in Linux
Part 6 How to Assemble Partitions as RAID Devices and Create System Backups
Part 7 Managing System Startup Processes and Services (SysVinit, Systemd, and Upstart
Part 8 How to Manage User & Groups, File Permissions, and Sudo Access
Part 9 Linux Package Management with Yum, RPM, Apt, Dpkg, Aptitude, and Zypper
Part 10 Learning Basic Shell Scripting and Filesystem Troubleshooting
Part 11 How to Manage and Create LVM Using vgcreate, lvcreate, and lvextend Commands
Part 12 How to Explore Linux with Installed Help Documentations and Tools
Part 13 How to Configure and Troubleshoot Grand Unified Bootloader (GRUB)
Part 14 Monitor Linux Processes Resource Usage and Set Process Limits on a Per-User Basis
Part 15 How to Set or Modify Kernel Runtime Parameters in Linux Systems
Part 16 Implementing Mandatory Access Control with SELinux or AppArmor in Linux
Part 17 How to Set Access Control Lists (ACLs) and Disk Quotas for Users and Groups
Part 18 Installing Network Services and Configuring Automatic Startup at Boot
Part 19 An Ultimate Guide to Setting Up FTP Server to Allow Anonymous Logins
Part 20 Setup a Basic Recursive Caching DNS Server and Configure Zones for Domain
Part 21 How to Install, Secure, and Performance Tuning of MariaDB Database Server
Part 22 How to Install and Configure NFS Server for File System Sharing
Part 23 How to Setup Apache with Name-Based Virtual Hosting with SSL Certificate
Part 24 How To Setup an Iptables Firewall to Enable Remote Access to Services in Linux
Part 25 How to Turn a Linux into a Router to Handle Traffic Statically and Dynamically
Part 26 How to Setup Encrypted Filesystems and Swap Using Cryptsetup Tool
Part 27 How to Monitor System Usage, Outages, and Troubleshoot Linux Servers
Part 28 How to Setup a Network Repository to Install or Update Packages
Part 29 How to Audit Network Performance, Security, and Troubleshooting
Part 30 How to Install and Manage Virtual Machines and Containers
Part 31 Learn the Basics of Git to Manage Projects Efficiently
Part 32 A Beginner’s Guide to Configuring IPv4 and IPv6 Addresses in Linux
Part 33 A Beginner’s Guide to Creating Network Bonding and Bridging in Ubuntu

Dit bericht is Deel 6 van een 33-tutorial serie, hier in dit deel zullen we uitleggen hoe je partities als RAID-apparaten kunt samenstellen en systeemback-ups kunt maken en beheren, die vereist zijn voor het LFCS-certificeringsexamen.

Het begrijpen van RAID in Linux

De technologie die bekend staat als Redundant Array of Independent Disks (RAID) is een opslagoplossing die meerdere harde schijven combineert tot een enkele logische eenheid om redundantie van gegevens en/of prestatieverbetering bij lees-/schrijfoperaties naar de schijf te bieden.

De werkelijke fouttolerantie en schijf-I/O-prestaties hangen echter af van hoe de harde schijven zijn ingesteld om de schijfmatrix te vormen. Afhankelijk van de beschikbare apparaten en de behoeften aan fouttolerantie/prestaties, worden verschillende RAID-niveaus gedefinieerd.

U kunt het volgende RAID-serieartikel raadplegen voor een meer gedetailleerde uitleg van elk RAID-niveau.

Mdadm installeren in Linux

Onze tool naar keuze voor het maken, assembleren, beheren en bewaken van onze software-RAID’s heet mdadm (afkorting van multiple disks admin).

$ sudo apt install mdadm         [On Debian, Ubuntu and Mint]
$ sudo yum install mdadm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo zypper install mdadm      [On OpenSUSE]    

Partities assembleren als RAID-apparaten

Het proces van het assembleren van bestaande partities als RAID-apparaten bestaat uit de volgende stappen:

1. Een nieuwe matrix maken met mdadm

Als een van de partities eerder is geformatteerd of eerder deel uitmaakte van een andere RAID-matrix, wordt u gevraagd om de aanmaak van de nieuwe matrix te bevestigen.

Ervan uitgaande dat u de nodige voorzorgsmaatregelen hebt genomen om te voorkomen dat belangrijke gegevens die zich daarin bevinden verloren gaan, kunt u veilig j typen en op Enter drukken.

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1
Creating RAID Array

2. De status van de matrixaanmaak controleren

Om de status van de matrixaanmaak te controleren, gebruikt u de volgende opdrachten, ongeacht het RAID-type. Deze zijn net zo geldig als wanneer we een RAID0 maken (zoals hierboven weergegeven), of wanneer u bezig bent met het instellen van een RAID5, zoals weergegeven in de onderstaande afbeelding.3. RAID-apparaat formatteren

# cat /proc/mdstat
or 
# mdadm --detail /dev/md0	[More detailed summary]
Check RAID Array Status

3. Formaat RAID-apparaat

Formatteer het apparaat met een bestandssysteem volgens uw behoeften/vereisten, zoals uitgelegd in Deel 4 van deze serie.

4. Controleer RAID-array-service

Leg de bewakingsservice uit om op de array te letten. Voeg de uitvoer van mdadm --detail --scan toe aan /etc/mdadm/mdadm.conf (Debian en derivaten) of /etc/mdadm.conf (CentOS / openSUSE), zoals hieronder.

# mdadm --detail --scan
Monitor RAID Array
# mdadm --assemble --scan 	[Assemble the array]

Om ervoor te zorgen dat de service op systeemopstart wordt gestart, voer de volgende opdrachten uit als root.

# systemctl start mdmonitor
# systemctl enable mdmonitor

5. Controleer RAID-schijffout

In RAID-niveaus die redundantie ondersteunen, vervang defecte schijven indien nodig. Wanneer een apparaat in de schijfarray defect raakt, begint een herstel automatisch alleen als er een reserveapparaat was toegevoegd toen we de array voor het eerst hebben gemaakt.

Check RAID Faulty Disk

Anders moeten we handmatig een extra fysieke schijf aan ons systeem koppelen en uitvoeren.

# mdadm /dev/md0 --add /dev/sdX1

Waarbij /dev/md0 de array is die het probleem ondervond en /dev/sdX1 de nieuwe schijf is.

6. Ontmantel een werkende array

Dit moet je misschien doen als je een nieuwe array wilt maken met de apparaten – (Optionele stap).

# mdadm --stop /dev/md0 		#  Stop the array
# mdadm --remove /dev/md0 		# Remove the RAID device
# mdadm --zero-superblock /dev/sdX1 	# Overwrite the existing md superblock with zeroes

7. Maak e-mailwaarschuwingen

Je kunt een geldig e-mailadres of systeemaccount configureren om waarschuwingen naartoe te sturen (zorg ervoor dat je deze regel in mdadm.conf hebt). – (Optionele stap)

MAILADDR root

In dit geval zullen alle waarschuwingen die de RAID-bewakingsdaemon verzamelt, naar de e-mailpostvak van het lokale root-account worden verzonden. Een van dergelijke waarschuwingen ziet er als volgt uit.

Opmerking: Dit gebeurtenis is gerelateerd aan het voorbeeld in STAP 5, waar een apparaat als defect werd gemarkeerd en het reserve-apparaat automatisch in de array werd opgebouwd door mdadm. Daarom zijn we ” uitgeput ” van gezonde reserve-apparaten en hebben we de waarschuwing ontvangen.

RAID Monitoring Alerts

Begrijpen van RAID-niveaus in Linux

Hier is een korte overzicht van gebruikelijke RAID-niveaus:

RAID 0

De totale array-grootte is n maal de grootte van de kleinste partitie, waarbij n het aantal onafhankelijke schijven in de array is (je hebt minstens twee schijven nodig). Voer de volgende opdracht uit om een RAID 0 array te assembleren met partities /dev/sdb1 en /dev/sdc1.

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

Algemene Toepassingen: Setups die real-time toepassingen ondersteunen, waarbij prestaties belangrijker zijn dan fouttolerantie.

RAID 1 (ook wel Mirroring genoemd)

De totale array-grootte is gelijk aan de grootte van de kleinste partitie (je hebt minstens twee schijven nodig). Voer de volgende opdracht uit om een RAID 1 array te assembleren met partities /dev/sdb1 en /dev/sdc1.

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Algemene Toepassingen: Installatie van het besturingssysteem of belangrijke submappen, zoals /home.

RAID 5 (ook wel schijven met Pariteit)

De totale array-grootte zal (n – 1) keer de grootte zijn van het kleinste partitie. De “verloren” ruimte in (n-1) wordt gebruikt voor pariteitsberekening (redundantie) (je hebt minstens drie schijven nodig).

Houd er rekening mee dat je een reserve-apparaat kunt opgeven (/dev/sde1 in dit geval) om een defect onderdeel te vervangen wanneer er een probleem optreedt. Voer de volgende opdracht uit om een RAID 5 array samen te stellen met partities /dev/sdb1, /dev/sdc1, /dev/sdd1 en /dev/sde1 als reserve.

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

Algemene toepassingen: Web- en bestandsservers.

RAID 6 (ook wel Dubbele Pariteit Schijven genoemd

De totale array-grootte zal (n*s)-2*s zijn, waarbij n het aantal onafhankelijke schijven in de array is en s de grootte van de kleinste schijf is. Houd er rekening mee dat je een reserve-apparaat kunt opgeven (/dev/sdf1 in dit geval) om een defect onderdeel te vervangen wanneer er een probleem optreedt.

Voer de volgende opdracht uit om een RAID 6 array samen te stellen met partities /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 en /dev/sdf1 als reserve.

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

Algemene toepassingen: Bestands- en back-upservers met grote capaciteit en hoge beschikbaarheidseisen.

RAID 1+0 (ook wel Stripe of Mirrors genoemd)

De totale array-grootte wordt berekend op basis van de formules voor RAID 0 en RAID 1 aangezien RAID 1+0 een combinatie is van beide. Bereken eerst de grootte van elke spiegel en vervolgens de grootte van de stripe.

Let op dat u een reserveapparaat (in dit geval /dev/sdf1) kunt aangeven om een defect onderdeel te vervangen wanneer er een probleem optreedt. Voer de volgende opdracht uit om een RAID 1+0 array samen te stellen met partities /dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1 en /dev/sdf1 als reserve.

# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

Algemene toepassingen: Databaseservers en applicatieservers die snelle I/O-bewerkingen vereisen.

Het maken en beheren van systeembackups in Linux

Het kan geen kwaad om te onthouden dat RAID met al zijn voordelen GEEN VERVANGING IS VOOR BACKUPS! Schrijf het 1000 keer op het schoolbord als je het nodig acht, maar zorg ervoor dat je dat idee altijd in gedachten houdt.

Voordat we beginnen, moeten we opmerken dat er geen één-maat-past-alle oplossing is voor systeembackups, maar hier zijn enkele dingen die u in overweging moet nemen bij het plannen van een back-upstrategie.

  • Waar gebruikt u uw systeem voor? (Bureaublad of server? Als het laatste geval van toepassing is, welke zijn de meest kritieke diensten – wiens configuratie echt pijnlijk zou zijn om te verliezen?)
  • Hoe vaak moet u back-ups van uw systeem maken?
  • Welke gegevens (bijv. bestanden/directoryen/databasedumps) wil je back-up maken? U zou ook kunnen overwegen of u echt grote bestanden (zoals audiobestanden of videobestanden) hoeft te back-uppen.
  • Waar (bedoeld fysieke plaats en medium) worden die back-ups opgeslagen?

1. Back-upstations met dd-commando

Back-up van hele schijven met de dd commando. Je kunt een volledige harde schijf of een partitie back-up maken door een exact beeld te creëren op elk moment. Let op dat dit het beste werkt wanneer het apparaat offline is, wat betekent dat deze niet is gemount en er geen processen op inwerken voor I/O-operaties.

Het nadeel van deze back-upmethode is dat het beeld dezelfde grootte heeft als de schijf of partitie, zelfs wanneer de werkelijke gegevens maar een klein percentage ervan innemen.

Bijvoorbeeld, als je een partitie van 20 GB wilt afbeelden die slechts 10% vol is, zal het beeldfile nog steeds 20 GB groot zijn. Met andere woorden, wordt niet alleen de werkelijke gegevens gebackupped, maar de hele partitie zelf. Je kunt deze methode overwegen als je exacte back-ups van je apparaten nodig hebt.

Het maken van een partitiebeeld

# dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file --------------------- 
# dd if=/dev/sda | gzip -c > /system_images/sda.img.gz 

Het herstellen van een partitiebeeld

# dd if=/system_images/sda.img of=/dev/sda
OR 
# gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

2. Back-up van bestanden met behulp van het tar-commando

Back-up van bepaalde bestanden / directories met tar commando – al behandeld in Deel 3 van deze serie. Je kunt deze methode overwegen als je kopieën van specifieke bestanden en directories (configuratiebestanden, gebruikers thuismappen, enzovoort) wilt bewaren.

2. Back-up en synchroniseren van bestanden met behulp van het rsync-commando

Synchroniseer bestanden met de rsync commando, wat een veelzijdig hulpmiddel is voor het kopiëren van bestanden op afstand (en lokaal). Als je je bestanden wilt backuppen en synchroniseren naar/van netwerkstations, is rsync een goede keuze.

Of je nu twee lokale directories wilt synchroniseren of lokale < --- > op afstand gemonteerde directories op het lokale bestandssysteem, de basis syntaxis is hetzelfde.

Synchroniseren van Twee Lokale Mappen

# rsync -av source_directory destination directory

Waarbij, -a recursief in submappen (als die bestaan), behoud symbolische links, tijdstempels, rechten en originele eigenaar / groep en -v gedetailleerd.

rsync Synchronizing Files

Bovendien, als je de beveiliging van de gegevensoverdracht over de kabel wilt verhogen, kun je ssh gebruiken over rsync.

Synchroniseren van Lokale → Afstandsmappen Over SSH

# rsync -avzhe ssh backups root@remote_host:/remote_directory/

Dit voorbeeld zal de backupdirectory op de lokale host synchroniseren met de inhoud van /root/remote_directory op de afstandshost.

Waarbij de -h optie de bestandsgroottes in leesbare vorm toont, en de -e vlag wordt gebruikt om een SSH verbinding aan te geven.

rsync Synchronize Remote Files

Synchroniseren van Afstand → Lokale Mappen Over SSH

In dit geval, wissel de bron- en bestemmingsdirectories van het vorige voorbeeld.

# rsync -avzhe ssh root@remote_host:/remote_directory/ backups 

Let op dat dit slechts 3 voorbeelden (meest voorkomende gevallen die je waarschijnlijk tegenkomt) zijn van het gebruik van rsync. Voor meer voorbeelden en gebruiksmogelijkheden van rsync commando’s kun je het volgende artikel raadplegen.

Samenvatting

Als systeembeheerder moet je ervoor zorgen dat je systemen zo goed mogelijk presteren. Als je goed voorbereid bent en als de integriteit van je gegevens goed ondersteund wordt door opslagtechnologie zoals RAID en regelmatige systeembackups, ben je veilig.

De LFCS eBook is nu beschikbaar voor aankoop. Bestel je exemplaar vandaag en begin je reis om een gecertificeerde Linux-systeembeheerder te worden!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Tot slot, maar niet in het minst, overweeg dan ook om je examenbon te kopen via de volgende links om ons een kleine commissie te laten verdienen, wat ons helpt om dit boek bij te werken.

Als je vragen, opmerkingen of verdere ideeën hebt over hoe dit artikel verbeterd kan worden, voel je vrij om hieronder te reageren. Bovendien, overweeg dan ook om deze serie te delen via je sociale netwerkprofielen.

Source:
https://www.tecmint.com/creating-and-managing-raid-backups-in-linux/