ウェブサイト検索

LFCS #6: Linux でパーティションを RAID デバイスとして組み立てる方法


Linux Foundation は、LFCS (Linux Foundation Certified Sysadmin) 認定資格を開始しました。これは、世界中のシステム管理者にとって、パフォーマンスベースの試験を通じて、自分の能力を実証する輝かしいチャンスです。 Linux システム上で全体的な運用サポートを実行します。システム サポート、第 1 レベルの診断と監視、さらに必要に応じて他のサポート チームへの問題のエスカレーションを行います。

このシリーズは、LFCS (Linux Foundation 認定システム管理者) のパート 1 から 33 までの準備というタイトルで、次の内容をカバーします。次のトピック:

Part 1

Linux で「Sed」コマンドを使用してファイルを操作する方法

Part 2

Linux に Vi/Vim をインストールして使用する方法

Part 3

Linux でファイルとディレクトリを圧縮し、ファイルを検索する方法

Part 4

Linux でストレージデバイスをパーティション分割する方法

Part 5

Linux で (Samba および NFS) ファイルシステムをマウントする方法

Part 6

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

Part 7

システム起動プロセスとサービス (SysVinit、Systemd、および Upstart) の管理

Part 8

ユーザーとグループ、ファイル権限、および Sudo アクセスを管理する方法

Part 9

Yum、RPM、Apt、Dpkg、Aptitude、Zypper を使用した Linux パッケージ管理

Part 10

基本的なシェル スクリプトとファイル システムのトラブルシューティングを学習する

Part 11

vgcreate、lvcreate、および lvextend コマンドを使用して LVM を管理および作成する方法

Part 12

インストールされたヘルプドキュメントとツールを使用して Linux を探索する方法

Part 13

Grand Unified Bootloader (GRUB) を構成およびトラブルシューティングする方法

Part 14

Linux プロセスのリソース使用状況を監視し、ユーザーごとにプロセス制限を設定

Part 15

Linux システムでカーネル ランタイム パラメータを設定または変更する方法

Part 16

Linux での SELinux または AppArmor を使用した強制アクセス制御の実装

Part 17

ユーザーとグループのアクセス コントロール リスト (ACL) とディスク クォータを設定する方法

Part 18

ネットワークサービスのインストールと起動時の自動起動の構成

Part 19

匿名ログインを許可する FTP サーバーのセットアップに関する究極のガイド

Part 20

基本的な再帰キャッシュ DNS サーバーのセットアップとドメインのゾーンの構成

Part 21

MariaDB データベース サーバーのインストール、セキュリティ保護、パフォーマンス チューニングの方法

Part 22

ファイル システム共有用に NFS サーバーをインストールおよび構成する方法

Part 23

SSL 証明書を使用した名前ベースの仮想ホスティングで Apache をセットアップする方法

Part 24

Linux でサービスへのリモート アクセスを有効にするために iptables ファイアウォールをセットアップする方法

Part 25

Linux を静的および動的にトラフィックを処理するルーターに変える方法

Part 26

Cryptsetup ツールを使用して暗号化されたファイルシステムとスワップをセットアップする方法

Part 27

システムの使用状況、停止を監視し、Linux サーバーのトラブルシューティングを行う方法

Part 28

パッケージをインストールまたは更新するためにネットワーク リポジトリをセットアップする方法

Part 29

ネットワークのパフォーマンス、セキュリティ、トラブルシューティングを監査する方法

Part 30

仮想マシンとコンテナをインストールおよび管理する方法

Part 31

プロジェクトを効率的に管理するために Git の基本を学ぶ

Part 32

Linux で IPv4 および IPv6 アドレスを構成するための初心者ガイド

Part 33

Ubuntu でネットワーク ボンディングとブリッジングを作成するための初心者ガイド

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

Linux における RAID について

独立ディスクの冗長アレイ (RAID) として知られるテクノロジーは、複数のハードディスクを 1 つの論理ユニットに結合してデータの冗長性を提供したり、パフォーマンスを向上させたりするストレージ ソリューションです。ディスクへの読み取り/書き込み操作中。

ただし、実際のフォールト トレランスとディスク I/O パフォーマンスは、ディスク アレイを形成するためのハードディスクの設定方法に依存します。利用可能なデバイスとフォールト トレランス/パフォーマンスのニーズに応じて、さまざまな RAID レベルが定義されます。

各 RAID レベルの詳細な説明については、次の RAID シリーズの記事を参照してください。

Linux に mdadm をインストールする

ソフトウェア RAID の作成、組み立て、管理、監視に使用するツールは、mdadm (multiple discs 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 を使用して新しいアレイを作成する

パーティションの 1 つが以前にフォーマットされていた場合、または以前に別の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]

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

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 つは次のようになります。

: このイベントは、デバイスに障害があるとマークされ、スペア デバイスが自動的に組み込まれるステップ 5 の例に関連しています。 mdadm による配列。したがって、健全な予備デバイスが「枯渇」し、アラートが届きました。

Linux の RAID レベルについて

一般的なRAID レベルの簡単な概要は次のとおりです。

RAID 0

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

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

一般的な用途: 耐障害性よりもパフォーマンスが重要なリアルタイム アプリケーションをサポートするセットアップ。

RAID 1 (別名ミラーリング)

アレイの合計サイズは、最小パーティションのサイズと同じになります (少なくとも 2 つのドライブが必要です)。次のコマンドを実行して、パーティション /dev/sdb1/dev/sdc1 を使用して RAID 1 アレイを構築します。

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 を使用して RAID 5 アレイを構築します。 と予備として /dev/sde1 を追加します。

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 を使用して RAID 6 アレイを構築します。 /dev/sde1、および予備として /dev/sdf1

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/sdf1) を指定できることに注意してください。次のコマンドを実行して、パーティション /dev/sdb1/dev/sdc1/dev を使用して RAID 1+0 アレイを構築します。 /sdd1/dev/sde1、およびスペアとして /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コマンドを使用したドライブのバックアップ

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

このバックアップ方法の欠点は、実際のデータが占める割合が小さい場合でも、イメージのサイズがディスクまたはパーティションと同じになることです。

たとえば、10% しか使用されていない 20 GB のパーティションをイメージ化する場合、イメージ ファイルはまだ 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 ではなく ssh を使用できます。

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 電子書籍は現在購入可能です。今すぐコピーを注文して、認定 Linux システム管理者になるための旅を始めましょう!

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

最後になりましたが、次のリンクを使用して試験バウチャーを購入することを検討してください。これにより少額の手数料が得られ、この書籍を常に最新の状態に保つことができます。

この記事をどのように改善できるかについて質問、コメント、またはさらなるアイデアがある場合は、以下でお気軽にご発言ください。さらに、ソーシャル ネットワーク プロフィールを通じてこのシリーズを共有することを検討してください。