インストール - ZFS

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2024年1月8日 (月) 23:07時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == OpenZFSは、オープンソースのストレージプラットフォームである。<br> 従来のファイルシステムとボリュームマネージャの両方の機能を含んでおり、以下に示すような多くの高度な機能を備えている。<br> <br> * データ破損からの保護データとメタデータの整合性チェック * 継続的な整合性検証と自動「自己修復」修復 * ミラーリング、RAID-Z1/2/…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

OpenZFSは、オープンソースのストレージプラットフォームである。
従来のファイルシステムとボリュームマネージャの両方の機能を含んでおり、以下に示すような多くの高度な機能を備えている。

  • データ破損からの保護データとメタデータの整合性チェック
  • 継続的な整合性検証と自動「自己修復」修復
  • ミラーリング、RAID-Z1/2/3 [およびDRAID]によるデータの冗長性
  • 最大256兆ヨビバイト(2^128バイト)の大容量ストレージのサポート
  • LZ4、GZIP、またはZSTDを使用した透過的圧縮による省スペース化
  • ハードウェアアクセラレーションによるネイティブ暗号化
  • スナップショットとコピーオンライトクローンによる効率的なストレージ
  • 効率的なローカルまたはリモート・レプリケーション - ZFS send and receiveで変更されたブロックのみを送信



ZFSのインストール

リポジトリを追加してインストール

RHEL

DKMSおよびkABIトラッキング kmodスタイルパッケージは、OpenZFSリポジトリからRHELベースのLinuxディストリビューション向けに提供されている。
これらのパッケージは、新しいバージョンがリリースされるたびに更新されており、現在のメジャーリリースの現在のマイナーバージョンのリポジトリのみが新しいパッケージで更新される。

インストールを簡単にするため、zfs.repo設定ファイルと公開署名キーを含むzfs-releaseパッケージが提供されている。
OpenZFSパッケージは、この鍵を使用して署名されており、yumまたはdnfは、インストールを許可する前にパッケージの署名を検証する。
ユーザは、ここに記載されているフィンガープリントを使用して、OpenZFS公開鍵の信頼性を検証することを強く推奨する。

sudo dnf install https://zfsonlinux.org/epel/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm


zfs-releaseパッケージをインストールして公開鍵を検証した後、DKMSまたはkABIトラッキング kmodスタイルパッケージのどちらかをインストールすることができる。
DKMSパッケージは、非ディストリビューションのカーネルを実行しているユーザや、OpenZFSにローカルなカスタマイズを適用したいユーザに推奨される。
多くのユーザには、カーネルアップデートごとにOpenZFSを再構築する必要がないkABIトラッキング kmodパッケージを推奨する。

  • DKMSスタイルのパッケージをインストールする場合
    まず、epel-releaseパッケージをインストールした後、DKMSを提供するEPELリポジトリを追加して、次にkernel-develパッケージとzfsパッケージをインストールする。
    DKMSは、OpenZFSをビルドするためにkernel-develパッケージを必要とするため、実行中のカーネルに一致するkernel-develパッケージがインストールされていることを確認する。
    sudo dnf install epel-release
    sudo dnf install kernel-devel
    sudo dnf install zfs

  • kABIトラッキング kmodスタイルのパッケージをインストールする場合
    デフォルトでは、zfs-releaseパッケージはDKMSスタイルのパッケージをインストールするように設定されているため、幅広いカーネルで動作する。
    kABIトラッキング kmodスタイルをインストールする場合は、デフォルトのリポジトリをzfsからzfs-kmodに切り替える必要がある。
    kABIトラッキング kmodスタイルは、Linuxディストリビューションが提供する非Streamカーネルでのみ動作が確認されていることに注意すること。
    sudo dnf config-manager --disable zfs
    sudo dnf config-manager --enable zfs-kmod
    sudo dnf install zfs

    デフォルトでは、OpenZFSカーネルモジュールは、ZFSプールが検出されると自動的にロードされる。
    ブート時に常にモジュールをロードする場合は、/etc/modules-load.dディレクトリに設定ファイルを作成する。
    sudo vi /etc/modules-load.d/zfs.conf


# /etc/modules-load.d/zfs.confファイル

zfs


DKMSからkABIトラッキング kmodsに切り替える場合、まず、既存のDKMSパッケージをアンインストールする。
これにより、インストールされている全てのカーネルモジュールが削除されて、その後、kABIトラッキング kmodsをインストールすることができる。

※注意
RHELをアップデートする場合、カーネルアップストリームのkABIの変更により、既存のkmodスタイルのパッケージが動作しないことがある。
現在のリリースパッケージの設定により、既に更新されたパッケージが利用可能になっているかもしれないが、
バージョニングが新しいものではない場合、パッケージマネージャはそのパッケージをインストールしない可能性がある。

そのため、アップグレードする場合、ユーザはkmod-zfsパッケージが適切なカーネルモジュールを提供していることを確認して、必要であればkmod-zfsパッケージを再インストールする必要がある。

SUSE

SUSEの公式リポジトリにあるfilesystemを追加する。

# SLE 15 SP 5
sudo zypper addrepo -f https://download.opensuse.org/repositories/filesystems/SLE_15_SP5/ FileSystem

# SLE 15 SP 4
sudo zypper addrepo -f https://download.opensuse.org/repositories/filesystems/SLE_15_SP4/ FileSystem

# SLE 15 SP 3
sudo zypper addrepo -f https://download.opensuse.org/repositories/filesystems/SLE_15_SP3/ FileSystem

# openSUSE Leap
sudo zypper addrepo -f 'https://download.opensuse.org/repositories/filesystems/$releasever/' FileSystem


追加したリポジトリを更新する。

sudo zypper --gpg-auto-import-keys refresh


ZFSをインストールする。

sudo zypper install zfs zfs-kmp-default dkms 


ソースコードからインストール

ZFSのビルドに必要なライブラリをインストールする。

# SUSE
sudo zypper install pkg-config autoconf make zlib-devel libaio-devel libuuid-devel libblkid-devel libtirpc-devel \
                    pam-devel libgnutls-devel libgcrypt-devel \
                    kernel-devel kernel-source
                    systemd-devel  # Systemdサービスを使用する場合


ZFSのGithubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf zfs-<バージョン>.tar.gz
cd zfs-<バージョン>


ZFSをビルドおよびインストールする。

../configure --prefix=<ZFSのインストールディレクトリ> --enable-nls --enable-linux-builtin
make -j $(nproc)
make install