Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
EnhanceIOのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
EnhanceIO
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ファイルシステム]] [[en:EnhanceIO]] [https://github.com/stec-inc/EnhanceIO EnhanceIO] は SSD を他のブロックデバイスストレージ (HDD, ネットワークストレージなど) のキャッシュデバイスとして使用することを可能にします。設定はほとんど必要ありません。[[Flashcache]] が元になっていますが、設定は簡単です。[[Bcache]] と違ってファイルシステムの変換は必要ありません。 {{Warning| * EnhanceIO を使用する前にドキュメントを注意深く読むようにしてください。HDD と SSD を混同しないように注意し、また、SSD に消したら困るデータが存在しないことを確認してください。 * キャッシュが立ち上がる前にファイルシステムで fsck が実行されると EnhanceIO によってファイルシステムが破壊されるという [https://github.com/stec-inc/EnhanceIO/issues/30 既知の問題] が存在します。 * 2015年10月現在、EnhanceIO は新しいカーネルでは[https://github.com/stec-inc/EnhanceIO/issues/106 動作しません]。}} ==インストール== [[AUR]] から {{AUR|enhanceio-dkms-git}}{{Broken package link|パッケージが存在しません}} をインストールしてください。 {{Note|以下、速度が遅いドライブを {{ic|/dev/sda}}、高速なドライブを {{ic|/dev/sdb}} とします。あなたの構成にあわせて適宜置き換えてください。}} ===モジュールとドライブの設定=== EnhanceIO コマンドラインインターフェース (eio_cli) を使用してセットアップを管理します。高速な SSD に低速な HDD のキャッシュを設定するには: # eio_cli create -d /dev/sda -s /dev/sdb -c my_first_enhanceio 上記のコマンドは安全なデフォルトオプションを使用します。さらに速度を向上させたい場合、{{ic|-m wb}} を追加することで WriteThrough モードのかわりに WriteBack モードが有効になります。データが破損する危険性があるので注意してください。 キャッシュドライブは再起動しても使用されます。無効化したい場合はまずキャッシュを読み取り専用モードに設定してください (まだ書き込まれていないブロックを消失させないため): # eio_cli edit -c my_first_enhanceio -m ro 以下のコマンドで0が返ってくるようになるまで待機してください: $ grep nr_dirty /proc/enhanceio/enchanceio_test/stats HDD に全てのブロックが書き込まれたらキャッシュデバイスを削除しても安全です: # eio_cli delete -c my_first_enhanceio ===キャッシュの情報を取得=== キャッシュの基本情報を取得するには: # eio_cli info 詳細情報を取得するには: $ cat /proc/enhanceio/my_first_enhanceio/stats {{Tip|EnhanceIO を開始した後、システムが遅くなっているように感じた場合。これは、最初にキャッシュを構築したことが原因であると思われます。通常どおりにシステムを使用し、すばやく起動したいアプリケーションを開いてみたり。もう一度再起動などして、動作を観察してみてください。}} === initcpio で EnhanceIO を有効化 === EnhanceIO が動作するのを確認できたら、システムの起動時間を短縮させるのにも EnhanceIO を使うことができます。ルートファイルシステムがマウントされる前よりもできるだけ早く EnhanceIO を起動する必要があります。それには initcpio で EnhanceIO を有効にする必要があります。 {{Warning|EnhanceIO は、rootfs を高速化する際の WriteBack 方式 {{ic|-m wb}} をサポートしておらず、 {{ic|-m ro}} または WriteThrough (デフォルト)のみサポートします。ルートボリュームで WriteBack を有効にすると、問題が発生します。}} まず、[[AUR]] から {{AUR|pyinstaller}} パッケージをインストールしてください。initcpio イメージに EnhanceIO を含めるために EnhanceIO の Python スクリプト {{ic|eio_cli}} を実行可能ファイルにコンパイルします。 起動時にキャッシュの初期化を実行する EnhanceIO のフックとなる {{ic|/etc/initcpio/hooks/enhanceio}} ファイルを作成してください: {{bc|<nowiki> #!/usr/bin/bash run_hook () { local mod for mod in enhanceio enhanceio_lru enhanceio_fifo; do modprobe "$mod" done msg -n ":: Activating EnhanceIO..." udevadm trigger } </nowiki>}} {{ic|eio_cli}} を実行可能ファイルとしてコンパイルして initcpio から EnhanceIO をロードするのに必要なモジュールが含まれた {{ic|/etc/initcpio/install/enhanceio}} ファイルを作成してください: {{bc|<nowiki> #!/bin/bash build () { local mod for mod in enhanceio enhanceio_lru enhanceio_rand enhanceio_fifo; do add_module "$mod" done add_binary "/usr/lib/libutil.so.1" add_file "/etc/udev/rules.d/94-enhanceio-my_first_enhanceio.rules" sudo -u ${SUDO_USER} pyinstaller --distpath=/tmp/eio_cli/dist --workpath=/tmp/eio_cli --specpath=/tmp/eio_cli --clean --onefile --noconfirm --strip --console /usr/bin/eio_cli add_binary "/tmp/eio_cli/dist/eio_cli" "/usr/bin/eio_cli" add_runscript } help () { echo "This hook loads the necessary modules for EnhanceIO when caching your root device." } </nowiki>}} {{ic|/etc/mkinitcpio.conf}} を編集して HOOKS 変数の '''udev''', '''block''', '''modconf''' の後に {{ic|enhanceio}} フックを追加してください: HOOKS="base udev block modconf enhanceio ..." eio_cli のパーミッションを変更: # chmod uga+xr /usr/bin/eio_cli 最後に、initcpio を再生成: # mkinitcpio -p linux 再起動するとシステムが飛ぶように速く起動します。
EnhanceIO
に戻る。
検索
検索
EnhanceIOのソースを表示
話題を追加