<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bugmenot2</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bugmenot2"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Bugmenot2"/>
	<updated>2026-04-21T08:10:40Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=6980</id>
		<title>Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=6980"/>
		<updated>2017-01-15T06:51:06Z</updated>

		<summary type="html">&lt;p&gt;Bugmenot2: /* オーディオ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ARM アーキテクチャ]]&lt;br /&gt;
[[cs:Raspberry Pi]]&lt;br /&gt;
[[en:Raspberry Pi]]&lt;br /&gt;
[[ru:Raspberry Pi]]&lt;br /&gt;
[[uk:Raspberry Pi]]&lt;br /&gt;
[[zh-hans:Raspberry Pi]]&lt;br /&gt;
[[Wikipedia:ja:Raspberry Pi|Wikipedia]] より:&lt;br /&gt;
:&amp;quot;&#039;&#039;Raspberry Pi はクレジットカードサイズのシングルボードコンピュータのシリーズである。イギリスのラズベリーパイ財団によって開発されており、学校で基本的なコンピュータ科学の教育を促進することを意図している。&#039;&#039;&amp;quot;&lt;br /&gt;
オリジナルモデルは Broadcom SoC BCM2835 ([[Wikipedia:ARM11|ARM11 マイクロアーキテクチャ]]) を使用していましたが、ラズベリーパイ財団は最近になってニューモデルの &amp;quot;Raspberry Pi 2&amp;quot; をリリースしました。RasPi 2 には BCM2836 SoC (クアッドコアの [[Wikipedia:ARM_Cortex-A7|ARM Cortex A7]] アーキテクチャ) が搭載されています。2016年2月には、BCM2837 SoC (クアッドコアの [[Wikipedia:ARM Cortex-A53|ARM Cortex-A53 アーキテクチャ]]) を搭載して WiFi と Bluetooth が組み込まれた Pi 3 が発売されました。&lt;br /&gt;
&lt;br /&gt;
== 前書き ==&lt;br /&gt;
この記事は完全なセットアップガイドではなく、読者が既に Arch システムを構築していることを前提としています。ユーザーの作成やシステムの管理など、基本的な作業の方法がよくわからない場合、Arch 初心者は[[一般的な推奨事項]]を読むことが推奨されています。&lt;br /&gt;
&lt;br /&gt;
{{Note|ARM アーキテクチャのサポートは公式 Arch Linux フォーラムではなく https://archlinuxarm.org で提供されています。ARM 固有の問題に関する投稿は [[フォーラムエチケット#Arch Linux ディストリビューションのサポートオンリー|Arch Linux ディストリビューションのサポートオンリー]]ポリシーに従って直ちにクローズされます。}}&lt;br /&gt;
&lt;br /&gt;
== システム構成 ==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi は ARM ベースのデバイスであり、ARM アーキテクチャ用にコンパイルされたバイナリが必要になります。ARM 用のバイナリは Arch Linux を ARM ベースのデバイスに移植している [http://archlinuxarm.org/about Arch Linux ARM プロジェクト] によって提供されています。ALARM プロジェクトのウェブサイトには独自のコミュニティとフォーラムがあります。オリジナルの Arch のフォーラムでは ARM に関連する問題は&#039;&#039;サポートされていません&#039;&#039;。Raspberry Pi 2 が登場したことで、デバイスのアーキテクチャによって必要なパッケージは2つに分かれています:&lt;br /&gt;
* ARMv6 (BCM2835): Raspberry Pi Model A, A+, B, B+, Zero&lt;br /&gt;
* ARMv7 (BCM2836): Raspberry Pi 2 (Model B+ ベース)&lt;br /&gt;
* ARMv8 (BCM2837): Raspberry Pi 3&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ARM のインストール ==&lt;br /&gt;
&lt;br /&gt;
[http://archlinuxarm.org/platforms/armv6/raspberry-pi Arch Linux ARM Pi のドキュメント], [http://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2 Arch Linux ARM Pi2 のドキュメント], [https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3 Arch Linux ARM Pi3 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
== ネットワーク ==&lt;br /&gt;
&lt;br /&gt;
ネットワークはあらかじめ設定されており、[[systemd-networkd]] によって dhcp モードでオンボードの NIC が使われます。ケーブルが接続されていれば、ほとんどのルーターで自動的に IP が取得されます。&lt;br /&gt;
&lt;br /&gt;
最初から [[Secure Shell]] を使って SD カードにアクセスする場合は、Raspberry Pi をイーサネットケーブルで接続してルーターの設定を通して IP アドレスを割り当てるのが一番簡単です。デフォルトのホストネームは &#039;&#039;&#039;alarmpi&#039;&#039;&#039; です。root で直接アクセスすることができます (パスワード: root)。まず初めにパスワードを変更することを強く推奨します。任意で [[SSH 鍵]]も設定してください。&lt;br /&gt;
&lt;br /&gt;
=== Ethernet を使わずに WLAN を設定 ===&lt;br /&gt;
&lt;br /&gt;
無線インターネット接続を確立する必要がある場合、いくつかパッケージを追加でダウンロードして SD カードに保存する必要があります。[[netctl]] を使用する場合、最低でも [[WPA supplicant]] と依存パッケージの &#039;&#039;libnl&#039;&#039; が必要になります。また、&#039;&#039;dialog&#039;&#039; と依存パッケージの &#039;&#039;ncurses&#039;&#039; もインストールしておいたほうが便利でしょう。&lt;br /&gt;
&lt;br /&gt;
まとめると以下を実行する必要があります:&lt;br /&gt;
* 他のコンピュータから SD カードにパッケージをダウンロード&lt;br /&gt;
* Raspberry Pi にパッケージをインストール・設定&lt;br /&gt;
&lt;br /&gt;
必要なパッケージは全て [https://archlinuxarm.org/packages Arch Linux ARM の公式ウェブサイト] で見つけることができ、[http://mirror.archlinuxarm.org Arch Linux ARM のリポジトリ] からダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
その後、Raspberry Pi を接続して立ち上げて、モニター/キーボードを使うか[[#シリアルコンソール|シリアルコンソール]]でログインします。そして、パッケージを[[パッケージのオフラインインストール|オフラインインストール]]してください。パッケージの依存パッケージが欠けている場合は、依存パッケージもダウンロードしてインストールしてください。&lt;br /&gt;
&lt;br /&gt;
[[ワイヤレス設定]]も読んでください。&lt;br /&gt;
&lt;br /&gt;
== オーディオ ==&lt;br /&gt;
{{Note|必須モジュール {{ic|snd-bcm2835}} はデフォルトで自動ロードされます。}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alsa-utils&#039;&#039;&#039;, &#039;&#039;&#039;alsa-firmware&#039;&#039;&#039;, &#039;&#039;&#039;alsa-lib&#039;&#039;&#039;, &#039;&#039;&#039;alsa-plugins&#039;&#039;&#039; パッケージをインストールしてください:&lt;br /&gt;
 # pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins&lt;br /&gt;
&lt;br /&gt;
ARM の Linux カーネルバージョン 4.4.x では ALSA とサウンドモジュールに大きな変更があります。最新のカーネルで {{ic|alsamixer}} などのツールを使用するには {{ic|/boot/config.txt}} を編集して以下の行を記述してください:&lt;br /&gt;
 dtparam=audio=on&lt;br /&gt;
&lt;br /&gt;
任意で、{{ic|alsamixer}} を使ってデフォルトのボリュームを調整してください。唯一の音源 &amp;quot;PCM&amp;quot; がミュートされていないことを確認してください (ミュートされている場合は {{ic|MM}} と表示されます、ミュートを解除するには {{ic|M}} を押して下さい)。&lt;br /&gt;
&lt;br /&gt;
音源の出力を選択するには:&lt;br /&gt;
 $ amixer cset numid=3 &#039;&#039;x&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;x&#039;&#039;}} は以下のどれかになります:&lt;br /&gt;
*0 は自動&lt;br /&gt;
*1 はアナログ出力&lt;br /&gt;
*2 は HDMI&lt;br /&gt;
&lt;br /&gt;
=== HDMI オーディオの注意 ===&lt;br /&gt;
アプリケーションによっては音声を HDMI で出力するために {{ic|/boot/config.txt}} に設定が必要です:&lt;br /&gt;
 hdmi_drive=2&lt;br /&gt;
&lt;br /&gt;
=== アナログ出力の注意 ===&lt;br /&gt;
3.5mm のアナログ出力からの音声がかすれることがあります。以下を {{ic|/boot/config.txt}} に追加することで問題は解決します:&lt;br /&gt;
 audio_pwm_mode=2&lt;br /&gt;
&lt;br /&gt;
== ビデオ ==&lt;br /&gt;
&lt;br /&gt;
=== CPU/GPU のメモリ分割 ===&lt;br /&gt;
SoC に搭載されている CPU と GPU のメモリの振り分けは {{ic|boot/config.txt}} 内の {{ic|gpu_mem}} パラメータで設定できます。GPU から利用できるメモリの量を MB 単位で指定してください (最低 16 MB、デフォルトは 64 MB)。残りは全て ARM CPU から使用されます。&lt;br /&gt;
&lt;br /&gt;
=== HDMI / アナログ TV 出力 ===&lt;br /&gt;
デフォルト設定では、Raspberry Pi は [[wikipedia:ja:HDMI|HDMI]] モニターが接続されているときは HDMI を使うようになっています。接続されていない場合はアナログ TV 出力 (コンポジット出力あるいは RCA) が使われます。&lt;br /&gt;
&lt;br /&gt;
HDMI やアナログ TV 出力のオン・オフを切り替えるには、次を見て下さい:&lt;br /&gt;
&lt;br /&gt;
 /opt/vc/bin/tvservice&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-s&#039;&#039; パラメータでディスプレイの状態を確認し、&#039;&#039;-o&#039;&#039; パラメータでディスプレイをオフに、&#039;&#039;-p&#039;&#039; パラメータで優先設定を使って HDMI をオンにします。&lt;br /&gt;
&lt;br /&gt;
オーバースキャン・アンダースキャンを適切に修正するには調整が必要で、多くの設定がある {{ic|boot/config.txt}} で簡単に行うことができます。修正するには、コメントの指示に従って適切な行の設定をアンコメントしてください:&lt;br /&gt;
&lt;br /&gt;
 # uncomment the following to adjust overscan. Use positive numbers if console&lt;br /&gt;
 # goes off screen, and negative if there is too much border&lt;br /&gt;
 #overscan_left=16&lt;br /&gt;
 overscan_right=8&lt;br /&gt;
 overscan_top=-16&lt;br /&gt;
 overscan_bottom=-16&lt;br /&gt;
&lt;br /&gt;
もしくは、TV やモニターに「画面に合わせる」オプションが存在して、オーバースキャンを無効化したい場合:&lt;br /&gt;
&lt;br /&gt;
 disable_overscan=1&lt;br /&gt;
&lt;br /&gt;
アナログビデオ出力を使いたいユーザーは NTSC 以外の出力のオプションを含んでいる[https://raw.github.com/Evilpaul/RPi-config/master/config.txt この]設定ファイルを見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
=== アナログ TV 出力の注意事項 ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 1 モデル B+ と Raspberry Pi 2 モデル B から、コンポジットビデオ端子はなくなって、代わりに 3.5mm の動画/音声ジャックからコンポジット信号を出力するようになっています。RCA ケーブルによっては赤や白の音声端子で動画を接続する Raspberry Pi の規格に対応していない場合があります [http://www.raspberrypi-spy.co.uk/2014/07/raspberry-pi-model-b-3-5mm-audiovideo-jack/]。&lt;br /&gt;
&lt;br /&gt;
=== X.org ドライバー ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi の X.org ドライバーは &#039;&#039;&#039;xf86-video-fbdev&#039;&#039;&#039; あるいは &#039;&#039;xf86-video-fbturbo-git&#039;&#039; パッケージでインストールできます:&lt;br /&gt;
 # pacman -S xf86-video-fbdev&lt;br /&gt;
&lt;br /&gt;
== オンボードのハードウェアセンサー ==&lt;br /&gt;
=== 温度 ===&lt;br /&gt;
温度センサーは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージにあるユーティリティで使うことができます。RPi は BCM2835 SoC (CPU/GPU) 上にセンサーを搭載しています:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ /opt/vc/bin/vcgencmd measure_temp|2=&lt;br /&gt;
temp=49.8&#039;C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
また、ファイルシステムから読み取ることもできます:&lt;br /&gt;
{{hc|$ cat /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
49768&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
人間が読めるように出力するには:&lt;br /&gt;
{{hc|$ awk &#039;{printf &amp;quot;%3.1f°C\n&amp;quot;, $1/1000}&#039; /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
54.1°C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 電圧 ===&lt;br /&gt;
同じように {{ic|/opt/vc/bin/vcgencmd}} で4つの異なる電圧をチェックすることができます:&lt;br /&gt;
&lt;br /&gt;
 $ /opt/vc/bin/vcgencmd measure_volts &#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;}} は以下のどれかに置き換えてください:&lt;br /&gt;
*core はコアの電圧&lt;br /&gt;
*sdram_c は sdram Core の電圧&lt;br /&gt;
*sdram_i は sdram I/O の電圧&lt;br /&gt;
*sdram_p は sdram PHY の電圧&lt;br /&gt;
&lt;br /&gt;
=== ウォッチドッグ ===&lt;br /&gt;
BCM2708 にはハードウェアウォッチドッグが搭載されており {{ic|bcm2708_wdog}} [[カーネルモジュール]]を有効にすることで利用できます。&lt;br /&gt;
&lt;br /&gt;
適切に扱うには {{ic|watchdog}} デーモンをインストールして設定する必要があります ({{ic|/etc/watchdog.conf}} 内の &amp;quot;watchdog-device&amp;quot; 行をアンコメントしてください)。それからデーモンを[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 2 の場合は {{ic|bcm2709_wdog}} モジュールを、Raspberry Pi 3 の場合は {{ic|bcm2835_wdt}} モジュールを使用してください。&lt;br /&gt;
&lt;br /&gt;
=== 軽量なモニタリングスイート ===&lt;br /&gt;
{{AUR|monitorix}} は v3.2.0 から RPi をサポートしています ({{ic|/etc/monitorix/monitorix.conf}} に {{ic|1=raspberrypi = y}} を設定してください)。温度・電圧・周波数などが記録されます。スクリーンショットは[http://www.monitorix.org/screenshots.html ここ] にあります。&lt;br /&gt;
&lt;br /&gt;
== オーバークロック / アンダークロック ==&lt;br /&gt;
{{ic|/boot/config.txt}} を編集することで RPi をオーバークロックさせることができます、例:&lt;br /&gt;
 &lt;br /&gt;
 arm_freq=800&lt;br /&gt;
 arm_freq_min=100&lt;br /&gt;
 core_freq=300&lt;br /&gt;
 core_freq_min=75&lt;br /&gt;
 sdram_freq=400&lt;br /&gt;
 over_voltage=0&lt;br /&gt;
&lt;br /&gt;
{{ic|*_min}} の行は任意で、それぞれの設定の最低値を定義します。システムの負担が低い時は、指定した値まで下がります。オプションの詳しい説明や例は elinux の [http://elinux.org/RPiconfig#Overclocking Overclocking] 記事を見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
CPU のオーバークロック設定は、負担が高い時にガバナーが CPU の周波数を上げる場合にだけ適用されます。次のコマンドで現在の CPU の周波数を確認できます:&lt;br /&gt;
 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq&lt;br /&gt;
&lt;br /&gt;
スケーリングガバナーの詳細は [[CPU 周波数スケーリング]]を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|以下のスクリプトを実行すると RPi に設定された全ての周波数が表示されます:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#/bin/bash&lt;br /&gt;
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do&lt;br /&gt;
    echo -e &amp;quot;$src:\t$(/opt/vc/bin/vcgencmd  measure_clock $src)&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SD カードのパフォーマンスを最大化するヒント ==&lt;br /&gt;
&lt;br /&gt;
システムのレスポンスは SD メディアの速度に大きな影響を受けます。特にシステムのアップデートなどディスク I/O に関する処理を行っている際はそれが際立つでしょう。pacman がファイルシステムにファイルを書き出すときに [https://archlinuxarm.org/forum/viewtopic.php?f=64&amp;amp;t=9467 頻繁に停止する] ような場合、RPi や RPi2 の接続バスが足を引っ張っているというよりは、SD (あるいはマイクロ SD) カードがボトルネックとなっている可能性があります。詳しくは[[ベンチマーク#フラッシュメディア]]を参照。&lt;br /&gt;
&lt;br /&gt;
一般的なパフォーマンスを上げる方法については[[パフォーマンスの最大化]]や[[ソリッドステートドライブ#SSD の読み書きを最小化するヒント]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 起動時に fsck を有効にする ===&lt;br /&gt;
&lt;br /&gt;
[[fsck#ブート時のチェック]]を見てください。カーネルパラメータは {{ic|/boot/cmdline.txt}} で指定するようにしてください。&lt;br /&gt;
&lt;br /&gt;
== シリアルコンソール ==&lt;br /&gt;
ブートメッセージを見るには、デフォルトの {{ic|/boot/cmdline.txt}} を編集して、{{ic|loglevel}} を {{ic|5}} に変更してください:&lt;br /&gt;
 loglevel=5&lt;br /&gt;
&lt;br /&gt;
{{Note|Pi3 でブートメッセージを表示するには {{ic|1=enable_uart=1}} を {{ic|/boot/cmdline.txt}} に追加する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
速度を 115200 から 38400 に変える:&lt;br /&gt;
 console=ttyAMA0,38400 kgdboc=ttyAMA0,38400&lt;br /&gt;
&lt;br /&gt;
getty サービスを起動する:&lt;br /&gt;
 # systemctl start getty@ttyAMA0&lt;br /&gt;
&lt;br /&gt;
ブート時に有効にする:&lt;br /&gt;
 # systemctl enable getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
適当な service リンクを作成する:&lt;br /&gt;
 # ln -s /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
そして PC から接続:&lt;br /&gt;
 # screen /dev/ttyUSB0 38400&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi カメラモジュール ==&lt;br /&gt;
カメラモジュールのコマンドは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージに含まれています - このパッケージはデフォルトでインストールされています。以下のコマンドで使うことができます:&lt;br /&gt;
 $ /opt/vc/bin/raspistill&lt;br /&gt;
 $ /opt/vc/bin/raspivid&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加する必要があります:&lt;br /&gt;
 gpu_mem=128&lt;br /&gt;
 start_file=start_x.elf&lt;br /&gt;
 fixup_file=fixup_x.dat&lt;br /&gt;
&lt;br /&gt;
LED をオフにする設定 (任意):&lt;br /&gt;
 disable_camera_led=1&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合: &lt;br /&gt;
 mmal: mmal_vc_component_enable: failed to enable component: ENOSPC&lt;br /&gt;
 mmal: camera component couldn&#039;t be enabled&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Failed to run camera app. Please check for firmware updates&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下の値を設定してみてください:&lt;br /&gt;
 cma_lwm=&lt;br /&gt;
 cma_hwm=&lt;br /&gt;
 cma_offline_start=&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合:&lt;br /&gt;
&lt;br /&gt;
 mmal: mmal_vc_component_create: failed to create component &#039;vc.ril.camera&#039; (1:ENOMEM)&lt;br /&gt;
 mmal: mmal_component_create_core: could not create component &#039;vc.ril.camera&#039; (1)&lt;br /&gt;
 mmal: Failed to create camera component&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Only 64M of gpu_mem is configured. Try running &amp;quot;sudo raspi-config&amp;quot; and ensure that &amp;quot;memory_split&amp;quot; has a value of 128 or greater&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/modprobe.d/blacklist.conf}} に以下の行を追加してください:&lt;br /&gt;
 blacklist i2c_bcm2708&lt;br /&gt;
&lt;br /&gt;
({{ic|/dev/video0}} を使用する) 標準的なアプリケーションを使うには V4L2 ドライバーをロードする必要があります。以下のように自動ロードファイルを作成することで起動時に自動的にロードさせることが可能です:&lt;br /&gt;
{{hc|/etc/modules-load.d/rpi-camera.conf|bcm2835-v4l2}}&lt;br /&gt;
&lt;br /&gt;
== ハードウェア乱数生成器 ==&lt;br /&gt;
Raspberry Pi 用の Arch Linux ARM には &#039;&#039;&#039;rng-tools&#039;&#039;&#039; パッケージがインストールされており、{{ic|bcm2835-rng}} (カーネル 4.4.7 から Raspberry Pi 2 と Raspberry Pi 3 では {{ic|bcm2835_rng}} モジュールに置き換えられています) が起動時にロードされるように設定されています ([https://archlinuxarm.org/forum/viewtopic.php?f=31&amp;amp;t=4993#p27708 こちら] を参照) が、Hardware RNG Entropy Gatherer Daemon (&#039;&#039;&#039;rngd&#039;&#039;&#039;) にハードウェア乱数生成器の場所を教えてやる必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/conf.d/rngd}} を編集することで設定します:&lt;br /&gt;
 RNGD_OPTS=&amp;quot;-o /dev/random -r /dev/hwrng&amp;quot;&lt;br /&gt;
設定したら &#039;&#039;&#039;rngd&#039;&#039;&#039; デーモンを[[再起動]]してください:&lt;br /&gt;
 # systemctl restart rngd&lt;br /&gt;
&lt;br /&gt;
この設定で、ハードウェア乱数生成器からのデータがカーネルのエントロピープール ({{ic|/dev/random}}) に取り入れられるようになります。エントロピーを確認するには:&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/sys/kernel/random/entropy_avail&lt;br /&gt;
&lt;br /&gt;
{{Note|古いイメージからカーネルを更新すると旧式の {{ic|bcm2708-rng}} を見つけられず {{ic|systemd-modules-load.service}} の起動に失敗していることがあります。その場合には {{ic|/etc/modules-load.d/raspberrypi.conf}} を設定し直し、 {{ic|systemd-modules-load.service}} を再起動すると解決します ([https://archlinuxarm.org/forum/viewtopic.php?f&amp;amp;#61;64&amp;amp;t&amp;amp;#61;10153 こちら] を参照)。}}&lt;br /&gt;
&lt;br /&gt;
== I/O ピン ==&lt;br /&gt;
=== GPIO ===&lt;br /&gt;
Python から GPIO ピンを使えるようにするには [https://pypi.python.org/pypi/RPi.GPIO RPi.GPIO] ライブラリを使用します。{{AUR|python-raspberry-gpio}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
=== SPI ===&lt;br /&gt;
{{ic|/dev/spidev*}} デバイスを有効にするには、以下の行をアンコメントしてください:&lt;br /&gt;
{{hc|head=/boot/config.txt|output=&lt;br /&gt;
device_tree_param=spi=on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== I2C ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;i2c-tools&#039;&#039; と &#039;&#039;lm_sensors&#039;&#039; パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加することで i2c ハードウェアを有効にするようにブートローダーを設定します:&lt;br /&gt;
 dtparam=i2c_arm=on&lt;br /&gt;
&lt;br /&gt;
{{ic|i2c-dev}} と {{ic|i2c-bcm2708}} モジュールを起動時にロードするように設定:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/modules-load.d/raspberrypi.conf|i2c-dev&lt;br /&gt;
i2c-bcm2708}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi を再起動してから次のコマンドを実行してハードウェアアドレスを取得:&lt;br /&gt;
 i2cdetect -y 0&lt;br /&gt;
&lt;br /&gt;
{{Note|I2C0 ではなく I2C1 ポートを使用する場合、{{ic|i2cdetect -y 1}} を実行して、以下のコマンドで使われている {{ic|i2c-0}} を {{ic|i2c-1}} に置き換える必要があります。}}&lt;br /&gt;
&lt;br /&gt;
そしてデバイスを初期化するように Linux を設定します。以下のコマンドのハードウェアアドレスは先のコマンドで取得したアドレスに置き換えてください (&#039;0x&#039; を前に付けます、例: 0x48)。デバイス名は自由に決めて下さい:&lt;br /&gt;
 echo &amp;lt;devicename&amp;gt; &amp;lt;hardware address&amp;gt; &amp;gt;/sys/class/i2c-adapter/i2c-0/new_device&lt;br /&gt;
&lt;br /&gt;
dmesg コマンドを使ってカーネルメッセージを確認すると、以下のような新しいエントリが追加されているはずです:&lt;br /&gt;
 i2c-0: new_device: Instantiated device ds1621 at 0x48&lt;br /&gt;
最後に、センサーの出力を読み出す:&lt;br /&gt;
 sensors&lt;br /&gt;
&lt;br /&gt;
== RPi でのコンパイル ==&lt;br /&gt;
&lt;br /&gt;
RPi 上でのコンパイルは非常に低速です。ネットワーク上に他のノードが存在する場合 [[Distcc]] を使うことでコンパイル時間を大幅に短縮できます。x86_64 や i686 のマシンを使っている場合、[[Distcc#Arch ARM]] に既存のマシンを活用して distcc をセットアップする方法が書かれています。&lt;br /&gt;
&lt;br /&gt;
== QEMU chroot ==&lt;br /&gt;
&lt;br /&gt;
場合によっては Raspberry Pi を動かすよりもディスクイメージを直接操作したほうが楽だということもあるでしょう。RPi の root パーティションが含まれている SD カードをマウントして、そこに chroot することで直接操作することができます。chroot からは、&#039;&#039;pacman&#039;&#039; を実行してパッケージをインストールしたり、巨大なライブラリをコンパイルすることが可能です。実行可能ファイルは ARM アーキテクチャ用のものなので、[[QEMU]] を使って x86 への変換を行う必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Note|2016年1月現在、ARM の QEMU で {{pkg|make}} が動作しないため、以下の方法でパッケージをビルドすることはできません。ARM パッケージのビルドが必要な場合は [https://archlinuxarm.org/wiki/Distcc_Cross-Compiling Arch Linux ARM ウェブサイトのガイド] に従ってクロスコンパイラをビルドしてください。}}&lt;br /&gt;
&lt;br /&gt;
[[AUR]] から {{AUR|binfmt-support}} と {{AUR|qemu-user-static}} をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効かどうか確認:&lt;br /&gt;
&lt;br /&gt;
 # update-binfmts --importdir /var/lib/binfmts/ --import&lt;br /&gt;
 # update-binfmts --display qemu-arm&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効でない場合、update-binfmts を使って有効にしてください:&lt;br /&gt;
 # update-binfmts --enable qemu-arm&lt;br /&gt;
&lt;br /&gt;
SD カードを {{ic|mnt/}} にマウントします (デバイス名は適宜置き換えてください)。&lt;br /&gt;
&lt;br /&gt;
 # mkdir mnt&lt;br /&gt;
 # mount /dev/mmcblk0p2 mnt&lt;br /&gt;
&lt;br /&gt;
(ARM からの変換を処理する) QEMU の実行可能ファイルを SD カードの root にコピー:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/bin/qemu-arm-static mnt/usr/bin&lt;br /&gt;
&lt;br /&gt;
最後に [[Change Root#Change root]] に書かれているように SD カードの root に chroot してください。{{ic|qemu-arm-static}} コマンドは {{ic|chroot}} の中から呼び出す必要があります:&lt;br /&gt;
&lt;br /&gt;
 # chroot /mnt/arch /usr/bin/qemu-arm-static /bin/bash&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://www.raspberrypi.org Raspberry Pi] - 公式ウェブサイト&lt;br /&gt;
* [http://elinux.org/RPiconfig RPi Config] - ボンネットの下の設定に関連する情報がまとまっています&lt;br /&gt;
* [http://elinux.org/RPI_vcgencmd_usage RPi vcgencmd usage] - ファームウェアコマンドの vcgencmd の概要&lt;/div&gt;</summary>
		<author><name>Bugmenot2</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=5075</id>
		<title>XFS</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=5075"/>
		<updated>2016-03-13T19:25:23Z</updated>

		<summary type="html">&lt;p&gt;Bugmenot2: /* インストール */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ファイルシステム]]&lt;br /&gt;
[[en:XFS]]&lt;br /&gt;
[[it:XFS]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ファイルシステム}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
XFS は Silicon Graphics, Inc によって開発された高性能ジャーナリングファイルシステムです。XFS はアロケーショングループを使って設計されているため並列化された IO で特に性能を発揮します。このため複数のストレージデバイスを使用するときは IO スレッド, ファイルシステムの帯域, ファイルとファイルシステムのサイズ全てをスケーリングすることが可能です。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
{{Warning|XFS v5 オンディスクフォーマットは GRUB を使う場合問題が有ります({{Bug|46856}})。XFS 以外を使用する独立した /boot パーティションを確保するか {{AUR|grub-git}} をインストールしてください。}}&lt;br /&gt;
XFS パーティションを管理するためのツールは[[公式リポジトリ]]にある {{Pkg|xfsprogs}} パッケージに含まれており、このパッケージはデフォルトでインストールされています。&lt;br /&gt;
&lt;br /&gt;
== データの破損 ==&lt;br /&gt;
&lt;br /&gt;
何らかの理由でデータが破損してしまった場合、手動で修復がする必要があります。&lt;br /&gt;
&lt;br /&gt;
=== XFS ファイルシステムの修復 ===&lt;br /&gt;
&lt;br /&gt;
まず XFS ファイルシステムをアンマウントしてください:&lt;br /&gt;
 # umount /dev/sda3&lt;br /&gt;
&lt;br /&gt;
アンマウントしたら、&#039;&#039;xfs_repair&#039;&#039; ツールを実行します:&lt;br /&gt;
 # xfs_repair -v /dev/sda3&lt;br /&gt;
&lt;br /&gt;
== 整合性 ==&lt;br /&gt;
&lt;br /&gt;
xfsprogs 3.2.0 から新しいオンディスクフォーマット (v5) が導入され、[https://www.kernel.org/doc/Documentation/filesystems/xfs-self-describing-metadata.txt Self-Describing Metadata] という名前のメタデータチェックサム機構が入っています。CRC32 に基づいて、突然の停電などでメタデータが破損するのを保護します。xfsprogs 3.2.3 以降を使う場合デフォルトでチェックサムは有効です。&#039;&#039;mkfs.xfs&#039;&#039; の実行時に {{ic|1=-m crc=0}} スイッチを使うことで無効にすることもできます:&lt;br /&gt;
 # mkfs.xfs -m crc=0 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XFS の v5 オンディスクフォーマットが実運用に耐えるほど安定になったのは Linux カーネル 3.15 からとされます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|[[Btrfs]] や [[ZFS]] とは異なり、CRC32 チェックサムはメタデータだけに適用され、実際のデータには使われません。}}&lt;br /&gt;
&lt;br /&gt;
== パフォーマンス ==&lt;br /&gt;
&lt;br /&gt;
速度を最適化するには、XFS ファイルシステムを次のコマンドで作成します:&lt;br /&gt;
&lt;br /&gt;
 # mkfs.xfs /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
はい、とてもシンプルです。なぜなら [http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E &amp;quot;ブースト機能&amp;quot; は全てデフォルトで &amp;quot;オン&amp;quot; になっている] からです。&lt;br /&gt;
&lt;br /&gt;
{{Warning|パフォーマンスを上げるためにバリアや atime などの無効化を施すとデータの破損が頻繁に起こるようになる可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E XFS wiki] によれば、XFS を最大限活用したい場合は、デフォルトの CFQ [[ソリッドステートドライブ#I.2FO_スケジューラー|I/O スケジューラー]]を ([[wikipedia:Deadline_scheduler|Deadline]], [[wikipedia:NOOP_scheduler|Noop]], [[Linux-ck#BFQ_I.2FO_スケジューラを有効にする方法|BFQ]] などに) 変更したほうが良いようです (特に [[SSD]] を使っている場合)。&lt;br /&gt;
&lt;br /&gt;
=== ストライプサイズと幅 ===&lt;br /&gt;
&lt;br /&gt;
ファイルシステムをストライプする RAID 上に作成する場合は {{ic|mkfs.xfs}} コマンドでストライプサイズを指定することで著しい速度の向上が望めます。&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_How_to_calculate_the_correct_sunit.2Cswidth_values_for_optimal_performance How to calculate the correct sunit,swidth values for optimal performance] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== バリアの無効化 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに &#039;&#039;nobarrier&#039;&#039; マウントオプションを追加してファイルシステムのバリアの使用を無効化することでパフォーマンスを上げることができます。&lt;br /&gt;
&lt;br /&gt;
=== アクセス日時 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに {{ic|noatime}} マウントオプションを追加することでファイルシステムのパフォーマンスが向上することがあります。XFS ファイルシステムではデフォルトの atime の扱い方は {{ic|relatime}} になっており、{{ic|noatime}} と比べてオーバーヘッドをかなり減らしつつも atime の値を正常に保ちます。現在 Linux の全てのファイルシステムが (2.6.30 あたりから) デフォルトで {{ic|relatime}} を使うようになっていますが、XFS が {{ic|relatime}} を使うようになったのは2006年からです。そのため、パフォーマンスを理由に XFS で {{ic|noatime}} を使う必要はほとんどありません。&lt;br /&gt;
&lt;br /&gt;
また、{{ic|noatime}} には {{ic|nodiratime}} が含まれているため、{{ic|noatime}} を指定したら {{ic|nodiratime}} を指定する必要はなくなります。&lt;br /&gt;
&lt;br /&gt;
=== デフラグ ===&lt;br /&gt;
&lt;br /&gt;
XFS はエクステントベースであり遅延アロケーションを利用しているため断片化の問題はなかなか発生しないようになっていますが、マウントされたアクティブな XFS ファイルシステム上のファイルをデフラグできる、ファイルシステムデフラグユーティリティ (xfs_fsr, XFS filesystem reorganizer の略) が用意されています。定期的に XFS の断片化を監視するのにも使えます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xfs_fsr&#039;&#039; はマウントされたファイルシステムの編成を改善します。再編成アルゴリズムによって一度に一つのファイルが操作され、コンパクトになる、つまりファイルのエクステント (ファイルデータの連続ブロック) のレイアウトが改善されます。&lt;br /&gt;
&lt;br /&gt;
==== フラグメンテーションレベルの確認 ====&lt;br /&gt;
&lt;br /&gt;
ファイルシステムにどれくらい断片化が発生しているのか確認するには:&lt;br /&gt;
 # xfs_db -c frag -r /dev/sda3&lt;br /&gt;
&lt;br /&gt;
==== デフラグの実行 ====&lt;br /&gt;
&lt;br /&gt;
デフラグを開始するには、&#039;&#039;xfsprogs&#039;&#039; パッケージに含まれている {{ic|xfs_fsr}} コマンドを使います:&lt;br /&gt;
 # xfs_fsr /dev/sda3&lt;br /&gt;
&lt;br /&gt;
=== 使われていない inode の btree ===&lt;br /&gt;
&lt;br /&gt;
Linux 3.16 から、XFS にはフリーの inode を追跡するための btree が追加されています。基本的には既存の inode の割り当ての btree と同じですが、追跡するのが使われていない inode という点が異なります。この btree の目的は inode を割り当てるときに inode の空きを検索するスピードを高速化させることです。何年何ヶ月も使い込んだファイルシステムでのパフォーマンスが向上します。この機能を使うことでファイルシステム全体の信頼性に影響が出たり、リカバリするときに障害になることはありません。&lt;br /&gt;
&lt;br /&gt;
この機能では新しい v5 オンディスクフォーマットを使っており、Linux カーネル 3.15 から業務用で使えるほどに安定している状態になったと判定されています。既存のディスク上の構造を変えることはありませんが、inode の割り当ての btree と整合性があるようにする必要があります。そのため、古いカーネルでは、使われていない inode の btree 機能を有効にした場合、読み取り専用でしかファイルシステムをマウントできません。&lt;br /&gt;
&lt;br /&gt;
xfsprogs 3.2.3 以降を使う場合この機能はデフォルトで有効です。古いカーネルとディスクを共有したい場合などには &#039;&#039;mkfs.xfs&#039;&#039; の実行時に {{ic|1=-m finobt=0}} スイッチを使いこの機能を無効にすることもできます。CRC も一緒に無効にしてください:&lt;br /&gt;
 # mkfs.xfs -m crc=0,finobt=0 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
または {{ic|1=finobt=0}} を省いても無効になります ({{ic|finobt}} のデフォルト値は {{ic|crc}} に依存しています):&lt;br /&gt;
 # mkfs.xfs -m crc=0 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://xfs.org/index.php/XFS_FAQ XFS FAQ]&lt;br /&gt;
* [http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead Improving Metadata Performance By Reducing Journal Overhead]&lt;br /&gt;
* [[wikipedia:ja:XFS]]&lt;/div&gt;</summary>
		<author><name>Bugmenot2</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=4378</id>
		<title>XFS</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=4378"/>
		<updated>2015-12-17T19:25:33Z</updated>

		<summary type="html">&lt;p&gt;Bugmenot2: /* インストール */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ファイルシステム]]&lt;br /&gt;
[[en:XFS]]&lt;br /&gt;
[[it:XFS]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ファイルシステム}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
XFS は Silicon Graphics, Inc によって開発された高性能ジャーナリングファイルシステムです。XFS はアロケーショングループを使って設計されているため並列化された IO で特に性能を発揮します。このため複数のストレージデバイスを使用するときは IO スレッド, ファイルシステムの帯域, ファイルとファイルシステムのサイズ全てをスケーリングすることが可能です。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
{{Warning|XFS v5 オンディスクフォーマットは GRUB を使う場合問題が有ります。独立した /boot パーティションを確保するか {{AUR|grub-git}}  をインストールしてください。}}&lt;br /&gt;
XFS パーティションを管理するためのツールは[[公式リポジトリ]]にある {{Pkg|xfsprogs}} パッケージに含まれており、このパッケージはデフォルトでインストールされています。&lt;br /&gt;
&lt;br /&gt;
== データの破損 ==&lt;br /&gt;
&lt;br /&gt;
何らかの理由でデータが破損してしまった場合、手動で修復がする必要があります。&lt;br /&gt;
&lt;br /&gt;
=== XFS ファイルシステムの修復 ===&lt;br /&gt;
&lt;br /&gt;
まず XFS ファイルシステムをアンマウントしてください:&lt;br /&gt;
 # umount /dev/sda3&lt;br /&gt;
&lt;br /&gt;
アンマウントしたら、&#039;&#039;xfs_repair&#039;&#039; ツールを実行します:&lt;br /&gt;
 # xfs_repair -v /dev/sda3&lt;br /&gt;
&lt;br /&gt;
== 整合性 ==&lt;br /&gt;
&lt;br /&gt;
xfsprogs 3.2.0 から新しいオンディスクフォーマット (v5) が導入され、[https://www.kernel.org/doc/Documentation/filesystems/xfs-self-describing-metadata.txt Self-Describing Metadata] という名前のメタデータチェックサム機構が入っています。CRC32 に基づいて、突然の停電などでメタデータが破損するのを保護します。xfsprogs 3.2.3 以降を使う場合デフォルトでチェックサムは有効です。&#039;&#039;mkfs.xfs&#039;&#039; の実行時に {{ic|1=-m crc=0}} スイッチを使うことで無効にすることもできます:&lt;br /&gt;
 # mkfs.xfs -m crc=1 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XFS の v5 オンディスクフォーマットが実運用に耐えるほど安定になったのは Linux カーネル 3.15 からとされます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|[[Btrfs]] や [[ZFS]] とは異なり、CRC32 チェックサムはメタデータだけに適用され、実際のデータには使われません。}}&lt;br /&gt;
&lt;br /&gt;
== パフォーマンス ==&lt;br /&gt;
&lt;br /&gt;
速度を最適化するには、XFS ファイルシステムを次のコマンドで作成します:&lt;br /&gt;
&lt;br /&gt;
 # mkfs.xfs /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
はい、とてもシンプルです。なぜなら [http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E &amp;quot;ブースト機能&amp;quot; は全てデフォルトで &amp;quot;オン&amp;quot; になっている] からです。&lt;br /&gt;
&lt;br /&gt;
{{Warning|パフォーマンスを上げるためにバリアや atime などの無効化を施すとデータの破損が頻繁に起こるようになる可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E XFS wiki] によれば、XFS を最大限活用したい場合は、デフォルトの CFQ [[ソリッドステートドライブ#I.2FO_スケジューラー|I/O スケジューラー]]を ([[wikipedia:Deadline_scheduler|Deadline]], [[wikipedia:NOOP_scheduler|Noop]], [[Linux-ck#BFQ_I.2FO_スケジューラを有効にする方法|BFQ]] などに) 変更したほうが良いようです (特に [[SSD]] を使っている場合)。&lt;br /&gt;
&lt;br /&gt;
=== ストライプサイズと幅 ===&lt;br /&gt;
&lt;br /&gt;
ファイルシステムをストライプする RAID 上に作成する場合は {{ic|mkfs.xfs}} コマンドでストライプサイズを指定することで著しい速度の向上が望めます。&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_How_to_calculate_the_correct_sunit.2Cswidth_values_for_optimal_performance How to calculate the correct sunit,swidth values for optimal performance] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== バリアの無効化 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに &#039;&#039;nobarrier&#039;&#039; マウントオプションを追加してファイルシステムのバリアの使用を無効化することでパフォーマンスを上げることができます。&lt;br /&gt;
&lt;br /&gt;
=== アクセス日時 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに {{ic|noatime}} マウントオプションを追加することでファイルシステムのパフォーマンスが向上することがあります。XFS ファイルシステムではデフォルトの atime の扱い方は {{ic|relatime}} になっており、{{ic|noatime}} と比べてオーバーヘッドをかなり減らしつつも atime の値を正常に保ちます。現在 Linux の全てのファイルシステムが (2.6.30 あたりから) デフォルトで {{ic|relatime}} を使うようになっていますが、XFS が {{ic|relatime}} を使うようになったのは2006年からです。そのため、パフォーマンスを理由に XFS で {{ic|noatime}} を使う必要はほとんどありません。&lt;br /&gt;
&lt;br /&gt;
また、{{ic|noatime}} には {{ic|nodiratime}} が含まれているため、{{ic|noatime}} を指定したら {{ic|nodiratime}} を指定する必要はなくなります。&lt;br /&gt;
&lt;br /&gt;
=== デフラグ ===&lt;br /&gt;
&lt;br /&gt;
XFS はエクステントベースであり遅延アロケーションを利用しているため断片化の問題はなかなか発生しないようになっていますが、マウントされたアクティブな XFS ファイルシステム上のファイルをデフラグできる、ファイルシステムデフラグユーティリティ (xfs_fsr, XFS filesystem reorganizer の略) が用意されています。定期的に XFS の断片化を監視するのにも使えます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xfs_fsr&#039;&#039; はマウントされたファイルシステムの編成を改善します。再編成アルゴリズムによって一度に一つのファイルが操作され、コンパクトになる、つまりファイルのエクステント (ファイルデータの連続ブロック) のレイアウトが改善されます。&lt;br /&gt;
&lt;br /&gt;
==== フラグメンテーションレベルの確認 ====&lt;br /&gt;
&lt;br /&gt;
ファイルシステムにどれくらい断片化が発生しているのか確認するには:&lt;br /&gt;
 # xfs_db -c frag -r /dev/sda3&lt;br /&gt;
&lt;br /&gt;
==== デフラグの実行 ====&lt;br /&gt;
&lt;br /&gt;
デフラグを開始するには、&#039;&#039;xfsprogs&#039;&#039; パッケージに含まれている {{ic|xfs_fsr}} コマンドを使います:&lt;br /&gt;
 # xfs_fsr /dev/sda3&lt;br /&gt;
&lt;br /&gt;
=== 使われていない inode の btree ===&lt;br /&gt;
&lt;br /&gt;
Linux 3.16 から、XFS にはフリーの inode を追跡するための btree が追加されています。基本的には既存の inode の割り当ての btree と同じですが、追跡するのが使われていない inode という点が異なります。この btree の目的は inode を割り当てるときに inode の空きを検索するスピードを高速化させることです。何年何ヶ月も使い込んだファイルシステムでのパフォーマンスが向上します。この機能を使うことでファイルシステム全体の信頼性に影響が出たり、リカバリするときに障害になることはありません。&lt;br /&gt;
&lt;br /&gt;
この機能では新しい v5 オンディスクフォーマットを使っており、Linux カーネル 3.15 から業務用で使えるほどに安定している状態になったと判定されています。既存のディスク上の構造を変えることはありませんが、inode の割り当ての btree と整合性があるようにする必要があります。そのため、古いカーネルでは、使われていない inode の btree 機能を有効にした場合、読み取り専用でしかファイルシステムをマウントできません。&lt;br /&gt;
&lt;br /&gt;
xfsprogs 3.2.3 以降を使う場合この機能はデフォルトで有効です。古いカーネルとディスクを共有したい場合などには &#039;&#039;mkfs.xfs&#039;&#039; の実行時に {{ic|1=-m finobt=0}} スイッチを使いこの機能を無効にすることもできます。CRCも一緒に無効にする必要があることでしょう:&lt;br /&gt;
 # mkfs.xfs -m crc=0,finobt=0 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
または短く（{{ic|finobt}} のデフォルト値は {{ic|crc}} に依存しています）&lt;br /&gt;
 # mkfs.xfs -m crc=0 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://xfs.org/index.php/XFS_FAQ XFS FAQ]&lt;br /&gt;
* [http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead Improving Metadata Performance By Reducing Journal Overhead]&lt;br /&gt;
* [[wikipedia:ja:XFS]]&lt;/div&gt;</summary>
		<author><name>Bugmenot2</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=4377</id>
		<title>XFS</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=4377"/>
		<updated>2015-12-17T19:22:01Z</updated>

		<summary type="html">&lt;p&gt;Bugmenot2: /* 使われていない inode の btree */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ファイルシステム]]&lt;br /&gt;
[[en:XFS]]&lt;br /&gt;
[[it:XFS]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ファイルシステム}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
XFS は Silicon Graphics, Inc によって開発された高性能ジャーナリングファイルシステムです。XFS はアロケーショングループを使って設計されているため並列化された IO で特に性能を発揮します。このため複数のストレージデバイスを使用するときは IO スレッド, ファイルシステムの帯域, ファイルとファイルシステムのサイズ全てをスケーリングすることが可能です。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
XFS パーティションを管理するためのツールは[[公式リポジトリ]]にある {{Pkg|xfsprogs}} パッケージに含まれており、このパッケージはデフォルトでインストールされています。&lt;br /&gt;
&lt;br /&gt;
== データの破損 ==&lt;br /&gt;
&lt;br /&gt;
何らかの理由でデータが破損してしまった場合、手動で修復がする必要があります。&lt;br /&gt;
&lt;br /&gt;
=== XFS ファイルシステムの修復 ===&lt;br /&gt;
&lt;br /&gt;
まず XFS ファイルシステムをアンマウントしてください:&lt;br /&gt;
 # umount /dev/sda3&lt;br /&gt;
&lt;br /&gt;
アンマウントしたら、&#039;&#039;xfs_repair&#039;&#039; ツールを実行します:&lt;br /&gt;
 # xfs_repair -v /dev/sda3&lt;br /&gt;
&lt;br /&gt;
== 整合性 ==&lt;br /&gt;
&lt;br /&gt;
xfsprogs 3.2.0 から新しいオンディスクフォーマット (v5) が導入され、[https://www.kernel.org/doc/Documentation/filesystems/xfs-self-describing-metadata.txt Self-Describing Metadata] という名前のメタデータチェックサム機構が入っています。CRC32 に基づいて、突然の停電などでメタデータが破損するのを保護します。xfsprogs 3.2.3 以降を使う場合デフォルトでチェックサムは有効です。&#039;&#039;mkfs.xfs&#039;&#039; の実行時に {{ic|1=-m crc=0}} スイッチを使うことで無効にすることもできます:&lt;br /&gt;
 # mkfs.xfs -m crc=1 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XFS の v5 オンディスクフォーマットが実運用に耐えるほど安定になったのは Linux カーネル 3.15 からとされます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|[[Btrfs]] や [[ZFS]] とは異なり、CRC32 チェックサムはメタデータだけに適用され、実際のデータには使われません。}}&lt;br /&gt;
&lt;br /&gt;
== パフォーマンス ==&lt;br /&gt;
&lt;br /&gt;
速度を最適化するには、XFS ファイルシステムを次のコマンドで作成します:&lt;br /&gt;
&lt;br /&gt;
 # mkfs.xfs /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
はい、とてもシンプルです。なぜなら [http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E &amp;quot;ブースト機能&amp;quot; は全てデフォルトで &amp;quot;オン&amp;quot; になっている] からです。&lt;br /&gt;
&lt;br /&gt;
{{Warning|パフォーマンスを上げるためにバリアや atime などの無効化を施すとデータの破損が頻繁に起こるようになる可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E XFS wiki] によれば、XFS を最大限活用したい場合は、デフォルトの CFQ [[ソリッドステートドライブ#I.2FO_スケジューラー|I/O スケジューラー]]を ([[wikipedia:Deadline_scheduler|Deadline]], [[wikipedia:NOOP_scheduler|Noop]], [[Linux-ck#BFQ_I.2FO_スケジューラを有効にする方法|BFQ]] などに) 変更したほうが良いようです (特に [[SSD]] を使っている場合)。&lt;br /&gt;
&lt;br /&gt;
=== ストライプサイズと幅 ===&lt;br /&gt;
&lt;br /&gt;
ファイルシステムをストライプする RAID 上に作成する場合は {{ic|mkfs.xfs}} コマンドでストライプサイズを指定することで著しい速度の向上が望めます。&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_How_to_calculate_the_correct_sunit.2Cswidth_values_for_optimal_performance How to calculate the correct sunit,swidth values for optimal performance] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== バリアの無効化 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに &#039;&#039;nobarrier&#039;&#039; マウントオプションを追加してファイルシステムのバリアの使用を無効化することでパフォーマンスを上げることができます。&lt;br /&gt;
&lt;br /&gt;
=== アクセス日時 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに {{ic|noatime}} マウントオプションを追加することでファイルシステムのパフォーマンスが向上することがあります。XFS ファイルシステムではデフォルトの atime の扱い方は {{ic|relatime}} になっており、{{ic|noatime}} と比べてオーバーヘッドをかなり減らしつつも atime の値を正常に保ちます。現在 Linux の全てのファイルシステムが (2.6.30 あたりから) デフォルトで {{ic|relatime}} を使うようになっていますが、XFS が {{ic|relatime}} を使うようになったのは2006年からです。そのため、パフォーマンスを理由に XFS で {{ic|noatime}} を使う必要はほとんどありません。&lt;br /&gt;
&lt;br /&gt;
また、{{ic|noatime}} には {{ic|nodiratime}} が含まれているため、{{ic|noatime}} を指定したら {{ic|nodiratime}} を指定する必要はなくなります。&lt;br /&gt;
&lt;br /&gt;
=== デフラグ ===&lt;br /&gt;
&lt;br /&gt;
XFS はエクステントベースであり遅延アロケーションを利用しているため断片化の問題はなかなか発生しないようになっていますが、マウントされたアクティブな XFS ファイルシステム上のファイルをデフラグできる、ファイルシステムデフラグユーティリティ (xfs_fsr, XFS filesystem reorganizer の略) が用意されています。定期的に XFS の断片化を監視するのにも使えます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xfs_fsr&#039;&#039; はマウントされたファイルシステムの編成を改善します。再編成アルゴリズムによって一度に一つのファイルが操作され、コンパクトになる、つまりファイルのエクステント (ファイルデータの連続ブロック) のレイアウトが改善されます。&lt;br /&gt;
&lt;br /&gt;
==== フラグメンテーションレベルの確認 ====&lt;br /&gt;
&lt;br /&gt;
ファイルシステムにどれくらい断片化が発生しているのか確認するには:&lt;br /&gt;
 # xfs_db -c frag -r /dev/sda3&lt;br /&gt;
&lt;br /&gt;
==== デフラグの実行 ====&lt;br /&gt;
&lt;br /&gt;
デフラグを開始するには、&#039;&#039;xfsprogs&#039;&#039; パッケージに含まれている {{ic|xfs_fsr}} コマンドを使います:&lt;br /&gt;
 # xfs_fsr /dev/sda3&lt;br /&gt;
&lt;br /&gt;
=== 使われていない inode の btree ===&lt;br /&gt;
&lt;br /&gt;
Linux 3.16 から、XFS にはフリーの inode を追跡するための btree が追加されています。基本的には既存の inode の割り当ての btree と同じですが、追跡するのが使われていない inode という点が異なります。この btree の目的は inode を割り当てるときに inode の空きを検索するスピードを高速化させることです。何年何ヶ月も使い込んだファイルシステムでのパフォーマンスが向上します。この機能を使うことでファイルシステム全体の信頼性に影響が出たり、リカバリするときに障害になることはありません。&lt;br /&gt;
&lt;br /&gt;
この機能では新しい v5 オンディスクフォーマットを使っており、Linux カーネル 3.15 から業務用で使えるほどに安定している状態になったと判定されています。既存のディスク上の構造を変えることはありませんが、inode の割り当ての btree と整合性があるようにする必要があります。そのため、古いカーネルでは、使われていない inode の btree 機能を有効にした場合、読み取り専用でしかファイルシステムをマウントできません。&lt;br /&gt;
&lt;br /&gt;
xfsprogs 3.2.3 以降を使う場合この機能はデフォルトで有効です。古いカーネルとディスクを共有したい場合などには &#039;&#039;mkfs.xfs&#039;&#039; の実行時に {{ic|1=-m finobt=0}} スイッチを使いこの機能を無効にすることもできます。CRCも一緒に無効にする必要があることでしょう:&lt;br /&gt;
 # mkfs.xfs -m crc=0,finobt=0 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
または短く（{{ic|finobt}} のデフォルト値は {{ic|crc}} に依存しています）&lt;br /&gt;
 # mkfs.xfs -m crc=0 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://xfs.org/index.php/XFS_FAQ XFS FAQ]&lt;br /&gt;
* [http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead Improving Metadata Performance By Reducing Journal Overhead]&lt;br /&gt;
* [[wikipedia:ja:XFS]]&lt;/div&gt;</summary>
		<author><name>Bugmenot2</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=4376</id>
		<title>XFS</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=XFS&amp;diff=4376"/>
		<updated>2015-12-17T19:05:12Z</updated>

		<summary type="html">&lt;p&gt;Bugmenot2: /* 整合性 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ファイルシステム]]&lt;br /&gt;
[[en:XFS]]&lt;br /&gt;
[[it:XFS]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ファイルシステム}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
XFS は Silicon Graphics, Inc によって開発された高性能ジャーナリングファイルシステムです。XFS はアロケーショングループを使って設計されているため並列化された IO で特に性能を発揮します。このため複数のストレージデバイスを使用するときは IO スレッド, ファイルシステムの帯域, ファイルとファイルシステムのサイズ全てをスケーリングすることが可能です。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
XFS パーティションを管理するためのツールは[[公式リポジトリ]]にある {{Pkg|xfsprogs}} パッケージに含まれており、このパッケージはデフォルトでインストールされています。&lt;br /&gt;
&lt;br /&gt;
== データの破損 ==&lt;br /&gt;
&lt;br /&gt;
何らかの理由でデータが破損してしまった場合、手動で修復がする必要があります。&lt;br /&gt;
&lt;br /&gt;
=== XFS ファイルシステムの修復 ===&lt;br /&gt;
&lt;br /&gt;
まず XFS ファイルシステムをアンマウントしてください:&lt;br /&gt;
 # umount /dev/sda3&lt;br /&gt;
&lt;br /&gt;
アンマウントしたら、&#039;&#039;xfs_repair&#039;&#039; ツールを実行します:&lt;br /&gt;
 # xfs_repair -v /dev/sda3&lt;br /&gt;
&lt;br /&gt;
== 整合性 ==&lt;br /&gt;
&lt;br /&gt;
xfsprogs 3.2.0 から新しいオンディスクフォーマット (v5) が導入され、[https://www.kernel.org/doc/Documentation/filesystems/xfs-self-describing-metadata.txt Self-Describing Metadata] という名前のメタデータチェックサム機構が入っています。CRC32 に基づいて、突然の停電などでメタデータが破損するのを保護します。xfsprogs 3.2.3 以降を使う場合デフォルトでチェックサムは有効です。&#039;&#039;mkfs.xfs&#039;&#039; の実行時に {{ic|1=-m crc=0}} スイッチを使うことで無効にすることもできます:&lt;br /&gt;
 # mkfs.xfs -m crc=1 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XFS の v5 オンディスクフォーマットが実運用に耐えるほど安定になったのは Linux カーネル 3.15 からとされます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|[[Btrfs]] や [[ZFS]] とは異なり、CRC32 チェックサムはメタデータだけに適用され、実際のデータには使われません。}}&lt;br /&gt;
&lt;br /&gt;
== パフォーマンス ==&lt;br /&gt;
&lt;br /&gt;
速度を最適化するには、XFS ファイルシステムを次のコマンドで作成します:&lt;br /&gt;
&lt;br /&gt;
 # mkfs.xfs /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
はい、とてもシンプルです。なぜなら [http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E &amp;quot;ブースト機能&amp;quot; は全てデフォルトで &amp;quot;オン&amp;quot; になっている] からです。&lt;br /&gt;
&lt;br /&gt;
{{Warning|パフォーマンスを上げるためにバリアや atime などの無効化を施すとデータの破損が頻繁に起こるようになる可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E XFS wiki] によれば、XFS を最大限活用したい場合は、デフォルトの CFQ [[ソリッドステートドライブ#I.2FO_スケジューラー|I/O スケジューラー]]を ([[wikipedia:Deadline_scheduler|Deadline]], [[wikipedia:NOOP_scheduler|Noop]], [[Linux-ck#BFQ_I.2FO_スケジューラを有効にする方法|BFQ]] などに) 変更したほうが良いようです (特に [[SSD]] を使っている場合)。&lt;br /&gt;
&lt;br /&gt;
=== ストライプサイズと幅 ===&lt;br /&gt;
&lt;br /&gt;
ファイルシステムをストライプする RAID 上に作成する場合は {{ic|mkfs.xfs}} コマンドでストライプサイズを指定することで著しい速度の向上が望めます。&lt;br /&gt;
&lt;br /&gt;
[http://xfs.org/index.php/XFS_FAQ#Q:_How_to_calculate_the_correct_sunit.2Cswidth_values_for_optimal_performance How to calculate the correct sunit,swidth values for optimal performance] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== バリアの無効化 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに &#039;&#039;nobarrier&#039;&#039; マウントオプションを追加してファイルシステムのバリアの使用を無効化することでパフォーマンスを上げることができます。&lt;br /&gt;
&lt;br /&gt;
=== アクセス日時 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/fstab}} ファイルに {{ic|noatime}} マウントオプションを追加することでファイルシステムのパフォーマンスが向上することがあります。XFS ファイルシステムではデフォルトの atime の扱い方は {{ic|relatime}} になっており、{{ic|noatime}} と比べてオーバーヘッドをかなり減らしつつも atime の値を正常に保ちます。現在 Linux の全てのファイルシステムが (2.6.30 あたりから) デフォルトで {{ic|relatime}} を使うようになっていますが、XFS が {{ic|relatime}} を使うようになったのは2006年からです。そのため、パフォーマンスを理由に XFS で {{ic|noatime}} を使う必要はほとんどありません。&lt;br /&gt;
&lt;br /&gt;
また、{{ic|noatime}} には {{ic|nodiratime}} が含まれているため、{{ic|noatime}} を指定したら {{ic|nodiratime}} を指定する必要はなくなります。&lt;br /&gt;
&lt;br /&gt;
=== デフラグ ===&lt;br /&gt;
&lt;br /&gt;
XFS はエクステントベースであり遅延アロケーションを利用しているため断片化の問題はなかなか発生しないようになっていますが、マウントされたアクティブな XFS ファイルシステム上のファイルをデフラグできる、ファイルシステムデフラグユーティリティ (xfs_fsr, XFS filesystem reorganizer の略) が用意されています。定期的に XFS の断片化を監視するのにも使えます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;xfs_fsr&#039;&#039; はマウントされたファイルシステムの編成を改善します。再編成アルゴリズムによって一度に一つのファイルが操作され、コンパクトになる、つまりファイルのエクステント (ファイルデータの連続ブロック) のレイアウトが改善されます。&lt;br /&gt;
&lt;br /&gt;
==== フラグメンテーションレベルの確認 ====&lt;br /&gt;
&lt;br /&gt;
ファイルシステムにどれくらい断片化が発生しているのか確認するには:&lt;br /&gt;
 # xfs_db -c frag -r /dev/sda3&lt;br /&gt;
&lt;br /&gt;
==== デフラグの実行 ====&lt;br /&gt;
&lt;br /&gt;
デフラグを開始するには、&#039;&#039;xfsprogs&#039;&#039; パッケージに含まれている {{ic|xfs_fsr}} コマンドを使います:&lt;br /&gt;
 # xfs_fsr /dev/sda3&lt;br /&gt;
&lt;br /&gt;
=== 使われていない inode の btree ===&lt;br /&gt;
&lt;br /&gt;
Linux 3.16 から、XFS にはフリーの inode を追跡するための btree が追加されています。基本的には既存の inode の割り当ての btree と同じですが、追跡するのが使われていない inode という点が異なります。この btree の目的は inode を割り当てるときに inode の空きを検索するスピードを高速化させることです。何年何ヶ月も使い込んだファイルシステムでのパフォーマンスが向上します。この機能を使うことでファイルシステム全体の信頼性に影響が出たり、リカバリするときに障害になることはありません。&lt;br /&gt;
&lt;br /&gt;
この機能では新しい v5 オンディスクフォーマットを使っており、Linux カーネル 3.15 から業務用で使えるほどに安定している状態になったと判定されています。既存のディスク上の構造を変えることはありませんが、inode の割り当ての btree と整合性があるようにする必要があります。そのため、古いカーネルでは、使われていない inode の btree 機能を有効にした場合、読み取り専用でしかファイルシステムをマウントできません。&lt;br /&gt;
&lt;br /&gt;
XFS パーティションをフォーマットする際に &#039;&#039;finobt=1&#039;&#039; スイッチを使うことでこの機能を有効にできますが、&#039;&#039;crc=1&#039;&#039; スイッチでメタデータのチェックサムを有効にする必要があります。したがって、使われていない inode の btree とメタデータチェックサムの両方を有効にするために以下のオプションが必要になります:&lt;br /&gt;
 # mkfs.xfs -m crc=1,finobt=1 /dev/&#039;&#039;target_partition&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
開発者によると、xfsprogs 3.3 リリースから、上記の &#039;&#039;-m crc=1,finobt=1&#039;&#039; オプションが mkfs のデフォルトオプションとなるそうです。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [http://xfs.org/index.php/XFS_FAQ XFS FAQ]&lt;br /&gt;
* [http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead Improving Metadata Performance By Reducing Journal Overhead]&lt;br /&gt;
* [[wikipedia:ja:XFS]]&lt;/div&gt;</summary>
		<author><name>Bugmenot2</name></author>
	</entry>
</feed>