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了!
热门推荐
全面解析:曲毫茶的种类、产地、制作工艺及其健康益处
新疆十大自驾游路线全攻略
量子密钥分发系统的设计与实现:量子密钥的产生过程分析
13岁女孩身高178cm是否正常?专业医生权威解答
一岁婴儿肚脐眼凸起发红怎么办?专业医生这样建议
鼻窦炎为什么会引起额头疼痛的原因
未来"月球城"怎么建?NASA计划10年内建成,但面临多重挑战
可供女孩起名的好方法 教你为女孩起个最好的名字
亚健康行业数据趋势分析:揭示市场需求与竞争态势
和医生一起做改良八段锦,击退无力,改善呼吸功能
腈纶/莫代尔/锦纶混纺纱线的开发与工艺控制
学生期间通过何种运动可以促进身高增长
看似涨福利,实则割韭菜,工资提升变“甜蜜毒药”,土耳其经济骚操作为何引众怒?
佛教传入与中国文化融合
医疗期员工解雇问题探讨:企业如何依法合规处理?
自动化测试脚本如何进行代码审查
氮气的物理特性及其应用
医生解答:大气污染确实会增加肺癌风险
位置式PID和增量式PID优缺点
英语四级语法:few, little, a few, a little用法详解
去除长时间盯屏幕眼睛疼?这些科学护眼方法快码住!
屈原《九章·怀沙》创作背景及鉴赏
公路车选购指南:从入门到进阶的全方位攻略
象棋必胜攻略:从入门到精通的13个实用技巧
热闹的《演员请就位3》,实则在揭示影视圈的门道
阳光房建设有哪些关键步骤?这些步骤如何提升房屋采光效果?
公交卡用手机刷,步骤详解与注意事项,带你轻松上手!
指数分布的理解,推导与应用
“报行合一”推行一年 银保渠道降费30%
如何选择适合自己的年金产品提升退休生活质量