エンドユーザーの観点からsync
インストールオプションとインストールオプションの違いは何ですか?async
これらのオプションのいずれかを使用してインストールされたファイルシステムは、他のオプションを使用してインストールされたファイルシステムよりも高速ですか?設定していない場合、どのオプションがデフォルトですか?
man mount
このsync
オプションを使用すると、フラッシュメモリの寿命が短くなる可能性があるのは時代遅れの通念です。とにかく、私のメインハードドライブ(パーティション/
と/home
)がSSDドライブなので、これは少し心配です。
Ubuntuインストーラ(14.04)はパーティション化オプションを指定しませんが、sync
オプションで設定されます。ここに私のものがあります。いくつかの行を追加しましたが(コメントを参照)、インストーラが行った行では何も変更しませんでした。async
/
async
/home
defaults
/etc/fstab
# / was on /dev/sda2 during installation
UUID=7e4f7654-3143-4fe7-8ced-445b0dc5b742 / ext4 errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=d29541fc-adfa-4637-936e-b5b9dbb0ba67 /home ext4 defaults 0 2
# swap was on /dev/sda4 during installation
UUID=f9b53b49-94bc-4d8c-918d-809c9cefe79f none swap sw 0 0
# here goes part written by me:
# /mnt/storage
UUID=4e04381d-8d01-4282-a56f-358ea299326e /mnt/storage ext4 defaults 0 2
# Windows C: /dev/sda1
UUID=2EF64975F6493DF9 /mnt/win_c ntfs auto,umask=0222,ro 0 0
# Windows D: /dev/sdb1
UUID=50C40C08C40BEED2 /mnt/win_d ntfs auto,umask=0222,ro 0 0
それでは、私の/dev/sda
SSDがasync
摩耗を減らすためにファイルシステムオプションを追加する必要がありますか?私が定義する追加のパーティションに必要な設定やオプションはありますか? SSDおよびHDDドライブに推奨される方法は何ですか?/
/home
sync
async
/etc/fstab
答え1
async
逆に、sync
ほとんど使用されません。 async
はデフォルト値なので、nfs-utils
バージョン1.0.0以下では明示的に指定する必要はありません。 1.0.0以降のすべてのバージョンではsync
これがデフォルトであり、async
必要に応じて明示的に要求する必要があります。
このオプションは、sync
そのファイルシステムに対するすべての変更がすぐにディスクにフラッシュされることを意味します。メカニカルドライブの場合、これはシステムがディスクヘッドを正しい位置に移動する必要があるため、かなりの速度低下を意味します。ユーザーsync
空間プロセスは、ジョブが完了するまで待つ必要があります。対照的に、async
システムは書き込み操作をバッファリングし、同時に実際の書き込みを最適化し、ユーザー空間のプロセスはブロックされずに実行され続けます。 (何か間違っている場合はclose()
返品してください-1
。errno = EIO
)
SSD:SSDメモリがRAMメモリに比べてどのくらい速いかはわかりませんが、確かに高速ではないため、メカニカルsync
ディスクドライブほど悪くはありませんが、パフォーマンスが低下する可能性があります。 SSDに書き込むとSSDが「磨耗」するため、寿命の点でこれらの知恵はまだ有効です。最悪のシナリオは、同じ場所で多くの変更を実行するプロセスです。sync
すべての変更がSSDに影響し、async
(デフォルト)、SSDはカーネルバッファリングのためほとんどの変更を見ることができません.
結局、これを無視するとsync
満足する可能性が高くなりますasync
。
答え2
警告:インストールが継続的に記録され(貴重なログ、セキュリティカメラの録画など)、突然の停電を回避できない場合は、「非同期」インストールオプションを使用するのが最善の方法ではない可能性があります。記録が失われたり、不完全な(無駄な)データが発生したりする可能性があります。あまり賢くない例:泥棒が店に入り、すぐにカメラコードを切り取ることを想像してください。侵入のビデオ録画は録画されていますが、そのビデオ(またはその一部)がメモリにバッファリングされ、カメラの電源が切れると失われる可能性があるため、ディスクにフラッシュ/同期されていない可能性があります。
答え3
2022年およびRHEL 7.9に基づいて価格に対する良い価値
自己暗号化SSDを使用するサーバーまたはDell BOSS M.2を使用する一部のLinuxオペレーティングシステムは、100 gbps HDR Infineband以上の速度を提供します。デフォルトでは、NFS接続は次のとおりです。同期バージョン 4. 1 とプロトコル=tcp で。私はnfs v4.2が/cat proc/fs/nfsd/versions
表示されても動作することはできませんが、+4.2
nfs 4.2が4.1よりどのくらい良いかわかりません。
/etc/exports
私は本質的に/scratch *(rw)
これを試しました同期5 GB tarファイルの単一のnfsファイルのコピー(平均460 MB /秒(最大バースト480))に/scratch *(rw,async)
違いはありませんでした。rsync --progress <source> <dest>
同じファイルをネットワーク経由ではなく同じサーバー上の別のフォルダにローカルにコピーするのに平均435 MB /秒かかりました。ちなみに、私は常に従来の1gbps銅よりも一貫した112MB /秒のSSH scp速度を得ます。
/etc/exports on rhel-7.9 nfs-server
/scratch *(rw,no_root_squash)
exportfs -v on rhel-7.9 nfs-server
/scratch <world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
mount on rhel 7.9 nfs-client
server:/scratch on /scratch type nfs4 (rw,nosuid,noexec,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.2,local_lock=none,addr=192.168.1.1,_netdev)
/etc/fstab on rhel 7.9 nfs-client
192.168.1.1:/scratch /scratch nfs4 _netdev,defaults,nosuid,noexec 0 0
返品:https://www.admin-magazine.com/HPC/Articles/Useful-NFS-Options-for-Tuning-and-Management (この記事には日付は記載されておらず、nfs v3とv4については言及されていません。)
ほとんどの人はNFSサーバーで同期オプションを使用します。同期書き込みの場合、サーバーはデータが信頼できるストレージに書き込まれたときにのみNFSクライアントに応答します。多くの人がNFSサーバーに障害が発生した場合、またはネットワーク接続が失われた場合にデータが失われる可能性が低いため、このオプションを好みます。
非同期モードでは、サーバーがI / O要求を処理し、それをローカルファイルシステムに送信するとすぐにNFSクライアントに応答できます。つまり、応答する前にデータが信頼できるストアに書き込まれるのを待ちません。 NFSクライアント。これにより、I/O 要求時間が節約され、パフォーマンスが向上します。ただし、I / O要求がディスクに到達する前にNFSサーバーがクラッシュすると、データが失われる可能性があります。
ファイルシステムがクライアントにマウントされたら、同期モードまたは非同期モードをマウントコマンドラインまたはNFSファイルシステムの/ etc / fstabファイルに配置するだけで設定できます。オプションを変更するには、まずNFSファイルシステムをマウント解除し、オプションを変更してからファイルシステムを再マウントする必要があります。
非同期NFSモードを使用することを選択した場合、NFSサーバーは最初にI / O要求をメモリに保存し、NFSクライアントに応答してからファイルを許可してI / Oを終了するため、非同期を利用するにはより多くのメモリが必要です。 system 安定したリポジトリに記録されます。したがって、最高のパフォーマンスを得るには、できるだけ多くのメモリが必要です。
2つの動作モードから選択することはあなた次第です。どこかにデータコピーがある場合は、パフォーマンスを向上させるために非同期で実行できます。レプリカがない場合、またはデータをすばやく簡単にコピーできない場合は、同期モードがより良い選択かもしれません。あなた以外は誰もこの決定を下すことはできません。