この記事は、ハブにアカウントを持っていないが、自分のランクに参加することを夢見ている人のリクエストで投稿されました。
誰かが招待し、それを共有したいという希望がある場合は、メールに書いてください:cibertox(人の友人)bk dot ru
WEBサーバーを展開するとき、通常は意地悪の法則の場合のように、予期しないハードドライブの予期しない損失が発生した場合、プロジェクト全体を失うことはないと考えなければなりませんでした。
答えは、RAIDを使用すること、そして私も高速にしたかったことを示唆しています。これはRAID5を意味します(ただし、この方法は6レベルと10レベルのアレイの使用にも適しています)
Debian \ Ubuntuを展開する際の主な問題は、ファイルの一部がアレイのすべてのディスクにコピーされ、そのアセンブリが複雑な計算をリダイレクトするため、このアレイにシステムを最も純粋な形でインストールできないことです。
USBフラッシュドライブにブートローダーをインストールするオプションはありますが、本格的な運用システムで使用するのは正しい方法ではないと思います。とにかくハードドライブがあり、ボード上のブートローダーでフラッシュドライブが予期せずデッドになったためにデータセンターに実行するのは狂気です!
したがって、4つのハードが完全に組み立てられた既製のサーバーがあります。
タックルへようこそ。
パート1:システムのインストール。
ルートファイルシステム(/)はRAID 5にあります。
ハードドライブパーティションサービスでインストールを開始し、各物理ボリュームに3つのパーティションを作成します。最初のパーティションのサイズは2 GBで、2番目のパーティションはスワップパーティションとして提供します。見落とす量はサーバーのタスクによって異なります。それぞれ512 MBを割り当てました。 3番目は残りのすべてのスペースです。
1番目と3番目のパーティションは、物理RAIDパーティションとして作成されます
すべてのディスクにパーティションを作成した後、ソフトウェアRAID設定セクションに移動します
すべてのジェスチャーの後、各ドライブに3つのセクションが12個ありました
/dev/sda1
/dev/sda5
/dev/sda6
/dev/sdb1
/dev/sdb5
/dev/sdb6
/dev/sdc1
/dev/sdc5
/dev/sdc6
/dev/sdd1
/dev/sdd5
/dev/sdd6
どこで:
番号1のパーティションにはそれぞれ2 Gbがあります。
5番のセクションはスワップ用に予約されています。
そして、6番のパーティションはすべてディスク上の残りのスペースです。
(この構成は公理ではありません。必要に応じてセクションをカットできます)。
md 0配列の作成に進みます。
提案でパーティションRAID1のタイプを選択して2つのディスクを追加し、バックアップディスクのデュースを4と0に置き換えます。 その下の番号1を持つすべてのセクションを選択します。これはsda1 sdb1 sdc1 sdd1です
その結果、2 GBのサイズのRAID 1パーティションが1つ得られます(これは重要です!)。
パーティションsda5 sdb5 sdc5 sdd5-setは、スワップの下でそのまま残ります。
次に、RAID 5が実際に安定するmd1アレイの作成に進みます
3つのディスクを追加するという提案は、予約用に4と0に置き換えられます。
シリアル番号6のすべてのディスクを追加します:sda6 sdb6 sdc6 sdd6
あなたがすべてを正しければ、私たちは2つのレイドデバイスを取得する必要があります
RAID 1デバイス#0 2Gb
RAID 5デバイス#1 24.7Gb
デバイスについては、ファイルシステムタイプとマウントポイントを選択します。
RAID 1の場合、マウントポイント/ブートを選択します
RAID 5の場合、マウントポイントを設定します/
変更をディスクに保存し、インストールを実行します
システムのブートローダーをディスクにインストールするという提案に同意します。10.04では4つのディスクすべてにインストールされます。 (8.04.8.10では、BIOSにインストールされた最初のディスクにのみ自動的に配置されます-これは重要なニュアンスです!)。
システムブートローダーが終了しました!
すべてのドライブが起動可能としてマークされているため、GRUB2を離れても特に問題はありませんが、GRUB1.5に置き換えることをお勧めします。1つ目は非常によく知られており、2つ目は安定性が高く、3つ目はその機能です私たち、頭で十分。
パッケージリストの更新
sudo apt-get update
GRUB2を削除します
sudo apt-get purge grub2 grub-pc
以前のバージョンをインストールする
sudo apt-get install grub
インストールメニューを作成する
sudo update-grub
menu.lstファイル回答Yを作成するために提供されます
grub2残留物を削除する
sudo apt-get autoremove
すべてのハードドライブにgrubをインストールする
sudo su
grub-install --no-floppy /dev/sdb
grub-install --no-floppy /dev/sdc
grub-install --no-floppy /dev/sdd
すべてのディスクを起動可能としてマークします。
grub
device (hd1) /dev/sdb
root (hd1,0)
setup (hd1)
device (hd2) /dev/sdc
root (hd2,0)
setup (hd2)
device (hd3) /dev/sdd
root (hd3,0)
setup (hd3)
quit
(hd0を装着する必要はありません。インストール時に自動的に登録されます)
その結果、何が得られましたか?!
2つのRAID1パーティションを作成しました(ブートパーティションのコピーが4つのディスクに作成されました)。通常のディスクと同じように純粋な形式で保存されます。したがって、RAID 5にあるルートパーティションが独立してマウントされ、OSが完全に静かに起動します。
パート2:立っているハードドライブを終了するときのアクション。
アレイ内の4つのディスクの1つが予期せずに死亡した場合、/ bootパーティションの3つのコピーと、劣化モードになった健全な/パーティションがあります。
システムを実装する前に、猫で練習する必要があります。1つのディスクを引き出して、コマンドを入力して何が起こったかを確認します。
cat /proc/mdstat
そのようなテーブルを作成します
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid5 sdb6[1] sda6[0] sdc6[3]
24087360 blocks level 5, 64k chunk, algorithm 2 [4/3] [UU_U]
md0 : active raid1 sdc1[3] sdb1[1] sda1[0]
1951680 blocks [4/3] [UU_U]
ここで:md1は、操作可能なままになっているパーティションのリストです(この例は、リスト[UU_U]の3番目であるsdd6パーティションを残したことを示しています。番号は0から始まります)。
md0セクションにも同じことが言えます。 sdd1セクションのみ
ハードドライブを交換します-ホットスワップをサポートする本格的なサーバーである場合、新しいサーバーはそれ自体を決定する必要があります、これが何らかの理由で発生しなかった場合、心配することはありません-残りの3つのディスクのいずれかから静かに再起動してコマンドを入力します。
以前にスーパーユーザーモードに切り替えた場合:
sudo su
fdisk –l
このコンテンツの写真を取得します。
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004b95a
Device Boot Start End Blocks Id System
/dev/sda1 1 244 1951744 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2 244 1306 8530945 5 Extended
/dev/sda5 244 306 500736 82 Linux swap / Solaris
/dev/sda6 306 1306 8029184 fd Linux raid autodetect
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008e1c9
Device Boot Start End Blocks Id System
/dev/sdb1 1 244 1951744 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2 244 1306 8530945 5 Extended
/dev/sdb5 244 306 500736 82 Linux swap / Solaris
/dev/sdb6 306 1306 8029184 fd Linux raid autodetect
Disk /dev/sdc: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00007915
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 244 1951744 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdc2 244 1306 8530945 5 Extended
/dev/sdc5 244 306 500736 82 Linux swap / Solaris
/dev/sdc6 306 1306 8029184 fd Linux raid autodetect
Disk /dev/sdd: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/md0: 1998 MB, 1998520320 bytes
2 heads, 4 sectors/track, 487920 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/md0 doesn't contain a valid partition table
Disk /dev/md1: 24.7 GB, 24665456640 bytes
2 heads, 4 sectors/track, 6021840 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 196608 bytes
Disk identifier: 0x00000000
このフットクロスから、新しいディスクが決定されたが、パーティションが含まれていないことが明らかです。
Disk /dev/sdd: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdd doesn't contain a valid partition table
ライブディスクからパーティションをコピーします。たとえば、-forceスイッチを使用してsdaからコピーします(10.04でスイッチを使用しないと、システムはどのような形でもubuntu 8で作成しません)。
sfdisk -d /dev/sda | sfdisk /dev/sdd --force
コピーを確認する
fdisk –l
4つのディスクすべてにパーティションがありますが、md0デバイスにはあることがわかります。
Disk /dev/md0: 1998 MB, 1998520320 bytes
2 heads, 4 sectors/track, 487920 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/md0 doesn't contain a valid partition table
それを修正し、新しく作成したsdd1を配列に追加します。
mdadm --add /dev/md0 /dev/sdd1
発行する必要があります
mdadm:追加/ dev / sdd1
その後、レイド1のリビルドがすぐに開始されます
raid5でも同じことを行います
mdadm --add /dev/md1 /dev/sdd6
私達は得る:
mdadm: added /dev/sdd6
再構築が開始されます。プロセスを見るのが面白い場合は、入力してください
cat /proc/mdstat
与えられます:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid5 sdd6[4] sdb6[1] sda6[0] sdc6[3]
24087360 blocks level 5, 64k chunk, algorithm 2 [4/3] [UU_U]
[=>...................] recovery = 8.8% (713984/8029120) finish=1.1min speed=101997K/sec
回復の程度が示されている場合、作業が完了したら、少し待ってからコマンドを再度入力し、以下を取得します。
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid5 sdd6[2] sdb6[1] sda6[0] sdc6[3]
24087360 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
md0 : active raid1 sdd1[2] sdc1[3] sdb1[1] sda1[0]
1951680 blocks [4/4] [UUUU]
これから、すべてのセクションが復元されていることがわかります。
新しいディスクを起動可能にするだけで、
grub
device (hd2) /dev/sdd
root (hd2,0)
setup (hd2)
quit
おそらくこれですべてです。サーバーは新品同様で、すべての情報はそのままです。