2つのシステムがあります。一方では、仮想ディスク/dev/sdaを増やしてみることにしました。そのため、fdiskを使用してパーティションを削除し、終了サイズは大きくなりましたが、開始位置は同じように再作成されました。 (最初はパーティションを拡張として作成し、デフォルトに戻す間違いを犯しました。)また、タイプ(id)が8e(Linux LVM)に設定されていることを確認しました。
新しいパーティションをディスクに書き込んで再起動しましたが、起動の問題が発生しました。
今はディスクをマウントできません。だから私は次のようにinitramfsを再作成しようとしました。
Recovery Option 3 (shell):
vgscan -v --mknodes
vgchange -a y
mkdir /mnt/root
mount /dev/mapper/centos-root /mnt/root
mount -o bind /dev /mnt/root/dev
mount -o bind /sys /mnt/root/sys
mount -o bind /proc /mnt/root/proc
mount /dev/sda1 /mnt/root/boot
chroot /mnt/root
cd /boot
dracut -f
grub2-mkconfig -o /boot/grub2/grub.cfg
しかし、これはうまくいきません。その後、同じVMリカバリコンソールで次のものが見つかりました。
sh-4.2# blkid /dev/sda2
/dev/sda2: PTTYPE="dos"
sh-4.2#
正常に起動する最初のVM(両方とも同じテンプレートのレプリカ)には、次のものが表示されます。
# blkid /dev/sda2
/dev/sda2: UUID="owcjYz-ohz3-3obA-KaL0-wcyn-ayc5-EG1Fgc" TYPE="LVM2_member"
そのため、起動時にcentos-root notfoundエラーに基づいて、/ dev / sda2がTYPE = "LVM2_member"の代わりにPTTYPE = "dos"に設定されたためと疑い始めました。
しかし、/dev/sda2でこの設定をどのように変更しますか?私は試した:
tune2fs /dev/sda2 -U random
「/dev/sda2を開こうとすると、スーパーブロックの無効なマジックナンバー」と「有効なファイルシステムのスーパーブロックが見つかりません」を返します。
Google 検索はまだ成果が証明されていません。検索文字列「パーティションタイプLVM2_memberの変更」を使用すると、上記で行ったfdiskでパーティションタイプを変更する方法を示すfdiskページが作成されます。
"change UUID"を検索すると、tune2fsコマンドはfdiskパーティションで実行されず、上記のエラーが発生します。 "PTTYPE"を検索すると、blkid出力を持つページのみが生成されます。
fdiskが作成された後に/ dev / sda2パーティションのTYPEとUUIDを変更する方法を共有できる人はいますか?
別のコマンドを使用する必要がありますか?これはすべて回復コンソールで実行する必要があります。
良いディスクの詳細なblkid出力:
[root@sys01 ~]# blkid -po udev /dev/sda2
ID_FS_UUID=owcjYz-ohz3-3obA-KaL0-wcyn-ayc5-EG1Fgc
ID_FS_UUID_ENC=owcjYz-ohz3-3obA-KaL0-wcyn-ayc5-EG1Fgc
ID_FS_VERSION=LVM2\x20001
ID_FS_TYPE=LVM2_member
ID_FS_USAGE=raid
ID_PART_ENTRY_SCHEME=dos
ID_PART_ENTRY_TYPE=0x8e
ID_PART_ENTRY_NUMBER=2
ID_PART_ENTRY_OFFSET=1026048
ID_PART_ENTRY_SIZE=133191680
ID_PART_ENTRY_DISK=8:0
[root@sys01 ~]#
不良ディスク(ホストsys02)のblkid:
sh-4.2# blkid -po udev /dev/sda2
ID_PART_TABLE_TYPE=dos
ID_PART_TABLE_SCHEME=dos
ID_PART_ENTRY_TYPE=0x8e
ID_PART_ENTRY_NUMBER=2
ID_PART_ENTRY_OFFSET=1026048
ID_PART_ENTRY_SIZE=133191680
ID_PART_ENTRY_DISK=8:0
sh-4.2#
答え1
わかりやすくするために、利用可能なタグを使用して、ここに私の回答を再投稿してください。
pvcreate は上から見た UUID と TYPE フラグの設定を担当します。ただし、fdisk /dev/sda で再作成されたパーティションでこれを行うと、そのパーティションのデータにアクセスできなくなります。これは明らかに他のメタデータを上書きするからです。
だから私が実際にすべきことは次のとおりです。
- fdisk を使用して別のディスクに新しいパーティションを作成します。
- 新しいディスクでpvcreateを実行します。
- 上記のコマンドを使用してマウントできないVGとLVを呼び出します。
- 新しいディスクにvgendします。
- pvmoveは新しいディスクに展開されます。
- vgreduce が古いディスクから削除されます。
- その後、fdisk を使用して古いパーティションを削除し、正しいラベルで再作成します。
- このプロセスを再度繰り返して、範囲を元のパーティションに戻します。