Debianをインストールし、/var、/usr、/homeを含むZFSプールを復元するにはどうすればよいですか? [閉鎖]

Debianをインストールし、/var、/usr、/homeを含むZFSプールを復元するにはどうすればよいですか? [閉鎖]

私はCentOS 7を実行しているサーバーを管理しています。 Debian 10 をインストールしたいです。システムの一部が現在ほとんど経験のないzfsプールにあるため、ファイルシステムの構造と潜在的なデータ損失が心配されます。

システムには合計12の物理ストレージがあります。

  • マウントポイントのある(現在ダウングレードされている)ソフトウェアRAID 1に2つのSSD(sdasdb)が設定されています/
  • 8つの大きなHHD(sde- )がマウントポイントと4つのファイルシステムでZFSプールをsdl形成しています。raidz2/home/opt/usr/var
  • 2つのSSD(sdc、、sdd)にはそれぞれ3つのパーティションがあります。そのうちの最初のものは交換として使用されます。 2 つの 2 番目のパーティションは ZFS ミラーログデバイスを形成します。両方のパーティションの3番目のパーティションはZFSキャッシュとして機能します。

すべてのデータをhomeファイルとvarファイルシステムに保存したいと思います。どのように始めるか計画はありますが、どうやって終わるかわかりません。このプロセスには3つの質問があります。

私の考えはインストールすることですみんなシステムのRAIDはsdaとsdbで構成されています。 Debianのインストール中にRAIDの物理ボリュームとして使用する2つのディスク(現在sdaおよび)を選択sdbし、タイプとしてRAID 1を選択します。次に、selectとsdc1swapを除くすべてのシステムを同じRAIDファイルシステムにインストールし、および-は変更せずにsdd1残します。sdc2sdc3sdd3sdd3sdesdd

インストールが完了したら、次のようになります。

  • 第1四半期:RAID 1ファイルシステムからの起動に問題がありますか?

    以前はそうではありませんでしたが、Debian インストールガイドには次のように記載されています。

    計画したパーティションスキームを使用してシステムを起動できることを確認してください。通常、/bootルート()ファイルシステムでRAIDを使用している場合は、別々のファイルシステムを作成する必要があります/。ほとんどのブートローダはミラーリング(ストライピングではありません)RAID1をサポートしているため、RAID5/やRAID1などを使用するオプションがあります。/boot

インストールが完了したら、プールをインポートしたいと思います。マウントポイントは、/homeとで構成されています。/opt/usr/var

  • 第2四半期:新しくインストールされたシステムがすでにマウントポイントを占有している場合、プールからファイルシステムをマウントし続けるにはどうすればよいですか?

別の方法はLive CD/USBを実行し、/home新しく/opt作成された。その後、新しいシステムをプールファイルシステム(と同じ)に移動できるため、新しいシステムで必要なものはすべてプールファイルシステムにあります。今、/usr/var/usr/var

  • 第3四半期:次の起動時にLive CD / USBなしで自動的にインポートしてインストールするようにプールを設定するにはどうすればよいですか?

ありがとうございます。これはあまり一般的な質問ではないことを願っています(実際には3つの質問であるため)。改善するために私ができることがあれば教えてください。

答え1

始める前に、代替環境で同様の手順を実行することをお勧めします。私ほとんどの自動化された放浪設定zfsonlinux と一部のディスクを使用して Debian インスタンスを設定します。少し昔ながらですが、修正しないとすぐに作業環境になります。必要性を感じてPRを上げる場合は、最新のDebianに自由に更新してください。

個人的な質問に答えるには:

  1. grubを使用する場合、RAID1からの起動に問題はありません。 GrubはRAID1をよく理解し、自動的に検出します。これdest/50setup-boot スクリプトこのタスクを確実に実行する特定のコマンドは、私のリポジトリに記載されています。

  2. 問題が発生する可能性があるため、/usr古いシステムから再インストールしないことをお勧めします。/varZFSonLinuxはプールのインポート時にファイルシステムを自動的にマウントするため、システムを初めて起動する前にこの機能を無効にするには、いくつかの手順を追加する必要があります。次のようになります。

    zfs set canmount=off tank/usr
    zfs set canmount=off tank/var
    

    または、引き続き参照できるようにマウントポイントを変更できます。

    zfs set mountpoint=/mnt/old-usr tank/usr
    zfs set mountpoint=/mnt/old-usr tank/var
    

    /usrZFSインストールを新しいシステムに置き換える場合は、提案に従うことができますが、起動時にinitramfsを介してZFSが有効になっていることを確認する必要があります。 vagrant の例は/ZFS からルート () を提供するため、必要なすべての例が必要です。

    に関しては、/home新しく作成されたメインシステムの上にインストールしても問題は発生しませんが、システムユーザーと古いファイルシステムが外部システムの使用に同意しないため、もともと期待どおりに機能しない可能性があります。ユーザー管理システム(例えば、LDAP)。ここにはいくつかのオプションがあります。

    1. 古いシステム/etc/passwd/etc/groupsファイルを参照用にアーカイブしてから新しいシステムから起動するときは、いくつかの手動調整を実行する必要があります。
    2. 前のマウントポイントを同様の方法で変更またはマウントした後、/home手動で調整します。/usr/var

    通常の Debian システムはこのパスを使用しないため、以前と同じように自動的にマウントできるため、この/optパスは問題を引き起こしません。

  3. このタイプの再インストールにはLive CD方式がほとんど必須です。たとえば、ライブ環境を参照するマイストレージbootstrap/フォルダは、新しくインストールされたシステムを参照します。host/dest/

    新しいシステムにファイルシステムをインストールするには、zfsonlinuxが新しいシステムにインストールされて実行されていることを確認します。これは通常、zfs-initramfsパッケージのインストール時に自動的に処理されます。zfs次のコマンドを使用して、モジュールが利用可能かどうかを再確認できます。/boot/initrd.img*

    gunzip /boot/initrd.img-4.19.0-8-amd64 | grep 'usr/lib/libzfs.so'
    

全体として、まずシミュレートされた環境で経験を積むことは、実際の環境でこれを成功させる可能性を大いに高めます。

関連情報