Jetson xavierNXはM.2に対応しており、NVMe SSD を使用できます。
NVMe SSDを用いることで、実行プログラムをSSD上で全て実行できるため高速化を行うことができます
Jetson Hacksにあるスクリプトを利用することで、
現状の環境を簡単にSSDに移すことができたのでその手順について説明します。
SSDの取り付け
今回は以下の500GBのSSDをJetson XavierNXに拡張しました。
WESTERNDIGITAL ウエスタンデジタル 内蔵SSD 500GB
取り付けた外部SSDが正しく認識していることを確認します。
fdisk -l
/devnvme0n1に500GBのSSDがマウントされていることが確認できます。
もしここで表示されていない場合は、取り付けがうまくできていないので確認してみてください。
SSDのパテーションの作成
SSDをetxt4でフォーマットし、パテーションを作成していきます。
パテーション作成しておくことで、予備の領域を残しておきます。
後に実行するコマンドは、パテーションを作成することを前提としています。
そのまま実行したい場合は必ずパテーションを作成しておく必要があります。
ここからはGUI上で操作していきます。
まずdiskアプリを起動します。
500GBのディスクが確認できます。
右上の設定項目からFormat Dsikを選択
compatible with modern systems..に設定
確認されるので、formatを選択
パテーションの作成
+マークを選択し、パテーションのサイズを作成
今回はとりあえず16GBに設定
作成するvolumeの好きな名前を決める
今回はxaviernx500で入力し、create
パスワードを聞かれたら入力
SSDへの移行
次にgithubのrootOnNVMe を使用します。
https://github.com/jetsonhacks/rootOnNVMe
以下のコマンドを実行するだけで、
- SDカードのルート以下にある全てのファイルをSSDに移動させる。
- サービスのセットアップを行う。これにより、.serviceファイルが正しい場所にコピーされ、起動スクリプトがインストールされてrootがSSDに設定されます。
git clone https://github.com/jetsonhacks/rootOnNVMe
cd rootOnNVMe
./copy-rootfs-ssd.sh
./setup-service.sh
sudo reboot
実行途中の画面
128GBを移行するのにだいたい40分くらいかかりました。
これで、再起動を行うと/dev/nvme0n1p1がルートディレクトリになっています。
/dev/mmcblk0にSDカードが認識されています。
性能確認
hdparmでメモリの読み出し速度を確認したところ10倍以上の速度がでていることが確認できます。
## まとめ
簡単にSDカードからSSD上に移行することができました。