Jetson Orin Nano 扩容 NVMe SSD 配置指南
创作时间:
作者:
@小白创作中心
Jetson Orin Nano 扩容 NVMe SSD 配置指南
引用
CSDN
1.
https://blog.csdn.net/weixin_43837762/article/details/139647951
本文将详细介绍如何在Jetson Orin Nano开发板上配置NVMe SSD,包括硬件安装、系统识别、格式化、挂载以及迁移Docker目录等步骤。通过本文的指导,你将能够充分利用NVMe SSD的高速读写性能,为存储容器镜像和rosbag文件提供更大的空间。
前言
如果你在使用Jetson开发套件,为了存储容器镜像和rosbag文件,你需要一个快速且大容量的存储设备。最好的方式是安装NVMe SSD到Jetson开发套件的载板上。
注意:通过USB 3.x连接SSD并不推荐,因为其读写速度比NVMe(PCIe)接口慢。
一、配置Jetson使用NVMe SSD
选择以下方法之一来设置Jetson的NVMe SSD:
- 在全新Jetson开发套件上安装NVMe SSD,并使用运行在Ubuntu PC上的SDK Manager将整个L4T(Jetson Linux)刷入SSD。
- 将L4T刷入Jetson的eMMC或microSD卡,然后安装NVMe SSD,并将其配置为ROS2工作区或Docker overlay文件的可选存储。
第一个选项更简单,但需要重新刷写整个Jetson,会导致现有文件丢失。第二个选项虽然步骤更多,但可以避免重新刷写Jetson。
二、使用步骤
1.SSD安装和自动挂载
- 断开Jetson开发套件的电源和所有外设
- 将NVMe SSD安装到Jetson开发套件的载板上,确保正确连接并用螺丝固定
- 重新插入电源线和外设,并启动Jetson开发套件。
验证系统是否识别到PCI总线上的新内存控制器:
lspci
典型输出应如下所示:
0007:01:00.0 Non-Volatile memory controller: Marvell Technology Group Ltd. Device 1322 (rev 02)
使用lsblk命令找到设备名称:
lsblk
典型输出应如下所示:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 16M 1 loop
mmcblk1 179:0 0 59.5G 0 disk
...
nvme0n1 259:0 0 238.5G 0 disk
识别你的SSD对应设备名称,在我的设备中为nvme0n1
2.格式化SSD,创建挂载点并挂载到文件系统(可以不格式化)
- 格式化(可选):
sudo mkfs.ext4 /dev/nvme0n1
#mkfs.ext4格式化并转成ext4格式,可以看情况跳过这一步
- 挂载
sudo mkdir -p /mnt/nova_ssd
#自己选名字,我这里写的nova_ssd
sudo mount /dev/nvme0n1 /mnt/nova_ssd
- 为了确保挂载在启动后仍然有效,需要添加一个条目到fstab文件:
找到你的SSD的UUID:
lsblk -f
- 编辑fstab文件(vim nano gedit都行,看习惯):
sudo vi /etc/fstab
- 插入以下内容,替换为你的UUID:
UUID=你的UUID /mnt/nova_ssd/ ext4 defaults 0 2
- 更改/mnt/nova_ssd目录的所有权:
sudo chown ${USER}:${USER} /mnt/nova_ssd
- 查看当前USER是谁
whoami
3.迁移Docker目录到SSD
- 将nvidia用户添加到docker组以便使用docker无需sudo:
sudo usermod -aG docker $USER
id nvidia | grep docker
newgrp docker
- 停止Docker服务
sudo systemctl stop docker
- 移动现有的Docker文件夹:
sudo du -csh /var/lib/docker/ && \
sudo mkdir /mnt/nova_ssd/docker && \
sudo rsync -axPS /var/lib/docker/ /mnt/nova_ssd/docker/ && \
sudo du -csh /mnt/nova_ssd/docker/
- 编辑/etc/docker/daemon.json文件:
sudo vi /etc/docker/daemon.json
把下面内容复制进去做替换:
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia",
"data-root": "/mnt/nova_ssd/docker"
}
- 重命名旧的Docker数据目录:
sudo mv /var/lib/docker /var/lib/docker.old
- 重新启动Docker守护进程:
sudo systemctl daemon-reload && \
sudo systemctl restart docker && \
sudo journalctl -u docker
3.在SSD上测试Docker
- 打开一个终端监控磁盘使用情况:
watch -n1 df
- 在另一个终端开始Docker拉取:
docker pull nvcr.io/nvidia/l4t-base:r35.2.1
观察/mnt/nova_ssd的磁盘使用情况随着容器镜像的下载和解压而增加
4.最终验证
重新启动Jetson,验证以下内容:
- 查找并显示已连接的NVMe SSD的UUID
sudo blkid | grep nvme
典型输出:
/dev/nvme0n1: UUID="9fc06de1-7cf3-43e2-928a-53a9c03fc5d8" TYPE="ext4"
- 以人类可读的格式显示文件系统的磁盘空间使用情况
df -h
典型输出:
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk1p1 116G 18G 94G 16% /
...
/dev/nvme0n1 458G 824M 434G 1% /mnt/nova_ssd
- 从Docker的信息输出中筛选包含“Root”字符串的行
docker info | grep Root
典型输出:
Docker Root Dir: /mnt/nova_ssd/docker
三.总结
至此,你的Jetson现在已经配置好使用SSD了!
热门推荐
日海智能股票交易异常波动,公司已被罚股民可索赔
身份证照片储存手机哪里安全
“幸会”金陵,2024南京艺术节精彩纷呈
网络中的链路聚合是什么意思?
承租人中途退房解约,已支付的押金和租金怎么办?
家有猫主子要收藏!别再搞猫跳台了,猫门才是必须!,盘点10个优点
野苹果的功效与作用、禁忌和食用方法
婚姻不稳定时如何保护夫妻共有财产权
华为手机拍摄15个场景的最佳参数设置
肩周炎的中医诊断及分型
脱发的原因终于找到了!进来看是不是你(内含防脱攻略)
活性锰去除甲醛靠谱吗?深度解析其原理与效果
阳江特色美食分享,6道美食你最爱哪道?
蛋白质含量高就是优质蛋白食物吗?
肝郁脾虚应该吃什么食物
长了虫的大米还能吃吗?千万别暴晒,这样处理→
心脏早搏的症状与危害:从诊断到治疗的全面指南
久咳要揪“真凶”,这七种情况要查肺功能
如何判断膝外翻
美国留学经典对决:私立VS公立,留子们的终极择校指南!
“闪订”后“闪退”,黄金首饰及18万余元彩礼应当如何处理?
慢性肾功能不全患者的饮食指南:五类关键食物推荐
国际公约是什么
用户的分层运营(运营要精细化,可是用户如何到底分层运营)
牛肝菌的生长环境及采摘后的保存方式
中国移动5G-A落地广西三城,助力加快培育新质生产力
刘伯温斩尽天下龙脉:民间传说与历史真相
亚洲清洁空气中心发布《大气中国2024》:呼和浩特空气质量管理排名全国第一
丙酮碘化反应实验报告
倒F天线(IFA天线):结构、原理与应用