MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - ZFSのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - ZFS
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == [https://openzfs.org/wiki/Main%20Page OpenZFS]は、オープンソースのストレージプラットフォームである。<br> 従来のファイルシステムとボリュームマネージャの両方の機能を含んでおり、以下に示すような多くの高度な機能を備えている。<br> <br> * データ破損からの保護データとメタデータの整合性チェック * 継続的な整合性検証と自動「自己修復」修復 * ミラーリング、RAID-Z1/2/3 [およびDRAID]によるデータの冗長性 * 最大256兆ヨビバイト(2^128バイト)の大容量ストレージのサポート * LZ4、GZIP、またはZSTDを使用した透過的圧縮による省スペース化 * ハードウェアアクセラレーションによるネイティブ暗号化 * スナップショットとコピーオンライトクローンによる効率的なストレージ * 効率的なローカルまたはリモート・レプリケーション - ZFS send and receiveで変更されたブロックのみを送信 <br><br> == ZFSのインストール == 詳細を知りたい場合は、[https://openzfs.github.io/openzfs-docs/ OpenZFSの公式ドキュメント]を参照すること。<br> <br> ==== リポジトリを追加してインストール ==== ===== RHEL ===== DKMSおよびkABIトラッキング kmodスタイルパッケージは、OpenZFSリポジトリからRHELベースのLinuxディストリビューション向けに提供されている。<br> これらのパッケージは、新しいバージョンがリリースされるたびに更新されており、現在のメジャーリリースの現在のマイナーバージョンのリポジトリのみが新しいパッケージで更新される。<br> <br> インストールを簡単にするため、zfs.repo設定ファイルと公開署名キーを含むzfs-releaseパッケージが提供されている。<br> OpenZFSパッケージは、この鍵を使用して署名されており、<code>yum</code>または<code>dnf</code>は、インストールを許可する前にパッケージの署名を検証する。<br> ユーザは、ここに記載されているフィンガープリントを使用して、OpenZFS公開鍵の信頼性を検証することを強く推奨する。<br> sudo dnf install https://zfsonlinux.org/epel/zfs-release-2-3$(rpm --eval "%{dist}").noarch.rpm <br> zfs-releaseパッケージをインストールして公開鍵を検証した後、DKMSまたはkABIトラッキング kmodスタイルパッケージのどちらかをインストールすることができる。<br> DKMSパッケージは、非ディストリビューションのカーネルを実行しているユーザや、OpenZFSにローカルなカスタマイズを適用したいユーザに推奨される。<br> 多くのユーザには、カーネルアップデートごとにOpenZFSを再構築する必要がないkABIトラッキング kmodパッケージを推奨する。<br> <br> * DKMSスタイルのパッケージをインストールする場合 *: まず、epel-releaseパッケージをインストールした後、DKMSを提供するEPELリポジトリを追加して、次にkernel-develパッケージとzfsパッケージをインストールする。 *: DKMSは、OpenZFSをビルドするためにkernel-develパッケージを必要とするため、実行中のカーネルに一致するkernel-develパッケージがインストールされていることを確認する。 *: <code>sudo dnf install epel-release</code> *: <code>sudo dnf install kernel-devel</code> *: <code>sudo dnf install zfs</code> *: <br> * kABIトラッキング kmodスタイルのパッケージをインストールする場合 *: デフォルトでは、zfs-releaseパッケージはDKMSスタイルのパッケージをインストールするように設定されているため、幅広いカーネルで動作する。 *: kABIトラッキング kmodスタイルをインストールする場合は、デフォルトのリポジトリをzfsからzfs-kmodに切り替える必要がある。 *: <u>kABIトラッキング kmodスタイルは、Linuxディストリビューションが提供する非Streamカーネルでのみ動作が確認されていることに注意すること。</u> *: <code>sudo dnf config-manager --disable zfs</code> *: <code>sudo dnf config-manager --enable zfs-kmod</code> *: <code>sudo dnf install zfs</code> *: <br> *: デフォルトでは、OpenZFSカーネルモジュールは、ZFSプールが検出されると自動的にロードされる。 *: ブート時に常にモジュールをロードする場合は、/etc/modules-load.dディレクトリに設定ファイルを作成する。 *: <code>sudo vi /etc/modules-load.d/zfs.conf</code> <br> # /etc/modules-load.d/zfs.confファイル zfs <br> DKMSからkABIトラッキング kmodsに切り替える場合、まず、既存のDKMSパッケージをアンインストールする。<br> これにより、インストールされている全てのカーネルモジュールが削除されて、その後、kABIトラッキング kmodsをインストールすることができる。<br> <br> <u>※注意</u><br> <u>RHELをアップデートする場合、カーネルアップストリームのkABIの変更により、既存のkmodスタイルのパッケージが動作しないことがある。</u><br> <u>現在のリリースパッケージの設定により、既に更新されたパッケージが利用可能になっているかもしれないが、</u><br> <u>バージョニングが新しいものではない場合、パッケージマネージャはそのパッケージをインストールしない可能性がある。</u><br> <br> <u>そのため、アップグレードする場合、ユーザはkmod-zfsパッケージが適切なカーネルモジュールを提供していることを確認して、必要であればkmod-zfsパッケージを再インストールする必要がある。</u><br> <br> ===== SUSE ===== SUSEの公式リポジトリにあるfilesystemを追加する。<br> # 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 <br> 追加したリポジトリを更新する。<br> sudo zypper --gpg-auto-import-keys refresh <br> ZFSをインストールする。<br> sudo zypper install zfs zfs-kmp-default dkms <br> ==== ソースコードからインストール ==== ZFSのビルドに必要なライブラリをインストールする。<br> # 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サービスを使用する場合 <br> [https://github.com/openzfs/zfs ZFSのGithub]にアクセスして、ソースコードをダウンロードする。<br> ダウンロードしたファイルを解凍する。<br> tar xf zfs-<バージョン>.tar.gz cd zfs-<バージョン> <br> ZFSをビルドおよびインストールする。<br> ../configure --prefix=<ZFSのインストールディレクトリ> --enable-systemd --enable-nls --enable-linux-builtin make -j $(nproc) sudo make install <br> ~/.profileファイル等に、環境変数を追記する。<br> vi ~/.profile <br> <syntaxhighlight lang="sh"> # ~/.profileファイル export PATH="/<ZFSのインストールディレクトリ>/bin:$PATH" export PATH="/<ZFSのインストールディレクトリ>/sbin:$PATH" export LD_LIBRARY_PATH="/<ZFSのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH" export MANPATH="/<ZFSのインストールディレクトリ>/share/man:$MANPATH" </syntaxhighlight> <br><br> == ZFSのアンインストール == ZFSをアンインストールする。<br> sudo make uninstall <br> セキュアブートが有効な場合、署名を削除する。<br> cd ~/MOK/ZFS sudo mokutil --remove ./ZFS.der --root-pw <br><br> == MOKの署名 == セキュアブートが有効の場合、ZFSモジュールの署名を登録する必要がある。<br> <br> まず、ZFSモジュールの署名に必要な設定ファイルを作成する。<br> mkdir -p ~/MOK/ZFS && cd ~/MOK/ZFS vi ZFS.config <br> <syntaxhighlight lang="ini"> # ~/MOK/ZFS/ZFS.configファイル [ req ] default_bits = 4096 distinguished_name = req_distinguished_name prompt = no string_mask = utf8only x509_extensions = myexts [ req_distinguished_name ] O = SUSE Linux Products GmbH (User Add ZFS) # 任意の名前 CN = SUSE Linux Enterprise Secure Boot (User Add ZFS) # 任意の名前 emailAddress = suse@localhost # 任意のメールアドレス [ myexts ] basicConstraints=critical,CA:FALSE keyUsage=digitalSignature subjectKeyIdentifier=hash authorityKeyIdentifier=keyid </syntaxhighlight> <br> キーペアを作成する。<br> openssl req -x509 -new -nodes -utf8 -sha256 -days 36500 -batch -config ./ZFS.config \ -outform DER -out ./ZFS.der -keyout ./ZFS.priv \ -addext "extendedKeyUsage=codeSigning" <br> 次に、MOK(Module owned Key)にキーをインポートする。<br> <code>--root-pw</code>オプションを付加することにより、再起動時のZFSモジュールの署名において、rootパスワードが必要となる。<br> sudo mokutil --import ./ZFS.der --root-pw <br> PCを再起動して、上記のキーの署名する。<br> sudo systemctl reboot <br> ZFSモジュール(spl.koおよびzfs.ko)を署名する。<br> sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./ZFS.priv ./ZFS.der /lib/modules/$(uname -r)/extra/spl.ko sudo /lib/modules/$(uname -r)/build/scripts/sign-file sha256 ./ZFS.priv ./ZFS.der /lib/modules/$(uname -r)/extra/zfs.ko <br> 必要であれば、ZFSモジュールをXZ形式またはZstandard形式に圧縮する。(任意)<br> # XZ形式の場合 cd /lib/modules/$(uname -r)/extra/ sudo xz -f spl.ko sudo xz -f zfs.ko # Zstandard形式の場合 cd /lib/modules/$(uname -r)/extra/ sudo zstd --rm spl.ko sudo zstd --rm zfs.ko <br> ZFSモジュールを読み込む。<br> sudo depmod -a $(uname -r) # モジュール依存リストを更新する sudo modprobe -v spl # ZFSモジュールを読み込む sudo modprobe -v zfs # ZFSモジュールを読み込む <br> ZFSモジュールが正常に読み込まれているかどうかを確認する。<br> lsmod | grep spl lsmod | grep zfs # または sudo modinfo spl sudo modinfo zfs <br> ZFSモジュールが正しく署名されているかどうかを確認する。<br> 正常に読み込まれている場合は、<u>"ZFS.der is already enrolled"</u>と表示される。<br> cd <ZFSモジュールの署名ファイルが存在するディレクトリ> sudo mokutil --test-key ./ZFS.der <br> 上記の署名は、カーネルがアップデートされた場合、再度、署名が必要となることに注意する。<br> <br> 作成したキーは信頼されるため、キーを適切に保存する必要がある。<br> このキーで署名されたものはシステムから信頼されるため、セキュリティリスクとなる可能性があることに注意する。<br> <br><br> == ZFSの起動 == ZFSサービスを起動する。<br> sudo systemctl start zfs.target <br> ZFSプールの再起動時に自動マウントするように、サービスを有効にする。<br> sudo systemctl start zfs-import-cache sudo systemctl start zfs-mount sudo systemctl start zfs-import.target <br> ZFSプールのアップデートが必要かどうかを確認する。<br> sudo zpool status <br> もし、<u>action: Upgrade the pool using 'zpool upgrade'.</u>メッセージが表示される場合、アップデートが必要である。<br> 全てのプールをアップデートする。<br> sudo zpool upgrade -a <br> これらのSystemdサービスユニットは、/usr/lib/systemd/systemディレクトリに存在する。<br> <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
インストール - ZFS
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse