LFCS #6: Linux'ta Bölümleri RAID Aygıtları Olarak Birleştirme


Linux Foundation, dünyanın her yerindeki sistem yöneticilerinin performansa dayalı bir sınav aracılığıyla aşağıdakileri yapabilecek kapasitede olduklarını göstermeleri için parlak bir şans olan LFCS (Linux Foundation Certified Sysadmin) sertifikasyonunu başlattı. Linux sistemlerinde genel operasyonel desteğin gerçekleştirilmesi: sistem desteği, birinci düzey tanılama ve izleme, ayrıca gerektiğinde sorunların diğer destek ekiplerine iletilmesi.

Bu serinin başlığı LFCS için Hazırlık (Linux Foundation Sertifikalı Sistem Yöneticisi) Bölüm 1'den 33'e kadar olacak ve aşağıdaki konuları kapsayacaktır: Sonraki başlıklar:

Part 1

Linux'ta Dosyaları Değiştirmek İçin 'Sed' Komutu Nasıl Kullanılır

Part 2

Linux'ta Vi/Vim Nasıl Kurulur ve Kullanılır

Part 3

Linux'ta Dosyaları ve Dizinleri Sıkıştırma ve Dosya Bulma

Part 4

Linux'ta Depolama Cihazları Nasıl Bölümlenir?

Part 5

Linux'ta (Samba ve NFS) Dosya Sistemleri Nasıl Monte Edilir

Part 6

Bölümleri RAID Aygıtları Olarak Birleştirme ve Sistem Yedeklemeleri Oluşturma

Part 7

Sistem Başlatma Süreçlerini ve Hizmetlerini Yönetme (SysVinit, Systemd ve Upstart)

Part 8

Kullanıcı ve Gruplar, Dosya İzinleri ve Sudo Erişimi Nasıl Yönetilir

Part 9

Yum, RPM, Apt, Dpkg, Aptitude ve Zypper ile Linux Paket Yönetimi

Part 10

Temel Kabuk Komut Dosyalarını ve Dosya Sistemi Sorunlarını Gidermeyi Öğrenme

Part 11

Vgcreate, lvcreate ve lvextend Komutlarını Kullanarak LVM Nasıl Yönetilir ve Oluşturulur

Part 12

Yüklü Yardım Belgeleri ve Araçlarla Linux Nasıl Keşfedilir?

Part 13

Grand Unified Bootloader (GRUB) Nasıl Yapılandırılır ve Sorun Giderilir

Part 14

Linux Süreçlerinin Kaynak Kullanımını İzleyin ve Kullanıcı Bazında Süreç Sınırlarını Belirleyin

Part 15

Linux Sistemlerinde Çekirdek Çalışma Zamanı Parametreleri Nasıl Ayarlanır veya Değiştirilir

Part 16

Linux'ta SELinux veya AppArmor ile Zorunlu Erişim Denetiminin Uygulanması

Part 17

Kullanıcılar ve Gruplar için Erişim Kontrol Listeleri (ACL'ler) ve Disk Kotaları Nasıl Ayarlanır?

Part 18

Ağ Hizmetlerini Yükleme ve Önyükleme Sırasında Otomatik Başlatmayı Yapılandırma

Part 19

Anonim Oturum Açmalara İzin Verecek FTP Sunucusunu Ayarlamaya Yönelik Temel Kılavuz

Part 20

Temel Özyinelemeli Önbelleğe Alma DNS Sunucusu Kurulumu ve Etki Alanı için Bölgeleri Yapılandırma

Part 21

MariaDB Veritabanı Sunucusunun Kurulumu, Güvenliği ve Performans Ayarlaması Nasıl Yapılır

Part 22

Dosya Sistemi Paylaşımı için NFS Sunucusu Nasıl Kurulur ve Yapılandırılır

Part 23

SSL Sertifikalı İsme Dayalı Sanal Barındırma ile Apache Nasıl Kurulur

Part 24

Linux'ta Hizmetlere Uzaktan Erişimi Etkinleştirmek için Iptables Güvenlik Duvarı Nasıl Kurulur

Part 25

Trafiği Statik ve Dinamik Olarak Yönetmek için Linux'u Yönlendiriciye Dönüştürme

Part 26

Şifrelenmiş Dosya Sistemlerini Kurma ve Cryptsetup Aracını Kullanarak Değiştirme

Part 27

Sistem Kullanımı, Kesintiler Nasıl İzlenir ve Linux Sunucularındaki Sorunlar Nasıl Giderilir

Part 28

Paketleri Kurmak veya Güncellemek İçin Ağ Havuzu Nasıl Kurulur

Part 29

Ağ Performansı, Güvenliği ve Sorun Giderme Nasıl Denetlenir

Part 30

Sanal Makineler ve Konteynerler Nasıl Kurulur ve Yönetilir

Part 31

Projeleri Verimli Bir Şekilde Yönetmek için Git'in Temellerini Öğrenin

Part 32

Linux'ta IPv4 ve IPv6 Adreslerini Yapılandırmaya Yeni Başlayanlar Kılavuzu

Part 33

Ubuntu'da Ağ Bağlantısı ve Köprü Oluşturma İçin Yeni Başlayanlar Kılavuzu

Bu gönderi, 33 derslik bir serinin Bölüm 6'sıdır; bu bölümde, bölümlerin RAID aygıtları olarak nasıl birleştirileceğini ve sistem yedeklerinin nasıl oluşturulacağını ve yönetileceğini açıklayacağız. LFCS sertifikasyon sınavı için gereklidir.

Linux'ta RAID'i Anlamak

Bağımsız Disklerin Yedek Dizisi (RAID) olarak bilinen teknoloji, veri yedekliliği sağlamak ve/veya performansı artırmak için birden fazla sabit diski tek bir mantıksal ünitede birleştiren bir depolama çözümüdür Diske okuma/yazma işlemlerinde.

Ancak gerçek hata toleransı ve disk G/Ç performansı, sabit disklerin disk dizisini oluşturacak şekilde nasıl ayarlandığına bağlıdır. Mevcut cihazlara ve hata toleransı/performans ihtiyaçlarına bağlı olarak farklı RAID düzeyleri tanımlanır.

Her RAID düzeyine ilişkin daha ayrıntılı açıklama için aşağıdaki RAID serisi makalesine başvurabilirsiniz.

Mdadm'ı Linux'a yükleyin

Yazılım RAID'lerimizi oluşturmak, birleştirmek, yönetmek ve izlemek için tercih ettiğimiz araca mdadm (çoklu disk yöneticisinin kısaltması) denir.

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]    

Bölümleri RAID Aygıtları Olarak Birleştirme

Mevcut bölümleri RAID aygıtları olarak birleştirme işlemi aşağıdaki adımlardan oluşur.

1. mdadm'yi kullanarak Yeni Bir Dizi oluşturun

Bölümlerden biri daha önce biçimlendirilmişse veya daha önce başka bir RAID dizisinin parçası olmuşsa, yeni dizinin oluşturulmasını onaylamanız istenecektir.

İçlerinde bulunabilecek önemli verileri kaybetmemek için gerekli önlemleri aldığınızı varsayarsak, güvenle y yazıp Enter tuşuna basabilirsiniz.

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

2. Dizi Oluşturma Durumunu Kontrol Edin

Dizi oluşturma durumunu kontrol etmek için RAID türünden bağımsız olarak aşağıdaki komutları kullanacaksınız. Bunlar, bir RAID0 oluşturduğumuzda (yukarıda gösterildiği gibi) veya resimde gösterildiği gibi bir RAID5 kurma sürecinde olduğunuzda olduğu kadar geçerlidir. altında.

cat /proc/mdstat
or 
mdadm --detail /dev/md0	[More detailed summary]

3. RAID Aygıtını Biçimlendirin

Bu serinin 4. Bölümünde açıklandığı gibi, cihazı ihtiyaçlarınıza/gereksinimlerinize göre bir dosya sistemiyle biçimlendirin.

4. RAID Dizisi Hizmetini İzleyin

İzleme hizmetine diziyi "gözetlemesi" talimatını verin. mdadm --detail --scan çıktısını /etc/mdadm/mdadm.conf (Debian ve türevleri) veya /etc/mdadm.conf< dosyasına ekleyin (CentOS/openSUSE), böyle.

mdadm --detail --scan

mdadm --assemble --scan 	[Assemble the array]

Hizmetin sistem önyüklemesinde başladığından emin olmak için aşağıdaki komutları root olarak çalıştırın.

systemctl start mdmonitor
systemctl enable mdmonitor

5. RAID Disk Arızasını Kontrol Edin

Artıklığı destekleyen RAID düzeylerinde, gerektiğinde arızalı sürücüleri değiştirin. Disk dizisindeki bir aygıt arızalandığında, yeniden oluşturma işlemi yalnızca diziyi ilk oluşturduğumuzda yedek bir aygıt eklenmişse otomatik olarak başlar.

Aksi halde manuel olarak ekstra bir fiziksel sürücüyü sistemimize takıp çalıştırmamız gerekir.

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

Burada /dev/md0 sorunun yaşandığı dizidir ve /dev/sdX1 yeni cihazdır.

6. Çalışma Dizisini Parçalara Ayırın

Cihazları kullanarak yeni bir dizi oluşturmanız gerekiyorsa bunu yapmanız gerekebilir – (İsteğe Bağlı Adım).

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. Posta Uyarıları Oluşturun

Uyarıların gönderileceği geçerli bir e-posta adresi veya sistem hesabı yapılandırabilirsiniz (bu satırın mdadm.conf dosyasında olduğundan emin olun). – (İsteğe Bağlı Adım)

MAILADDR root

Bu durumda, RAID izleme arka plan programının topladığı tüm uyarılar yerel kök hesabın posta kutusuna gönderilecektir. Bu tür uyarılardan biri aşağıdakine benzer.

Not: Bu olay, bir cihazın arızalı olarak işaretlendiği ve yedek cihazın otomatik olarak entegre edildiği 5. ADIM'daki örnekle ilgilidir. mdadm'a göre dizi. Böylece sağlıklı yedek cihazlarımız “bitti” ve uyarısını aldık.

Linux'ta RAID Düzeylerini Anlamak

Yaygın RAID düzeylerine kısa bir genel bakış burada verilmiştir:

RAID 0

Toplam dizi boyutu, en küçük bölümün boyutunun n katıdır; burada n, dizideki bağımsız disklerin sayısıdır (en az iki sürücüye ihtiyacınız olacaktır). /dev/sdb1 ve /dev/sdc1 bölümlerini kullanarak bir RAID 0 dizisi oluşturmak için aşağıdaki komutu çalıştırın.

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

Ortak Kullanımlar: Performansın hata toleransından daha önemli olduğu gerçek zamanlı uygulamaları destekleyen kurulumlar.

RAID 1 (diğer adıyla Yansıtma)

Toplam dizi boyutu en küçük bölümün boyutuna eşittir (en az iki sürücüye ihtiyacınız olacaktır). /dev/sdb1 ve /dev/sdc1 bölümlerini kullanarak bir RAID 1 dizisi oluşturmak için aşağıdaki komutu çalıştırın.

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

Genel Kullanımlar: İşletim sisteminin veya /home gibi önemli alt dizinlerin kurulumu.

RAID 5 (diğer adıyla Eşlik özellikli sürücüler)

Toplam dizi boyutu, en küçük bölümün boyutunun (n – 1) katı olacaktır. (n-1) içindeki "kayıp" alan eşlik (artıklık) hesaplaması için kullanılır (en az üç sürücüye ihtiyacınız olacaktır).

Bir sorun oluştuğunda arızalı parçayı değiştirmek için yedek bir cihaz (bu durumda /dev/sde1) belirtebileceğinizi unutmayın. /dev/sdb1, /dev/sdc1, /dev/sdd1 bölümlerini kullanarak bir RAID 5 dizisi oluşturmak için aşağıdaki komutu çalıştırın ve yedek olarak /dev/sde1.

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

Yaygın kullanımlar: Web ve dosya sunucuları.

RAID 6 (diğer adıyla Çift Eşlikli Sürücüler)

Toplam dizi boyutu (n*s)-2*s olacaktır; burada n dizideki bağımsız disklerin sayısıdır ve s en küçük diskin boyutudur. Bir sorun oluştuğunda arızalı parçayı değiştirmek için yedek bir cihaz (bu durumda /dev/sdf1) belirtebileceğinizi unutmayın.

/dev/sdb1, /dev/sdc1, /dev/sdd1 bölümlerini kullanarak bir RAID 6 dizisi oluşturmak için aşağıdaki komutu çalıştırın , /dev/sde1 ve /dev/sdf1 yedek olarak.

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

Ortak Kullanımlar: Büyük kapasiteli ve yüksek kullanılabilirlik gereksinimlerine sahip dosya ve yedekleme sunucuları.

RAID 1+0 (diğer adıyla Aynaların Çizgisi)

RAID 1+0 her ikisinin birleşimi olduğundan, toplam dizi boyutu RAID 0 ve RAID 1 formüllerine göre hesaplanır. İlk önce her aynanın boyutunu ve ardından şeridin boyutunu hesaplayın.

Bir sorun oluştuğunda arızalı parçayı değiştirmek için yedek bir cihaz (bu durumda /dev/sdf1) belirtebileceğinizi unutmayın. /dev/sdb1, /dev/sdc1, /dev bölümlerini kullanarak bir RAID 1+0 dizisi oluşturmak için aşağıdaki komutu çalıştırın Yedek olarak /sdd1, /dev/sde1 ve /dev/sdf1.

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

Ortak Kullanımlar: Hızlı G/Ç işlemleri gerektiren veritabanı ve uygulama sunucuları.

Linux'ta Sistem Yedeklemeleri Oluşturma ve Yönetme

RAID'in tüm avantajlarıyla birlikte YEDEKLEMELERİN YERİNİ DEĞİLDİR olduğunu hatırlamaktan zarar gelmez! Gerekirse kara tahtaya 1000 kez yazın, ancak bunu sakladığınızdan emin olun. fikir her zaman aklımdadır.

Başlamadan önce, sistem yedeklemeleri için herkese uyan tek çözüm olmadığını unutmamalıyız, ancak burada bir yedekleme stratejisi planlarken dikkate almanız gereken bazı şeyler var.

  • Sisteminizi ne amaçla kullanıyorsunuz? (Masaüstü mü yoksa sunucu mu? İkinci durum geçerliyse, en kritik hizmetler hangileridir; konfigürasyonunu kaybetmek gerçekten acı verici olur mu?)
  • Sisteminizin yedeğini ne sıklıkla almanız gerekir?
  • Yedeklemek istediğiniz veriler (örn. dosyalar/dizinler/veritabanı dökümleri) nedir? Ayrıca büyük dosyaları (ses veya video dosyaları gibi) gerçekten yedeklemeniz gerekip gerekmediğini de düşünebilirsiniz.
  • Bu yedekler nerede (fiziksel yer ve medya anlamında) saklanacak?

1. dd Komutunu Kullanarak Sürücüleri Yedekleyin

Tüm sürücüleri dd komutuyla yedekleyin. İstediğiniz zaman tam bir görüntü oluşturarak sabit diskin tamamını veya bir bölümünü yedekleyebilirsiniz. Bunun, cihaz çevrimdışı olduğunda en iyi şekilde çalıştığını, yani cihazın monte edilmediğini ve G/Ç işlemleri için ona erişen hiçbir işlemin bulunmadığını unutmayın.

Bu yedekleme yaklaşımının dezavantajı, gerçek veriler bunun küçük bir yüzdesini kaplasa bile görüntünün disk veya bölümle aynı boyuta sahip olmasıdır.

Örneğin, yalnızca %10 dolu olan 20 GB'lik bir bölümün görüntüsünü oluşturmak istiyorsanız, görüntü dosyası yine de 20 GB olacaktır. boyut. Başka bir deyişle, yedeklenen yalnızca gerçek veriler değil, bölümün kendisidir. Cihazlarınızın tam yedeklemesine ihtiyacınız varsa bu yöntemi kullanmayı düşünebilirsiniz.

Bölüm Görüntüsü Oluşturma

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 

Bir Bölüm Görüntüsünü Geri Yükleme

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

2. Tar Komutunu Kullanarak Dosyaları Yedekleyin

Belirli dosyaları / dizinlerini tar komutuyla yedekleyin; bu serinin 3. Bölümünde zaten ele alınmıştır. Belirli dosya ve dizinlerin (yapılandırma dosyaları, kullanıcıların ana dizinleri vb.) kopyalarını saklamanız gerekiyorsa bu yöntemi kullanmayı düşünebilirsiniz.

2. rsync Komutunu Kullanarak Dosyaları Yedekleyin ve Senkronize Edin

Dosyaları, çok yönlü bir uzaktan (ve yerel) dosya kopyalama aracı olan rsync komutuyla senkronize edin. Dosyalarınızı ağ sürücülerine/sürücülerden yedeklemeniz ve senkronize etmeniz gerekiyorsa, rsync sizin için idealdir.

İster iki yerel dizini, isterse yerel dosya sistemine monte edilmiş yerel < --- > uzak dizinlerini senkronize ediyor olun, temel sözdizimi aynıdır.

İki Yerel Dizini Senkronize Etme

rsync -av source_directory destination directory

Burada, -a alt dizinlere (varsa) yinelenir, sembolik bağlantıları, zaman damgalarını, izinleri ve orijinal sahibi/grubu ve -v ayrıntılarını korur.

Ayrıca kablolu veri aktarımının güvenliğini artırmak istiyorsanız rsync üzerinden ssh'yi kullanabilirsiniz.

Yerel → Uzak Dizinleri SSH Üzerinden Senkronize Etme

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

Bu örnek, yerel ana bilgisayardaki yedekleme dizinini uzak ana bilgisayardaki /root/uzak_dizin içeriğiyle senkronize edecektir.

Burada -h seçeneği dosya boyutlarını insan tarafından okunabilir biçimde gösterir ve -e bayrağı SSH bağlantısını belirtmek için kullanılır.

Uzaktan → Yerel Dizinleri SSH Üzerinden Senkronize Etme

Bu durumda, önceki örnekteki kaynak ve hedef dizinleri değiştirin.

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

Lütfen bunların rsync kullanımına ilişkin yalnızca 3 örnek (karşılaşabileceğiniz en sık durumlar) olduğunu unutmayın. Daha fazla örnek ve rsync komutlarının kullanımları için aşağıdaki makalede bulunabilir.

Özet

Bir sistem yöneticisi olarak sistemlerinizin mümkün olduğunca iyi performans göstermesini sağlamanız gerekir. İyi hazırlandıysanız ve verilerinizin bütünlüğü RAID ve düzenli sistem yedeklemeleri gibi depolama teknolojileri tarafından iyi bir şekilde destekleniyorsa güvende olursunuz.

LFCS e-Kitabı artık satın alınabilir. Kopyanızı bugün sipariş edin ve sertifikalı bir Linux sistem yöneticisi olma yolculuğunuza başlayın!

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

Son olarak, lütfen bize küçük bir komisyon kazandırmak için aşağıdaki bağlantıları kullanarak sınav kuponunuzu satın almayı düşünün; bu, bu kitabı güncel tutmamıza yardımcı olacaktır.

Bu makalenin nasıl geliştirilebileceğine dair sorularınız, yorumlarınız veya başka fikirleriniz varsa aşağıda konuşmaktan çekinmeyin. Ayrıca lütfen bu seriyi sosyal ağ profilleriniz aracılığıyla paylaşmayı da düşünün.