私の現在のアイデアはmdadm
。
具体的には、ドライブは小型のフォームファクタサーバーであるDell T20のSATAベースの1TB HDDです。
オペレーティングシステムはGNU/Linux Debian8.6(後でアップグレード:提示⟶緊張⟶バスター)
私の場合、2TBのディスク容量と2TBのパリティが作成されます。
また、GPTパーティションテーブルで使用したいと思います。動作させるには、端末を介してのみ実行すると仮定し、正確にどうすればよいかわかりません。
私はRAIDアレイを作成したことがないので、進行方法を案内してもらえますか?
メモ:
この配列は一意のデータにのみ使用されます。起動やオペレーティングシステムはありません。
このアレイの目的のため、RAID-6を選択しました。アレイは2つのドライブ障害に耐えることができなければなりません。私のハードウェアはドライブが4つに制限されているので、私が知っているRAID-6に代わるものはありません。 (RAID-6の速度低下がいくらひどくても、このアレイでは問題になりません。)
ベストアンサー1
この回答では、すべてのアレイメンバー(ドライブ)のすべてのデータが削除されることを明確にしてください。だからまずバックアップしてください!
端末を開いてroot
(su
);あなたが持っているならsudo
有効にすると、次のこともできますsudo -i
。man sudo
すべてのオプションについて):
sudo -i
まず、以前にドライブにデータとファイルシステムがあった場合は、ドライブを消去する必要があります。sdi
、、、、4人のメンバーがいるとしsdj
ます。このプロセスに関する視覚的なフィードバックを得るにはsdk
sdl
pv
(パイプビューア)ここで使用されます:
pv < /dev/zero > /dev/sdi
pv < /dev/zero > /dev/sdj
pv < /dev/zero > /dev/sdk
pv < /dev/zero > /dev/sdl
または、何も残っていないことを確認するには、すべてのドライブでGPartedを使用して、ファイルシステムが存在するパーティションと存在しないパーティションがあることを確認してから消去するだけで十分です。しかし、私は個人的に上記の方法を好む。すべてのドライブをゼロ化する方法関連する場合は、これを実行する前にすべてのパーティションをアンマウントする必要があることに注意してください。次の単一ライナーで実行できます。
umount /dev/sdi?; wipefs --all --force /dev/sdi?; wipefs --all --force /dev/sdi
umount /dev/sdj?; wipefs --all --force /dev/sdj?; wipefs --all --force /dev/sdj
umount /dev/sdk?; wipefs --all --force /dev/sdk?; wipefs --all --force /dev/sdk
umount /dev/sdl?; wipefs --all --force /dev/sdl?; wipefs --all --force /dev/sdl
その後、GPT(GUIDパーティションテーブル)を使用してすべてのドライブを初期化し、すべてのドライブをパーティション化する必要がありますが、GPartedを使用すると不要なプロセスでファイルシステムが作成されるため、次のものを使用しないでくださいgdisk
。
gdisk /dev/sdi
gdisk /dev/sdj
gdisk /dev/sdk
gdisk /dev/sdl
すべての場合に以下を使用します。
o
Enter
y
Enter決定を確認するための新しい空のGUIDパーティションテーブル(GPT)の場合、新しいパーティションの場合は最初の
n
Enterパーティションのデフォルト値
Enter最初のセクタのデフォルト値Linux RAIDタイプの場合は、変更を入力して決定を確認します。
Enter
Enter
fd00
Enter
w
Enter
y
Enter
これでドライブを確認できます。
mdadm --examine /dev/sdi /dev/sdj /dev/sdk /dev/sdl
次のように話す必要があります。
(type ee)
その場合は、パーティションを確認します。
mdadm --examine /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1
次のように話す必要があります。
No md superblock detected
その場合は、RAID6アレイを作成できます。
mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sdi1 /dev/sdj1 /dev/sdk1 /dev/sdl1
配列が完全に作成されるまで待つ必要があります。これは簡単に行うことができますwatch
。
watch cat /proc/mdstat
アレイを作成したら、その詳細を確認する必要があります。
mdadm --detail /dev/md0
次のように話す必要があります。
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
ext4
次に、次のようにアレイにファイルシステムを作成します。隠されたext4lazyinit
大きな配列の場合は時間がかかるため、コマンドを使用しないことをお勧めします。したがって、名前は「遅延初期化だから、次のことを避けることをお勧めします。
mkfs.ext4 /dev/md0
代わりに、完全な即時初期化を強制する必要があります(root
データ配列なので、0%保持)。
mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0 /dev/md0
これらのオプションを指定すると、生成中にinodeとログがすぐに初期化されるため、大規模な配列に役立ちます。
ショートカットを選択し、ext4
「より良い回避コマンド」を使用してファイルシステムを作成することを選択した場合は、すべてのinodeを初期化するのにかなりの時間がかかることに注意してください。完了するまでまたはをext4lazyinit
使用して確認できます。iotop
nmon
ファイルシステムの初期化のためにどの方法を選択しても、初期化が完了したらマウントする必要があります。
これで、このRAID6アレイ用のいくつかのディレクトリを作成します。
mkdir -p /mnt/raid6
簡単にインストールしてください。
mount /dev/md0 /mnt/raid6
これでデフォルトで完了したので、GPartedを再利用して、すべてのドライブのファイルlinux-raid
システムとフラグが表示されていることをすばやく確認できます。raid
その場合は、GPTパーティションを持つRAID6アレイを正しく作成し、ここにファイルをコピーできます。
ファイルシステムのUUIDを表示しますmd
。
blkid /dev/md0
UUIDをクリップボードにコピーします。
fstab
これで、お気に入りのテキストエディタで編集する必要があります。nano
、しかしsudoedit
おそらく以下を使用する方が良いでしょう:
nano /etc/fstab
アイテムを追加します。
UUID=<the UUID you have in the clipboard> /mnt/raid6 ext4 defaults 0 0
defaults
私は個人的にフラグセットを使用することをお勧めしません。ただ行があまり複雑ではないことを願っています。
UPSバックアップデータRAIDが代わりに使用するマウントフラグは次のとおりですdefaults
。 nofail,nosuid,nodev,noexec,nouser,noatime,auto,async,rw,data=journal,errors=remount-ro
保存したら正しいことを確認できます。
mount -av | grep raid6
次のように話す必要があります。
already mounted
その場合は、アレイ構成を保存します。md
まだデバイスを作成していない場合は、単に次のことができます。
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
アレイがすでに存在する場合は、構成ファイルにリダイレクトせずに前のコマンドを実行します。
mdadm --detail --scan
新しいアレイを設定ファイルに手動で追加します。
最後に更新することを忘れないでくださいinitramfs
。そうしないと、新しい配列は自動的に次のように読み取り専用に組み込まれます/dev/md127
。
update-initramfs -u -k all
計画どおりにすべての操作を行ったことを確認し、その場合は再起動できます。
reboot