LFCS #6: RAID デバイスとしてパーティションを組み立て、システムバックアップを作成する方法

Linux Foundationは、LFCSLinux Foundation Certified Sysadmin)認証を開始しました。これは、システム管理者がLinuxシステム全体の操作サポートを行う能力をパフォーマンスベースの試験で証明する輝かしい機会です:システムサポート、第一レベルの診断とモニタリング、必要に応じて他のサポートチームに問題をエスカレーションすること。

このシリーズは、LFCSLinux Foundation Certified SysadminPart 1から33までの準備と、以下のトピックをカバーします:

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

この投稿は、33チュートリアルシリーズのPart 6です。この部分では、RAIDデバイスとしてパーティションを組み立て、LFCS認定試験で必要なシステムバックアップを作成および管理する方法を説明します。

LinuxでのRAIDの理解

Redundant Array of Independent Disks(RAID)として知られる技術は、複数のハードディスクを1つの論理ユニットに組み合わせて、データの冗長性を提供したり、読み取り/書き込み操作のパフォーマンスを向上させたりするストレージソリューションです。

しかし、実際のフォールトトレランスとディスク I/O パフォーマンスは、ハードディスクがディスクアレイを形成するためにどのように設定されているかによって左右されます。利用可能なデバイスとフォールトトレランス/パフォーマンスの要件に応じて、異なる RAID レベルが定義されています。

各 RAID レベルの詳細な説明を知るために、以下の RAID シリーズの記事を参照してください。

Linuxでmdadmをインストール

ソフトウェア RAID を作成、組み立て、管理、監視するためのツールとして選択したのは、mdadm(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]    

パーティションを RAID デバイスとして組み立てる

既存のパーティションを RAID デバイスとして組み立てるプロセスは、以下のステップで構成されます。

1. mdadmを使用して新しいアレイを作成

パーティションのいずれかが以前にフォーマットされていたか、別のRAIDアレイの一部であった場合、新しいアレイの作成を確認するプロンプトが表示されます。

重要なデータが存在した可能性があるために、必要な予防措置を講じたと仮定すると、yと入力してEnterを押すことが安全です。

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

2. アレイ作成状態を確認

アレイ作成状態を確認するために使用するコマンドは、RAID タイプに関係なく以下の通りです。これらは、上記に示したようにRAID0を作成する場合や、下の画像に示すようにRAID5を設定するプロセスであっても有効です。3. RAID デバイスをフォーマット

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

3. RAIDデバイスのフォーマット

必要に応じて、このシリーズの第4部で説明されているように、デバイスをファイルシステムでフォーマットします。

4. RAIDアレイサービスの監視

監視サービスにアレイを「監視」させるよう指示します。mdadm --detail --scanの出力を/etc/mdadm/mdadm.conf(Debianおよび派生物)または/etc/mdadm.conf(CentOS / openSUSE)に追加します。

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

サービスがシステム起動時に開始するようにするには、ルートとして次のコマンドを実行します。

# systemctl start mdmonitor
# systemctl enable mdmonitor

5. RAIDディスク障害のチェック

冗長性をサポートするRAIDレベルでは、必要に応じて障害が発生したドライブを交換します。ディスクアレイ内のデバイスが故障した場合、最初にアレイを作成したときにスペアデバイスが追加されていた場合にのみ、自動的にリビルドが開始されます。

Check RAID Faulty Disk

そうでない場合は、手動でシステムに別の物理ドライブを接続して実行する必要があります。

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

ここで/dev/md0は問題が発生したアレイであり、/dev/sdX1は新しいデバイスです。

6. 作動中のアレイの分解

デバイスを使用して新しいアレイを作成する必要がある場合は、これを行う必要があります(オプションステップ)。

# 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. メールアラートの作成

有効なメールアドレスまたはシステムアカウントを構成してアラートを送信できます(mdadm.confにこの行があることを確認してください)。(オプションステップ

MAILADDR root

この場合、RAID監視デーモンが収集するすべてのアラートが、ローカルのrootアカウントのメールボックスに送信されます。そのようなアラートの1つは以下のようになります。

: このイベントは、STEP 5の例に関連しており、そこではデバイスが故障したとマークされ、mdadmによってスペアデバイスが自動的にアレイに組み込まれました。その結果、私たちは「健康なスペアデバイスを使い果たしました」とアラートが発生しました。

RAID Monitoring Alerts

LinuxにおけるRAIDレベルの理解

一般的なRAIDレベルの概要は以下の通りです。

RAID 0

アレイの合計サイズは、アレイ内の独立したディスク数(少なくとも2つのドライブが必要)であるnによって最小のパーティションのサイズを乗じたものです。以下のコマンドを実行して、RAID 0アレイを/dev/sdb1/dev/sdc1のパーティションを使用して組み立てます。

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

一般的な用途: 性能よりも耐障害性が重要でないリアルタイムアプリケーションをサポートする設定。

RAID 1(ミラーリングとも呼ばれる)

アレイの合計サイズは最小のパーティションのサイズに等しい(少なくとも2つのドライブが必要)。以下のコマンドを実行して、RAID 1アレイを/dev/sdb1/dev/sdc1のパーティションを使用して組み立てます。

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

一般的な用途: オペレーティングシステムのインストールや、/homeなどの重要なサブディレクトリ。

RAID 5(パリティ付きドライブとも呼ばれる)

合計の配列サイズは、最小のパーティションのサイズの(n – 1)倍になります。(n-1)で「失われた」スペースは、パリティ(冗長性)計算用に使用されます(少なくとも3つのドライブが必要です)。

障害が発生した場合に不良パーツを置き換えるためのスペアデバイス(この場合/dev/sde1)を指定できることに注意してください。以下のコマンドを実行して、/dev/sdb1/dev/sdc1/dev/sdd1、および/dev/sde1をスペアとして使用するRAID 5アレイを組み立てます。

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

一般的な用途:Webサーバーとファイルサーバー。

RAID 6(ダブルパリティ付きドライブとも呼ばれる)

合計アレイサイズは(n*s)-2*sで、ここでnはアレイ内の独立したディスクの数、sは最小のディスクのサイズです。障害が発生した場合に不良パーツを置き換えるためのスペアデバイス(この場合/dev/sdf1)を指定できることに注意してください。

以下のコマンドを実行して、/dev/sdb1/dev/sdc1/dev/sdd1/dev/sde1、および/dev/sdf1をスペアとして使用するRAID 6アレイを組み立てます。

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

一般的な用途:大容量と高可用性要件を持つファイルサーバーとバックアップサーバー。

RAID 1+0(ミラーズのストライプとも呼ばれる)

合計アレイサイズは、RAID 1+0が両方の組み合わせであるため、RAID 0RAID 1の式に基づいて計算されます。まず、各ミラーのサイズを計算し、次にストライプのサイズを計算します。

以下のコマンドを実行して、/dev/sdb1/dev/sdc1/dev/sdd1/dev/sde1、および/dev/sdf1パーティションを使用してRAID 1+0アレイを組み立て、問題が発生した場合に故障したパーツを置き換えるためのスペアデバイス(/dev/sdf1)を指定できることに注意してください。

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

一般的な用途:高速I/O操作を必要とするデータベースやアプリケーションサーバー。

Linuxでのシステムバックアップの作成と管理

まず、RAIDは素晴らしいものの、バックアップの代わりにはならないことを忘れてはいけません。黒板に1000回書く必要があるかもしれませんが、その考えを常に頭に置いておいてください。

始める前に、システムバックアップに万能なソリューションは存在しないことに注意してくださいが、バックアップ戦略を計画する際に考慮すべきいくつかのことがあります。

  • システムの使用目的は何ですか?(デスクトップまたはサーバー?後者の場合、最も重要なサービスは何ですか – その設定を失うことは本当に痛いでしょうか?)
  • システムのバックアップをどれくらいの頻度で取る必要がありますか?
  • バックアップしたいデータ(ファイル/ディレクトリ/データベースダンプ)は何ですか?また、オーディオやビデオファイルのような巨大なファイルをバックアップする必要があるのかも考慮してください。
  • それらのバックアップはどこ(物理的な場所とメディア)に保存されますか?

1. ddコマンドを使用したバックアップドライブ

Note: The translation above is a direct translation of the provided text into Japanese, keeping the custom delimiters intact.

ドライブ全体をddコマンドでバックアップします。これにより、任意の時点で完全なイメージを作成することができ、ハードディスク全体またはパーティションをバックアップできます。ただし、これが最適に機能するのは、デバイスがオフラインであり、マウントされておらず、I/O操作のためにプロセスがアクセスしていない場合です。

このバックアップ方法の欠点は、イメージがディスクまたはパーティションと同じサイズになることです。実際のデータがそれのごく一部を占めていてもです。

たとえば、20GBのパーティションを10%しか使用していない場合でも、イメージファイルのサイズは20 GBのままです。つまり、バックアップされるのは実際のデータだけでなく、パーティション全体です。デバイスの正確なバックアップが必要な場合には、この方法を検討してください。

パーティションイメージの作成

# 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 

パーティションイメージの復元

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

2. tarコマンドを使用したファイルのバックアップ

特定のファイル/ディレクトリをtarコマンドでバックアップします – これはこのシリーズの第3部ですでに説明しました。特定のファイルやディレクトリ(設定ファイル、ユーザーのホームディレクトリなど)のコピーを保持する必要がある場合には、この方法を検討してください。

2. rsyncコマンドを使用したファイルのバックアップと同期

ファイルをrsyncコマンドで同期させます。これは多機能なリモート(およびローカル)ファイルコピーツールです。ネットワークドライブへのバックアップやファイルの同期が必要な場合、rsyncはお勧めです。

2つのローカルディレクトリを同期する場合や、ローカル< --- >リモートディレクトリをローカルファイルシステムにマウントする場合、基本的な構文は同じです。

2つのローカルディレクトリを同期する

# rsync -av source_directory destination directory

ここで、-aはサブディレクトリ(存在する場合)を再帰的に処理し、シンボリックリンク、タイムスタンプ、アクセス許可、元の所有者/グループを保持します。-vは詳細モードです。

rsync Synchronizing Files

さらに、データ転送のセキュリティを高めたい場合は、sshrsyncで使用できます。

SSH経由でローカル→リモートディレクトリを同期する

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

この例では、ローカルホストのバックアップディレクトリをリモートホストの/root/remote_directoryの内容と同期させます。

-hオプションはファイルサイズを人間が読みやすい形式で表示し、-eフラグはSSH接続を示します。

rsync Synchronize Remote Files

SSH経由でリモート→ローカルディレクトリを同期する

この場合、前の例のソースおよび宛先ディレクトリを切り替えます。

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

これらはrsyncの使用例の3つに過ぎません(あなたが遭遇する可能性が高い最も頻繁なケース)。rsyncコマンドのさらなる例や使用法については、以下の記事を参照してください。

まとめ

システム管理者として、システムができるだけ良く動作することを確認する必要があります。十分に準備され、データの整合性がRAIDなどのストレージ技術や定期的なシステムバックアップによってよくサポートされている場合、安全です。

今すぐ購入できるLFCS eBookがあります。今日そのコピーを注文して、認定Linuxシステム管理者になる旅を始めてください!

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

最後に、以下のリンクを使用して試験ボンディングを購入することを検討してください。これにより、私たちは小さなコミッションを獲得し、この本を最新の状態に保つことができます。

質問、コメント、またはこの記事を改善する方法についてさらなるアイデアがあれば、どうぞおっしゃってください。また、このシリーズをソーシャルネットワークプロフィールで共有することを検討してください。

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