fdiskで作成されたパーティションのPTTYPEとUUIDを変更します。

fdiskで作成されたパーティションのPTTYPEとUUIDを変更します。

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 で再作成されたパーティションでこれを行うと、そのパーティションのデータにアクセスできなくなります。これは明らかに他のメタデータを上書きするからです。

だから私が実際にすべきことは次のとおりです。

  1. fdisk を使用して別のディスクに新しいパーティションを作成します。
  2. 新しいディスクでpvcreateを実行します。
  3. 上記のコマンドを使用してマウントできないVGとLVを呼び出します。
  4. 新しいディスクにvgendします。
  5. pvmoveは新しいディスクに展開されます。
  6. vgreduce が古いディスクから削除されます。
  7. その後、fdisk を使用して古いパーティションを削除し、正しいラベルで再作成します。
  8. このプロセスを再度繰り返して、範囲を元のパーティションに戻します。

おすすめ記事