自作デスクトップのブートSSDをNVMeに換装しました(ふるさと納税で実質0円)

全国2000万人のPCジサカーのみなさん、こんばんは。前回の自作報告は
10年ぶり?くらいにデスクトップを新調しました - kuenishi's blog
でしたが、気づけばもう4年近く同じ環境だったわけですね。SSDが壊れて足して・・・みたいなのを繰り返していたのですが、業務上NVMe SSDをさわる機会が増えてきたり、実はこのとき組んだマシンのマザーボードにM.2のインターフェースが生えていることにあとから気づいたりしていました。

どんどんM.2がほしくなってくるわけです。ドスパラのサイトを開いては逡巡する日々が続きました。昨年末ごろだったとおもう。年末に駆け込みで大量のふるさと納税をして「ハァ疲れた・・・」とかなっていました。また後日書きますが、ふるさと納税で買える食べ物っていつ来るかわからないし、量は多いしで計算できないんですよね。脂身多めのスライスばかりで、うちが好みの塊系はすくないし、ただでさえ冷蔵庫も冷凍庫もキャパいっぱい*1 なのに急にキロ単位で肉がくるわけです。なので正直肉とか食べ物ばっかりでは厳しい。こまった・・・となっているところに、すごいものを見つけてしまったわけです

www.furusato-tax.jp

これ見つけたときの興奮をおぼえておきたいのでスクショもはっておきます

これまでもふるさと納税でパソコンやカメラが手に入る自治体はあったわけですが、「ホントにその返礼品はそこの特産品なの??」と思えるようなものが多くうんざりしていたわけです。パソコンの返礼品はロースペックだし、GPUがあるわけじゃなし、日本でDRAMやCPU作ってるところもあるわけじゃないし・・・とおもったらおるやん!日本で作ってるパーツ!
そう!!!NANDメモリ!!!!マジの四日市市特産品!! 泣く子も黙るグローバル・外貨貿易黒字・カンパニー。

これはもういくしかないです。ただ額が大きいしキャッシュフローに影響があるので、できれば年末近くいったほうがいいやつじゃ・・とか1ヶ月くらいは逡巡しました。1ヶ月しか我慢できなかったともいいます。結局2TBの上位モデルいっちゃいました。まあ還元率でいうとそんなによい方ではないと思いますが、ふるさと納税だから実質0円でPCパーツが入る機会は他にないと考えることもできます。そういうわけで2月に寄付をいたしたわけですが、おそらく年末の注文がたまっていたせいか届くまですこし時間がかかり、先週やっと届きました。

M.2のセットアップはSATAも電源もケーブル不要なのがいいですよね。そういうわけでセットアップはサクッとできました。

設置

NVMe SSD を使う全国2000万人の同輩につよくオススメしておきたいのは、ブロックサイズを4KiB にしておくことです。
これはOSに関わらずやっておくとよいです。
デフォルトではなぜか512になっていますが、これを8倍にするとIO命令数が 1/8 に減るのでCPUの負荷をかなり下げることができます。
NVMe が速すぎてCPUがボトルネックになりがちな状況だとこれはかなり効きます。

$ sudo nvme format -lbaf=1 /dev/nvme0n1
You are about to format nvme0n1, namespace 0x1.
WARNING: Format may irrevocably delete this device's data.
You have 10 seconds to press Ctrl-C to cancel this operation.

Use the force [--force] option to suppress this warning.
Sending format operation ...
Success formatting namespace:1
$ sudo nvme list
Node                  Generic               SN                   Model                                    Namespace  Usage         Format           FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- ---------- -------------------------- ---------------- --------
/dev/nvme0n1          /dev/ng0n1            2(redacted)P         KIOXIA-EXCERIA PRO SSD                   0x1          2.00  TB /   2.00  TB      4 KiB +  0 B   EIFA10.3

ブロックサイズを 4KiB にしたらあとはすきなように使います。わたしは / の領域にして、 /home を subvolume にして、これまでつかっていたSATA SSDからスナップショット転送して /home をそのまま移行しました。 /oldhome がこれまでの /home だとすると以下のような感じです。

# btrfs snapshot subvolume snapshot /oldhome /oldhome/snapshots/home-backup-20250419
# btrfs send /oldhome/snapshots/home-backup-20250419 | btrfs receive /
..
# mv /home /oldhome2
# mv /home-backup-20250419 /home

で、このとき注意しといたほうがいいのは、スナップショットをreceive した時点ではreadonlyになっているのでそれを外してやる必要があります(
linux - How to make a btrfs snapshot writable? - Unix & Linux Stack Exchange )

# btrfs property set -ts /home ro false

これで普通に以前の home を持ち込むことができます。
あと既存のArch環境があれば、ブートUSBなしでいろいろ簡単にOS領域作れたりします(
Arch Linux - arch-install-scripts 29-1 (any) を入れればブートUSBで起動したのと同じ状況になるから)。


その他

  • 四日市市のふるさと納税、ほかにもSDカードはSATA SSDが普通にあるのでオススメです
  • 皆さんもたくさん寄付して実質無料ハッピー自作ライフ
  • 予備パーツどうしよっかなあ・・・

まとめ

  • SSDが古くなってなんかプチフリっぽくなっていた
  • FactorioをやるなどしてSSDが埋まり気味になってきた
  • 毎年ふるさと納税のネタに困っていた(食べ物は飽きがち
  • ふるさと納税で買えるSSDが!あるんです!!
  • 実質無料で皆さんもハッピーSSD生活

おまけ

SSDに同封されていたチラシ
工業都市とふるさとがない混ぜになっていて風情があります


*1:理由はまた後日の記事でかくかもしれません