NFS の設定
大量のデータセットやモデルファイルを、Ubuntuホストに保存し、DevKitからアクセスする必要がある場合は、NFSを使用してください。
NFS(ネットワークファイルシステム)は、Ubuntuホスト(サーバー)とModalix DevKit(クライアント)の間でファイルを共有します。これにより、DevKitは、ローカルコピーなしでホストのストレージにアクセスできます。
DevKitに、NVMeのような高速かつ大容量のストレージが搭載されていない場合、NFSは役立ちます。これは、MLSoCやModalixの早期アクセス版(EA)など、SDカードのみのストレージを使用している場合に、読み込み時間が遅くなるという問題があるプラットフォームにも当てはまります。
以下の状況で NFS を使用してください。
- 大規模なモデルやデータセットは、複数のデバイス間で共有する必要があります。
- クライアント側のローカルストレージには制限があるか、利用で きません。
- 更新作業においては、集中管理型のストレージ管理方式をご希望なのですね。
ステップ1:NFSサーバーのセットアップ
-
NFSカーネルサーバーをインストールします。
sima-user@sima-user-machine:~$ sudo apt updatesima-user@sima-user-machine:~$ sudo apt install -y nfs-kernel-server -
共有ディレクトリを作成します。
ModalixとDevKitで共有するディレクトリを選択してください。
sima-user@sima-user-machine:~$ sudo mkdir -p /mnt/nfs_sharesima-user@sima-user-machine:~$ sudo chmod 777 /mnt/nfs_share -
NFSのエクスポート設定ファイルを編集します。
エクスポートファイル を展開します。
sima-user@sima-user-machine:~$ sudo nano /etc/exports次の行を末尾に追加し、
<modalix_ip>を Modalix DevKit の IP アドレスに置き換えてください。/mnt/nfs_share <modalix_ip>(rw,sync,no_subtree_check)ネットワーク内のすべてのIPアドレスからのアクセスを許可したい場合(テスト目的の場合)、以下を使用してください。
/mnt/nfs_share *(rw,sync,no_subtree_check) -
変更を適用し、NFSサービスを再起動してください。
sima-user@sima-user-machine:~$ sudo exportfs -asima-user@sima-user-machine:~$ sudo systemctl restart nfs-kernel-server
ステップ2:NFSクライアントの設定
-
マウントポイントを作成します。
modalix:~$ sudo mkdir -p /mnt/ -
NFS共有をマウントします。
<server_ip>を、Ubuntu ホストマシンの IP アドレスに置き換えてください。modalix:~$ sudo mount <server_ip>:/mnt/nfs_share /mnt/ -
マウン トの状態を確認してください。
NFS共有が正しくマウントされているか確認してください。
modalix:~$ df -h | grep mnt
ステップ3:マウントを永続化する。
起動時に NFS 共有を自動的にマウントするには、Modalix 上で次の手順を実行します。
-
mnt.mountファイルを作成します。modalix:~$ sudo vi /etc/systemd/system/mnt.mount -
次の内容をファイルに追加し、
server_IPを Ubuntu ホストの IP アドレスに置き換えてください。[Unit]Description=NFS MountAfter=network-online.targetRequires=network-online.target[Mount]What=<server_IP>:/mnt/nfs_shareWhere=/mnt/Type=nfsOptions=defaults,_netdev[Install]WantedBy=multi-user.target -
変更を保存して終了し、設定をテストします。
modalix:~$ sudo systemctl daemon-reloadmodalix:~$ sudo systemctl enable mnt.mountmodalix:~$ sudo systemctl start mnt.mount