rw、nofail、noatime、discard、defaults はいつ、どこで使用するのですか?

rw、nofail、noatime、discard、defaults はいつ、どこで使用するのですか?

私は OpenStack Cloud を使用しており、RHEL 7 上の LVM を使用してボリュームを管理しています。私のユースケースでは、これらのボリュームを別のインスタンスにデタッチしたりアタッチしたりできるはずです。

fstab を更新する際に、今のところは使用していますdefaults,nofailが、正確に何を使用すればよいのかわかりません。次のオプションがあることはわかっています:

rw, nofail, noatime, discard, defaults 

しかし、どのように使用すればいいのか分かりません。私のユースケースに最適な構成は何でしょうか?

答え1

@ilkkachuが言ったように、mount(8)manpage を見れば、疑問はすべて解消されるはずです。manpage を引用します:

-w, --rw, --read-write
   Mount the filesystem read/write. This is the default. A synonym is -o rw.

手段rw:はデフォルトであり、defaultsオプションの一部であるため、まったく必要ありません。

nofail Do not report errors for this device if it does not exist.

手段: 起動後にデバイスが有効になっていない場合、fstab を使用してマウントすると、エラーは報告されません。マウントされていない場合はディスクを無視できるかどうかを知る必要があります。USB ドライバーでは非常に便利ですが、サーバーでこれを使用する意味はないと思います...

noatime
   Do not update inode access times on this filesystem (e.g., for faster access on the 
   news spool to speed up news servers).

手段cat file: 読み取り操作なしは、ファイルシステム上の「純粋な」読み取り操作です。たとえば、ちょっとした書き込み操作でも、inodeこのファイルの最終アクセス時刻が更新されます。これは、状況によっては (キャッシュ サーバーなど) 非常に便利ですが、Dropbox などの同期テクノロジで使用すると危険です。noatime を設定するか無視するかによって、何が最適かを判断するのは私ではありません...

discard/nodiscard
   Controls whether ext4 should issue discard/TRIM commands to the underlying block device 
   when blocks  are  freed.This  is  useful  for  SSD  devices  and  sparse/thinly
   -provisioned LUNs, but it is off by default until sufficient testing has been done.

手段:SSDのTRIM機能時間をかけてこのマニュアルを読み、自分の SSD がこの機能をサポートしているかどうかを調べてください (最近の SSD はほとんどすべてサポートしています)。hdparm -I /dev/sdx | grep "TRIM supported"自分の SSD で trim がサポートされているかどうかがわかります。

現在、パフォーマンスとデータの健全性を向上させるには、定期的なトリミング継続的にトリミングする代わりにfstabカーネル内デバイスブラックリストキューに入れられない操作によってデータが破損する可能性があるため、連続トリミングは行わないでください。

defaults
  Use default options: rw, suid, dev, exec, auto, nouser, and async.

要約:あなたの質問では、rw削除できるかどうか(defaultsすでに rw を意味しています)はnofailあなた次第でありnoatime、同様にdiscardハードウェアの機能次第です。

答え2

非常に重要だという情報に出会ったマウントオプションを破棄を無効にするLinux の SSD (-o nodiscard) で。引用とリンクは次のとおりです。

リンク:

https://www.intel.com/content/dam/support/us/en/documents/ssdc/data-center-ssds/Intel_Linux_NVMe_Guide_330602-002.pdf

6ページからの引用:

「ファイルシステムの推奨事項

重要: ファイルシステムの使用時にブロックを破棄しないでください。

Linux ファイルシステムを作成するときは、必ず破棄オプションをオフにしてください。SSD コントローラーのより高度で一貫したアプローチを使用して、SSD が NVM (不揮発性メモリ) とホスト間のブロックとそのアクティビティを管理できるようにします。

コアファイルシステム:

• ext4 – デフォルトの拡張オプションでは、ファイルシステムの作成時にブロックを破棄しません。これを保持し、一部の情報で指示されているように「破棄」拡張オプションを追加しないでください。

• xfs – mkfs.xfs では、ブロックを破棄しないように –K オプションを追加します。

ソフトウェア RAID を使用する場合は、実行するワークロードに応じて、開始点として 128k のチャンク サイズを使用することをお勧めします。ワークロードは常にテストする必要があります。"

ご覧のとおり、製造元である Intel 自身がこの点を非常に強く主張しており、本文中で 5 回繰り返しています。そのうち 4 回は明示的に、1 回は専門家が理解できる論理で説明しています。これは製造元による非常に強い主張です。また、この SSD は決して劣っていません。数年前の 1,200 ドルの Intel SSD と同等です。

「trim」オプションがこれとどのように関係するかはわかりません。ドキュメントからの情報をお伝えします。ドキュメントは 2015 年 3 月、リビジョン 2.0 のものであり、Linux カーネル 3.19 に更新されています (ドキュメントの 2 ページ目にそのことが記載されています)。

答え3

defaults,(または,defaults) は必要ありません。

なぜこの例が使用されているのか分かりませんman fstab:-(。

使用する理由defaultsは、オプションを提供する必要がない場合です。いくつかの次の列に値を指定する場合、オプション列に入力する単語。

関連情報