アカウント名:
パスワード:
リムーバブルメディアこそ、ジャーナルファイルシステムを使うべきなのでは?
リムーバブルメディアは対応しているデバイスの多さも重要。スマホだけでなくデジカメや音楽プレイヤー、プリンタやコンビニなどの印刷サービスなど幅広く対応するためには事実上exFAT一択。
exFATの策定時には、既に種々のジャーナルファイルシステムがあったはずなのにな。
FATの延長で実装可能かどうかが最重要じゃね?
既にFAT系前提のデバイスが無数にあったから
exFATってFAT32までと比べるとかなり大きく変わってて実装を流用してラクできるレベルには見えないんだけどな。少なくともSDカード向けなのにFATに書き込みが集中するようなファイルシステムよりマシなものにできなかったのか? とは思う
それでも、組み込み向けの汎用FATファイルシステム・モジュール [sourceforge.net]がexFATに対応できる程度には、実装の流用はできるみたいですよ。(日本語ページには記述はないですが、英語ページ [elm-chan.org]にはexFAT対応も明記してます)
SDカードには低速ながらも簡単に通信できる「SPI通信モード」があり、SPIなら簡単にマイコンにつなぐことができるので、このFatFsを使うことで8bitマイコンでも簡単にSDカードへファイルアクセスできるという組み込みの強い味方。
そんな環境でSDXCの64GBものストレージを使う用途があるの?
別ACだけど、データロガー的用途だと長期間ログが貯められて便利だし、デジタルフォトフレーム的な用途だとSDXC対応してると便利。
安物SDでなければ上書きしてもカード側で書き込み先を分散させるので、ファイルシステム側がFATに書き込み集中しても関係ない気にするだけ無駄
ファイルシステムの種類もSDXCの規格の一部であって、勝手に変えられない
そのジャーナルファイルシステムにした場合のメリットデメリットを教えてください。
組込み機器で実装コスト(容量)がかからないファイルフォーマットじゃないと駄目なんですよ。
どうせ今時の組み込み機器はLinuxで動いてる。このSonyの話もそういう環境だよね。
α7IV(2021.12)はα7SIII(2020.10)よりもメモリーカードの操作(フォーマットなど)がかなり高速化されたという報告を見たけどその辺での改善なのかな。
LinuxにexFATが載ったのなんて、ここ数年とかだぞ。VFATにしたってSD規格には完全準拠してないから、真っ当に対応する場合Linux標準のexFAT/VFATは使えない。
微妙なレベルの中の人ですが、標準の実装だと書き込み中に電源がOFFしたときとか、SDが抜かれたときなどに簡単にファイルシステムが破損してしまいます。そのあたりの対応※が含まれたドライバを採用するのが普通かなと思います。
※1) 先にクラスタチェーンの書き込みを済ませる この時点で中断しても不整合が起こらない状態(末尾に空きクラスタを置いた状態にするなど)までやる2) FATエントリを更新する3) 続きのクラスタチェーンの書き込みを行う 暫定で置いた末尾クラスタから再開...みたいな
> そのあたりの対応※が含まれたドライバを採用するのが普通かなと思います。
それをジャーナルファイルシステムと呼ぶような…
このスレッドにぶら下がっている人たちは、いったい何を語った気になってるんだろう?Aだ。AじゃないBだ。いやAじゃなくてBだろ。って言い合ってるだけで笑う
ジャーナルデータが無いファイルシステムをジャーナルファイルシステムと呼ぶとか笑っていいところですかね
メディア上ではVFAT形式で記録されたものをドライバレベルで「そのあたりの対応」をすることがジャーナルファイルシステムと同一に見えるような人が何を語った気になってるんだろう?
それをファイルシステム側で義務的にやるか個別のドライバー側で任意にやる必要があるか(手抜きの可能性もある)って事でしょ。
リスクは減らせているけど、エントリーの更新とかタイミングが悪いと破損するから完全なジャーナリングにはなってないと思う。ジャーナリングが標準のファイルシステムはどのタイミングで電源が落ちても大丈夫になってる。
ただ下で誰かが書いているけど、SDカードとかの安物は媒体自体が脆いから、ファイルシステムだけ頑張っても意味がない可能性もある。
#4235788で書いたのはいわゆるSoft Updatesです。 https://ja.wikipedia.org/wiki/Soft_updates [wikipedia.org]
ジャーナリングと「いかなるタイミングで連続する書き込みが中断されても矛盾が起きないよう、ディスクへの書き込み順を制御する」(Soft Updates)は、目的はどっちも「書き込み中断に対処」ですが、技術的には違うんじゃないですかね。
1→2→3までの工程を見て、所謂FreeBSDのSoftUpdateを思い出したわ。
PICとかも高度にはなったしFATのドライバぐらいは書けるけど、Linuxまでは動かんなぁ。Arduinoぐらいの高機能でもLinuxは無理じゃない?
# 個人的にLinux動くレベルの高性能ハードウェアを組込みって言われるとモニョモニョする。
PIC32ならμC-Linuxはいけるんじゃない?知らんけど。
未だに2GBのSDカード保持してくれている業者に謝れ。
ジャーナルはファイルシステムの破壊(矛盾発生)を防ぐための仕組みであって、書き込みを高速化したり書き込みを保証したりする仕組みでは無いですよ。
不意な取り出しや電源断から破壊を防げるじゃない。そのリスクは普通のパソコンのストレージの比ではない。
破壊を防げるいってもファイルシステムの破壊であって、データの破壊は防げないのが普通。
そんな当たり前ことを何故連呼してんの?だれもそんな話してないじゃない。
リムーバブルメディアだから破壊を防げるようにジャーナリング欲しいってのが元コメの話じゃないですかね。
むしろジャーナルのぶん書き込みは遅くなるよね
MicroSDは、電断とかでファイルシステムより下位の部分が飛ぶので、ジャーナルファイルシステムを使おうが簡単にファイルシステムや、データが吹っ飛ぶ。下記事例では、ジャーナルファイルシステムのext4が壊れてる。Raspberry Piで最も多い故障箇所は電源ぶつぎりによるSDカードの故障 [hardware.srad.jp]
それ、FATでフォーマットしてるだけだろ。
そいつは、PCのストレージにEFI system partitionが有る事を指して、FATでフォーマットしてるだけだろ。みたいな勘違いセリフですよ。
rpiのFATは基本的にブートパーティションだけ。NOOBSの初期状態や、その後のブートパーティション兼CONFIG.TXT [raspberrypi.com]置き場がFATパーティションなだけで、FATパーティションには基本的に書き込みされない。OS入れた後はFAT+そのOSが決めたext?とかNTFSの構造になっていて、通常読み書きされるパーティションはext4とかになる。
問題は、電断対策されてないSDカードが電断されるとHDDやSSDと比較して、セクタとかブロック単位でデータが簡単に飛ぶからファイルシステムが逝ってしまう。SDにジャーナルファイルシステムを積みたいなら、下層レイヤから規格決めて、「規格非対応では動作保証しません」みたいにしないとジャーナルファイルシステム入れてもどうにもならん。
OSが決めるって表記が気になったのかな?NOOBS経由だとNOOBSが選択したOS配布元が用意したシェルスクリプトがパーティションを切ってくれます。
> RPIってユーザーが手作業でSDカードにブートやルートのパーティションを切って、そこにいわゆるOSを載せるよね。
そういう手法が無いわけでもないが、ほぼ無いと言えるぐらいには例外的だよ。ほとんどのケースは用意された microSDイメージを ddする(初回起動時に残り容量分、パーティションが広げられる)だけだから、ファイルシステムはOS提供元が決めてるものそのままだよ。
性能が限られた組込マイコンでも使えるファイルシステムじゃないとね炊飯器のマイコンも64bit、メモリ16GBとかになる時代なら、ジャーナルファイルシステムでもいいだろうが
それで、組み込みで使えるディスクフォーマットが枯れたジャーナルファイルシステムはどこ?
枯れてる必要はないのでは?exFATだって当時新しい規格として策定したのだし。
ジャーナル書く処理とexFATとどっちがどう重いのか知らないけど、消費電力の面もあるんでしょうねー。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
何故exFATを使い続けるの? (スコア:2, すばらしい洞察)
リムーバブルメディアこそ、ジャーナルファイルシステムを使うべきなのでは?
Re:何故exFATを使い続けるの? (スコア:3, すばらしい洞察)
リムーバブルメディアは対応しているデバイスの多さも重要。
スマホだけでなくデジカメや音楽プレイヤー、プリンタやコンビニなどの印刷サービスなど幅広く対応するためには事実上exFAT一択。
Re: (スコア:0)
exFATの策定時には、既に種々のジャーナルファイルシステムがあったはずなのにな。
Re: (スコア:0)
FATの延長で実装可能かどうかが最重要じゃね?
Re: (スコア:0)
既にFAT系前提のデバイスが無数にあったから
Re: (スコア:0)
exFATってFAT32までと比べるとかなり大きく変わってて実装を流用してラクできるレベルには見えないんだけどな。少なくともSDカード向けなのにFATに書き込みが集中するようなファイルシステムよりマシなものにできなかったのか? とは思う
Re:何故exFATを使い続けるの? (スコア:3, 興味深い)
それでも、組み込み向けの汎用FATファイルシステム・モジュール [sourceforge.net]がexFATに対応できる程度には、実装の流用はできるみたいですよ。(日本語ページには記述はないですが、英語ページ [elm-chan.org]にはexFAT対応も明記してます)
SDカードには低速ながらも簡単に通信できる「SPI通信モード」があり、
SPIなら簡単にマイコンにつなぐことができるので、
このFatFsを使うことで8bitマイコンでも簡単にSDカードへファイルアクセスできるという組み込みの強い味方。
Re: (スコア:0)
そんな環境でSDXCの64GBものストレージを使う用途があるの?
Re: (スコア:0)
別ACだけど、データロガー的用途だと長期間ログが貯められて便利だし、
デジタルフォトフレーム的な用途だとSDXC対応してると便利。
Re: (スコア:0)
安物SDでなければ上書きしてもカード側で書き込み先を分散させるので、ファイルシステム側がFATに書き込み集中しても関係ない
気にするだけ無駄
Re:何故exFATを使い続けるの? (スコア:1)
ファイルシステムの種類もSDXCの規格の一部であって、勝手に変えられない
Re:何故exFATを使い続けるの? (スコア:1)
一時ストレージとして使用するのか、一次ストレージとして使用するかで
フォーマット変えるのが良いかと思います
Re: (スコア:0)
そのジャーナルファイルシステムにした場合のメリットデメリットを教えてください。
Re: (スコア:0)
組込み機器で実装コスト(容量)がかからないファイルフォーマットじゃないと駄目なんですよ。
Re: (スコア:0)
どうせ今時の組み込み機器はLinuxで動いてる。
このSonyの話もそういう環境だよね。
Re: (スコア:0)
α7IV(2021.12)はα7SIII(2020.10)よりもメモリーカードの操作(フォーマットなど)がかなり高速化されたという報告を見たけどその辺での改善なのかな。
Re: (スコア:0)
LinuxにexFATが載ったのなんて、ここ数年とかだぞ。
VFATにしたってSD規格には完全準拠してないから、真っ当に対応する場合Linux標準のexFAT/VFATは使えない。
Re:何故exFATを使い続けるの? (スコア:2, 興味深い)
微妙なレベルの中の人ですが、
標準の実装だと書き込み中に電源がOFFしたときとか、SDが抜かれたときなどに簡単にファイルシステムが破損してしまいます。
そのあたりの対応※が含まれたドライバを採用するのが普通かなと思います。
※
1) 先にクラスタチェーンの書き込みを済ませる この時点で中断しても不整合が起こらない状態(末尾に空きクラスタを置いた状態にするなど)までやる
2) FATエントリを更新する
3) 続きのクラスタチェーンの書き込みを行う 暫定で置いた末尾クラスタから再開
...
みたいな
Re: (スコア:0)
> そのあたりの対応※が含まれたドライバを採用するのが普通かなと思います。
それをジャーナルファイルシステムと呼ぶような…
このスレッドにぶら下がっている人たちは、いったい何を語った気になってるんだろう?
Aだ。AじゃないBだ。いやAじゃなくてBだろ。って言い合ってるだけで笑う
Re: (スコア:0)
ジャーナルデータが無いファイルシステムをジャーナルファイルシステムと呼ぶとか笑っていいところですかね
Re: (スコア:0)
メディア上ではVFAT形式で記録されたものをドライバレベルで「そのあたりの対応」をすることがジャーナルファイルシステムと同一に見えるような人が何を語った気になってるんだろう?
Re: (スコア:0)
それをファイルシステム側で義務的にやるか個別のドライバー側で任意にやる必要があるか(手抜きの可能性もある)って事でしょ。
Re: (スコア:0)
リスクは減らせているけど、エントリーの更新とかタイミングが悪いと破損するから完全なジャーナリングにはなってないと思う。
ジャーナリングが標準のファイルシステムはどのタイミングで電源が落ちても大丈夫になってる。
ただ下で誰かが書いているけど、SDカードとかの安物は媒体自体が脆いから、ファイルシステムだけ頑張っても意味がない可能性もある。
Re: (スコア:0)
#4235788で書いたのはいわゆるSoft Updatesです。
https://ja.wikipedia.org/wiki/Soft_updates [wikipedia.org]
ジャーナリングと「いかなるタイミングで連続する書き込みが中断されても矛盾が起きないよう、ディスクへの書き込み順を制御する」(Soft Updates)は、目的はどっちも「書き込み中断に対処」ですが、技術的には違うんじゃないですかね。
Re: (スコア:0)
さすがに書き終わったのはさすがに大丈夫やろ、だからちゃんと順番にどこまで書いたかメモっとくよてなもんだから
SDカードみたいなたとえただの読み出しでも処理中に電源切られたらそのセクタ死ぬよ、 みたいなメディアには全くの無力だよね
Re:何故exFATを使い続けるの?、そこにFATがあるからさぁ (スコア:0)
1→2→3までの工程を見て、所謂FreeBSDのSoftUpdateを思い出したわ。
Re: (スコア:0)
PICとかも高度にはなったしFATのドライバぐらいは書けるけど、Linuxまでは動かんなぁ。
Arduinoぐらいの高機能でもLinuxは無理じゃない?
# 個人的にLinux動くレベルの高性能ハードウェアを組込みって言われるとモニョモニョする。
Re: (スコア:0)
PIC32ならμC-Linuxはいけるんじゃない?知らんけど。
Re: (スコア:0)
未だに2GBのSDカード保持してくれている業者に謝れ。
Re: (スコア:0)
ジャーナルはファイルシステムの破壊(矛盾発生)を防ぐための仕組みであって、
書き込みを高速化したり書き込みを保証したりする仕組みでは無いですよ。
Re:何故exFATを使い続けるの? (スコア:1)
不意な取り出しや電源断から破壊を防げるじゃない。
そのリスクは普通のパソコンのストレージの比ではない。
Re: (スコア:0)
破壊を防げるいってもファイルシステムの破壊であって、データの破壊は防げないのが普通。
Re: (スコア:0)
そんな当たり前ことを何故連呼してんの?
だれもそんな話してないじゃない。
Re: (スコア:0)
リムーバブルメディアだから破壊を防げるようにジャーナリング欲しいってのが元コメの話じゃないですかね。
Re: (スコア:0)
むしろジャーナルのぶん書き込みは遅くなるよね
Re: (スコア:0)
MicroSDは、電断とかでファイルシステムより下位の部分が飛ぶので、
ジャーナルファイルシステムを使おうが簡単にファイルシステムや、データが吹っ飛ぶ。
下記事例では、ジャーナルファイルシステムのext4が壊れてる。
Raspberry Piで最も多い故障箇所は電源ぶつぎりによるSDカードの故障 [hardware.srad.jp]
Re: (スコア:0)
それ、FATでフォーマットしてるだけだろ。
Re:何故exFATを使い続けるの? (スコア:2, 参考になる)
それ、FATでフォーマットしてるだけだろ。
そいつは、PCのストレージにEFI system partitionが有る事を指して、FATでフォーマットしてるだけだろ。みたいな勘違いセリフですよ。
rpiのFATは基本的にブートパーティションだけ。
NOOBSの初期状態や、その後のブートパーティション兼CONFIG.TXT [raspberrypi.com]置き場がFATパーティションなだけで、FATパーティションには基本的に書き込みされない。
OS入れた後はFAT+そのOSが決めたext?とかNTFSの構造になっていて、通常読み書きされるパーティションはext4とかになる。
問題は、電断対策されてないSDカードが電断されるとHDDやSSDと比較して、セクタとかブロック単位でデータが簡単に飛ぶからファイルシステムが逝ってしまう。
SDにジャーナルファイルシステムを積みたいなら、下層レイヤから規格決めて、「規格非対応では動作保証しません」みたいにしないとジャーナルファイルシステム入れてもどうにもならん。
Re: (スコア:0)
OSが決めるって表記が気になったのかな?
NOOBS経由だとNOOBSが選択したOS配布元が用意したシェルスクリプトがパーティションを切ってくれます。
Re: (スコア:0)
> RPIってユーザーが手作業でSDカードにブートやルートのパーティションを切って、そこにいわゆるOSを載せるよね。
そういう手法が無いわけでもないが、ほぼ無いと言えるぐらいには例外的だよ。
ほとんどのケースは用意された microSDイメージを ddする(初回起動時に残り容量分、パーティションが広げられる)だけだから、ファイルシステムはOS提供元が決めてるものそのままだよ。
Re: (スコア:0)
性能が限られた組込マイコンでも使えるファイルシステムじゃないとね
炊飯器のマイコンも64bit、メモリ16GBとかになる時代なら、ジャーナルファイルシステムでもいいだろうが
Re: (スコア:0)
それで、組み込みで使えるディスクフォーマットが枯れたジャーナルファイルシステムはどこ?
Re: (スコア:0)
枯れてる必要はないのでは?
exFATだって当時新しい規格として策定したのだし。
Re: (スコア:0)
ジャーナル書く処理とexFATとどっちがどう重いのか知らないけど、消費電力の面もあるんでしょうねー。