Linux Foundationは、LFCS(Linux Foundation Certified Sysadmin)認証を開始しました。これは、システム管理者がLinuxシステム全体の操作サポートを行う能力をパフォーマンスベースの試験で証明する輝かしい機会です:システムサポート、第一レベルの診断とモニタリング、必要に応じて他のサポートチームに問題をエスカレーションすること。
このシリーズは、LFCS(Linux Foundation Certified Sysadmin)Part 1から33までの準備と、以下のトピックをカバーします:
この投稿は、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

2. アレイ作成状態を確認
アレイ作成状態を確認するために使用するコマンドは、RAID タイプに関係なく以下の通りです。これらは、上記に示したようにRAID0を作成する場合や、下の画像に示すようにRAID5を設定するプロセスであっても有効です。
# cat /proc/mdstat or # mdadm --detail /dev/md0 [More detailed summary]

3. RAIDデバイスのフォーマット
必要に応じて、このシリーズの第4部で説明されているように、デバイスをファイルシステムでフォーマットします。
4. RAIDアレイサービスの監視
監視サービスにアレイを「監視」させるよう指示します。mdadm --detail --scan
の出力を/etc/mdadm/mdadm.conf(Debianおよび派生物)または/etc/mdadm.conf(CentOS / openSUSE)に追加します。
# mdadm --detail --scan

# mdadm --assemble --scan [Assemble the array]
サービスがシステム起動時に開始するようにするには、ルートとして次のコマンドを実行します。
# systemctl start mdmonitor # systemctl enable mdmonitor
5. RAIDディスク障害のチェック
冗長性をサポートするRAIDレベルでは、必要に応じて障害が発生したドライブを交換します。ディスクアレイ内のデバイスが故障した場合、最初にアレイを作成したときにスペアデバイスが追加されていた場合にのみ、自動的にリビルドが開始されます。

そうでない場合は、手動でシステムに別の物理ドライブを接続して実行する必要があります。
# 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によってスペアデバイスが自動的にアレイに組み込まれました。その結果、私たちは「健康なスペアデバイスを使い果たしました」とアラートが発生しました。

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 0とRAID 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は詳細モードです。

さらに、データ転送のセキュリティを高めたい場合は、sshをrsyncで使用できます。
SSH経由でローカル→リモートディレクトリを同期する
# rsync -avzhe ssh backups root@remote_host:/remote_directory/
この例では、ローカルホストのバックアップディレクトリをリモートホストの/root/remote_directoryの内容と同期させます。
-h
オプションはファイルサイズを人間が読みやすい形式で表示し、-e
フラグはSSH接続を示します。

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/