私はこれに数時間を費やし、何十ものStackExchangeの投稿を見つけましたが、まだ停止しています。
ソフトウェアRAID 1構成のDebianシステムがあります。現在のマシンは正常に起動します。
マイコンピュータのハードドライブを交換する予定です。このプロセスでは、ブートプロセスが実際に期待どおりにミラーリングされないことがわかりました。最初のハードドライブ()を取り外そうとすると、/dev/sda
サーバーは起動しません。私は一人で始めることができないようです/dev/sdb
。
私はいくつか試しました:
sudo grub-install /dev/sdb
、sudo update-grub /dev/sdb
sudo dpkg-reconfigure grub-pc
sda
sdb
(ただし、これを完了したときに、およびにインストールするためのオプションが提供されています。)を確認md0
しましたが、インストールに成功したようですが、確認しようとするとインストールに失敗しました。sda
sdb
md0
また、GRUBがドライブmd0
自体(sda
例:sdb
ブート中にGRUBがロードされたときにアレイが起動しないため、これが問題になる可能性があると思いますか?そうです。
人々が持っているアイデアを聞きたいです。よろしくお願いします!役に立つ場合は、私のシステム構成は次のようになります。
# taken from grub.cfg
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod part_msdos
insmod diskfilter
insmod mdraid09
insmod ext2
set root='mduuid/73f4f8fa4b4d9ea4dbaa835b9c9612ac'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='mduuid/73f4f8fa4b4d9ea4dbaa835b9c9612ac' 20fb3f71-3911-4f65-8773-7cf6bf334
e0d
else
search --no-floppy --fs-uuid --set=root 20fb3f71-3911-4f65-8773-7cf6bf334e0d
fi
font="/usr/share/grub/unicode.pf2"
fi
~$ sudo blkid
/dev/sda1: UUID="73f4f8fa-4b4d-9ea4-dbaa-835b9c9612ac" TYPE="linux_raid_member"
/dev/sda5: UUID="882c3c60-15c3-d6f8-d399-c9bc0b1041c7" TYPE="linux_raid_member"
/dev/sda6: UUID="6b77ee71-58d7-20c2-e510-ea20661b7451" TYPE="linux_raid_member"
/dev/sda7: UUID="361b574d-18d0-f4a5-3076-c1e8f6240de2" TYPE="linux_raid_member"
/dev/sdb1: UUID="73f4f8fa-4b4d-9ea4-dbaa-835b9c9612ac" TYPE="linux_raid_member"
/dev/sdb5: UUID="882c3c60-15c3-d6f8-d399-c9bc0b1041c7" TYPE="linux_raid_member"
/dev/sdb6: UUID="6b77ee71-58d7-20c2-e510-ea20661b7451" TYPE="linux_raid_member"
/dev/sdb7: UUID="361b574d-18d0-f4a5-3076-c1e8f6240de2" TYPE="linux_raid_member"
/dev/md0: UUID="20fb3f71-3911-4f65-8773-7cf6bf334e0d" TYPE="ext3"
/dev/md1: TYPE="swap"
/dev/md2: UUID="089c64c1-fefc-4cb4-8b9f-f06439f6a757" TYPE="ext3"
/dev/md3: UUID="0865f8c6-95ac-4582-b7c5-9e9d02a34e8e" TYPE="ext3"
~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 698.7G 0 disk
├─sda1 8:1 0 18.6G 0 part
│ └─md0 9:0 0 18.6G 0 raid1 /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 1.9G 0 part
│ └─md1 9:1 0 1.9G 0 raid1 [SWAP]
├─sda6 8:6 0 169.4G 0 part
│ └─md2 9:2 0 169.4G 0 raid1 /home
└─sda7 8:7 0 465.7G 0 part
└─md3 9:3 0 465.7G 0 raid1 /time_mac
sdb 8:16 0 931.5G 0 disk
├─sdb1 8:17 0 18.6G 0 part
│ └─md0 9:0 0 18.6G 0 raid1 /
├─sdb2 8:18 0 1K 0 part
├─sdb5 8:21 0 1.9G 0 part
│ └─md1 9:1 0 1.9G 0 raid1 [SWAP]
├─sdb6 8:22 0 169.4G 0 part
│ └─md2 9:2 0 169.4G 0 raid1 /home
└─sdb7 8:23 0 465.7G 0 part
└─md3 9:3 0 465.7G 0 raid1 /time_mac
sr0 11:0 1 1024M 0 rom
$ sudo parted -l
Model: ATA SAMSUNG HD753LJ (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 20.0GB 20.0GB primary ext3 raid
2 20.0GB 704GB 684GB extended
5 20.0GB 22.0GB 1999MB logical linux-swap(v1) raid
6 22.0GB 204GB 182GB logical ext3 raid
7 204GB 704GB 500GB logical ext3 raid
Model: ATA WDC WD1005FBYZ-0 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 20.0GB 20.0GB primary ext3 raid
2 20.0GB 704GB 684GB extended
5 20.0GB 22.0GB 1999MB logical linux-swap(v1) raid
6 22.0GB 204GB 182GB logical ext3 raid
7 204GB 704GB 500GB logical ext3 raid
$ sudo grub-probe --target=device /boot/grub
/dev/md0
答え1
とても興味深い質問です。
あなたは次のように書きました:
私の起動プロセスが実際に期待した方法を反映していません。
ここで見られる最も簡単な解決策は、GRUBをインストールする3番目のドライブがあり、これがRAIDアレイを指すことです(md0
可能であれば、RAIDは2番目のディスクなしで何らかの方法で起動できます)。 、下記の指示を参照してください)。あるいは、少し縮小して空き領域の1つにGRUBパーティションをインポートする方法もありますがsda
(sdb
RAID構成を使用すると、2番目のディスクなしで起動できることを考慮すると)強制的に実行されるため、望むものではないようです。すべての新しい(交換用ディスク)に対して同じことを行います。
この問題を解決するには、GRUBは以下を指摘する必要があります。
ドライブ自体(例:sdaまたはsdb)
私が知っている限り、GRUBには次の節を処理するために実装された論理条件はありません。
if (md0) is not available:
boot from (sda)
または
if (sda) is not available:
boot from (sdb)
残念ながら、これが現在の設定でGRUBを起動するように指定する必要がある理由でありmd0
、最初にRAIDを有効にするには両方のドライブが必要です。
私はGRUB2(インストールされていると思います)がRAIDアレイを処理できる必要があることを見たと思いました。
実際に両方のドライブがあり、アレイが正しく起動したら、RAIDアレイを処理します。あなたの場合(ドライブの1つを削除)、GRUBがロードされますが、「アレイはまだ起動していません」()を表しているmd0
ため、システムは起動しません。
つまり、RAIDを使用することにした場合、2つのドライブが必要です。まったく同じGRUB設定を持つことで簡単に切り替えることはできません。
私が見ることができる唯一の(理論的)解決策は、外部パーティションとGRUBまたはいくつかのカスタム低レベルサービス(論理実装)を別々のパーティションで実行して、条件に直面することができるすべてを管理することです。考える:
md0
オンボードsda
およびsdb
オフボードで起動- ただ始めましょう
sda
- ただ始めましょう
sdb
正直なところ、RAIDsda
部分を無視しても構わないので、「理論的」と書いていますsdb
。同様に、予想通り、RAIDが元々構成されていたという事実をスキップ、無視、または無視することは、GRUBではなくRAID構成自体によって処理される必要があります(再度言うが)。それが本当であるのか、それとも私たちが望む方法で動作するのかを言うことはできません。これについては、他の人がコメントする必要があります。
最後に、残念ながらGRUBとRAIDは望むように設計されていないようです。だからといって、そのような機能が決して実装されないという意味ではなく、確実に実装することができます。好きなようになる場合は非常にまれです。
通常、私が聞いたところによると、ディスクを交換してGRUBを指定し続けると、システムが1つmd0
のディスクしか使用できないようにします。もちろん、私が間違っているかもしれませんが、すべての意見を尋ねたので、これは私の意見です。あなたの質問に幸運です。潜在的な解決策が本当に気になるので、この質問に従います。
答え2
ありがとうMikolaj!
私は問題を発見したという事実をフォローアップで恥ずかしく共有したかったです!私がしなければならないのは、古いドライブが/dev/sdb
元の場所に接続されるようにドライブの接続を変更することだけです/dev/sda
。その時点で、すべてがうまくいきました!