マシンを複製するときにディスクのUUIDの不整合を防ぐ方法は?

マシンを複製するときにディスクのUUIDの不整合を防ぐ方法は?

私はDebian Linuxマシンを作りました。圧縮tarファイル形式でハードドライブ全体の「イメージ」をキャプチャしました。その後、別のコンピュータに解凍して起動できるようにgrubを設定しました。

私が経験している問題は、ディスクUUIDが元のディスクUUIDと異なるため、ディスクが読み取り専用としてマウントされることです。後で/etc/fstabで正しいUUIDを設定することでこの問題を解決できますが、この問題は避けたいと思います。

別のコンピュータに解凍したときにこの問題を回避するには、「画像」をキャプチャする前に元のコンピュータで何をすることができますか?

アップデート:答えの1つについての有用な意見に基づいて、最初のマシンとその後のクローンにはディスクが1つしかないことを明確にする必要があります。

答え1

別のコンピュータに解凍したときにこの問題を回避するには、「画像」をキャプチャする前に元のコンピュータで何をすることができますか?

名前でディスク参照をマウントする代わりに

  • インストール済みタグ付き
  • またはインストール名前で

# for example when mounted by-name it would look like this in /etc/fstab

/dev/sda3   /

# and When mounted by-label it would like this in /etc/fstab

LABEL=some_name   /

行為タグ付き追加の作業なしで新しいシステムで動作します。

どうするかを知る名前でそのディスクがシステムの唯一のディスクであり、参照が保証されている場合にのみ新しいシステムで動作しますsda。システムに別のディスクがある場合、または別のハードウェアを表示するたびに、複製された/dev/sd?ディスクが常にそこにあるとは限りませんsda。これがまさに名前別の問題です。すべての/etc/fstab参照にgrubその内容がありますが、/dev/sdaディスクにもその内容がある/dev/sdb場合起動デバイスが見つかりません

Linuxシステム、RHEL / CentOS、SLES / SUSE、Ubuntuなどについて少し知っておく必要があります。すべてのディスク参照の場所を見つけます。。それだけではありません/etc/fstab。これ幼虫ブートローダはLinuxで最も広く使用されているため、他の場所にいる可能性が高くなります。ストーリー:私はSLES 11を使用しましたが、ELIOを使用しました。 grubに代わって素晴らしかったと思いました…もう一度ELILOをインポートしてください! ...しかし、その点については心配する必要があります。一つこれ以外のファイル/etc/fstabelilo.conf

新しく複製されたディスクが実行されると、新しいシステム(ホスト名、IPアドレスなど)を設定するさまざまな操作中に/etc/fstabgrubファイルを更新し、-uuidを介してマウントに戻ります。

インストールについてもご覧くださいタグ付き他のディスクが同じラベルを使用しないようにすることはあなたの責任です。簡単に見えますが、忘れやすいです。たとえば、私は常に/bootパーティションboot/パーティションにラベルを付けますroot。ディスクを複製し、それらのうちの2つを接続して起動しようとすると、複数のディスクがあるときにシステムからどのディスクを選択しますか?分割同じタグがありますか?したがって、忘れた場合は、タブを押すのが問題になる可能性があります。システムは簡単に起動して動作しますが、考えているディスクでは実行されません。

下を見下ろすと分かる/dev/disk/だろう

  • プレスリリースID/
  • タグ付き/
  • セクションタグ別/
  • by-partuuid/
  • バイパス/
  • -uuid/経由

それを参照してください。非常に明確でなければなりません。

ls -l /dev/disk/by-label

lrwxrwxrwx. 1 root root 10 Mar  2 15:46 boot -> ../../sdc2
lrwxrwxrwx. 1 root root 10 Mar  2 15:46 data -> ../../sda1
lrwxrwxrwx. 1 root root 10 Mar  2 15:46 root -> ../../sdc3
lrwxrwxrwx. 1 root root 10 Mar  2 15:46 scratch -> ../../sdb1

# Explanation of these 4 listings: when installing Linux I always do
    /boot    ==> /dev/sda2  labeled as 'boot'
    /        ==> /dev/sdc3  labeled as 'root'
   
  my other disks here on this specific system I labeled as data and scratch.

答え2

  1. blkid生のパーティションUUIDを見つけるために使用されます。
  2. ext2/ext3/ext4 パーティションの場合、sudo tune2fs -U UUID /dev/partition1 から取得した UUID を設定します。
  • btrfsの場合sudo btrfstune -U UUID /dev/partition
  • xfsの場合sudo xfs_admin -U UUID /dev/partition

気をつけろいいえ別のパーティションを使用することをお勧めします。同じUUID両方のディスクを同じPCに接続することを決定した場合、特にそうです。あなたの中核とあなたの個人的に混乱する可能性があり、予期しないことが起こる可能性があります。

関連情報