ubuntu18.04系统中配置NVMe-oF

本文详细介绍如何在Ubuntu 18.04系统中配置NVMe-oF,包括环境搭建、NVMe-oF驱动安装、NVMe-oF over TCP及RDMA配置步骤,并通过实例演示配置过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu18.04系统中配置NVMe-oF

1.环境准备

linux系统可以是运行在物理机上,也可以是虚拟机上,本次是运行在虚拟机上。
建议有2个linux系统,一个做host,一个做target,如果资源紧张也可以把host和target运行在一个linux系统里,本次host、target都同一个系统里。

1.1 安装 ubuntu18.04

root@ubuntu:~# uname -a
Linux ubuntu 5.4.0-42-generic #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
root@ubuntu:~# 

1.2 安装nvme-cli

apt install nvme-cli

1.3 编译安装MLNX_OFED_LINUX驱动

驱动下载地址:https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed
请添加图片描述

请添加图片描述
请添加图片描述

编译安装:

# 解压编译安装
tar -zxvf MLNX_OFED_LINUX-5.0-2.1.8.0-ubuntu18.04-x86_64.tgz   
cd MLNX_OFED_LINUX-5.0-2.1.8.0-ubuntu18.04-x86_64
./mlnxofedinstall --with-nvmf --force --add-kernel-support
# 加载相关驱动内核模块
modprobe nvmet
modprobe nvmet-rdma
modprobe nvmet-tcp
modprobe nvme-fabrics
modprobe nvme_core
# 加载检查
root@ubuntu:~# lsmod |grep nvme
nvme_fabrics           24576  0
nvme_core             106496  1 nvme_fabrics
nvmet_tcp              24576  0
nvmet_rdma             28672  0
rdma_cm                65536  1 nvmet_rdma
ib_core               311296  4 rdma_cm,nvmet_rdma,iw_cm,ib_cm
nvmet                  81920  2 nvmet_tcp,nvmet_rdma
root@ubuntu:~# 

root@ubuntu:~# tree  /sys/kernel/config/
/sys/kernel/config/
├── nvmet
│   ├── hosts
│   ├── ports
│   └── subsystems
├── pci_ep
│   ├── controllers
│   └── functions
└── rdma_cm

8 directories, 0 files
root@ubuntu:~# 

**安装编译的时候遇到报错,查看日志是因为系统自带的python3,而编译的脚本使用了python2的语法,因此报错,解决办法是在系统中安装了一下python:apt install python

1.4 准备一块磁盘

root@ubuntu:~# fdisk -l /dev/sdb 
Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors 
<think>好的,我现在需要帮助用户在现有的Ubuntu 22.04系统上安装Ubuntu 18.04,实现双系统。用户还提到了分区和Grub配置的问题。首先,我得回忆一下双系统安装的基本步骤,以及需要注意的地方。 首先,用户已经有一个Ubuntu 22.04,现在要加装18.04。通常双系统安装需要为新系统腾出磁盘空间。用户可能需要调整现有分区,比如缩小某个分区,或者使用未分配的磁盘空间。这里需要注意备份数据,因为调整分区大小有风险,可能会导致数据丢失。另外,如果用户的磁盘是使用UEFI还是传统的BIOS模式,这会影响引导配置,但Ubuntu一般默认使用UEFI,所以可能需要检查EFI系统分区(ESP)的情况。 接下来是分区步骤。安装Ubuntu 18.04时,用户需要手动分区。通常需要为18.04创建根目录分区(/),可能还需要交换分区或者/home分区,但交换分区在较新版本中可能被swap文件替代。不过,Ubuntu 18.04可能默认还是会创建swap分区。需要注意不要覆盖现有的22.04分区,尤其是/home或者数据分区。用户可能需要使用GParted来调整分区,或者在安装时选择“其他选项”进行手动分区。 然后是安装过程中的引导问题。安装第二个Ubuntu时,安装程序通常会将Grub安装到整个磁盘(比如/dev/nvme0n1),这样会覆盖原有的Grub。但用户希望保留现有的22.04的Grub,并且能正确识别两个系统。不过根据引用[1]中的内容,Grub安装器的配置参数可以指定安装位置,比如d-i grub-installer/bootdev string /dev/nvme0n1,这样确保Grub被正确安装到主引导记录中。但安装18.04时,可能需要确保Grub不会覆盖现有的配置,或者安装后需要更新Grub以识别两个系统。 安装完成后,可能需要进入22.04系统,运行sudo update-grub来重新生成Grub菜单,这样就能看到18.04的启动选项了。如果安装过程中Grub被18.04的版本覆盖,可能需要修复引导,但通常较新版本的Grub可以识别旧系统。 关于分区方案的具体建议,用户需要为Ubuntu 18.04分配至少根分区和交换分区。例如,根分区(/)建议20GB或更多,交换分区根据内存大小来定,或者使用swap文件。如果用户已经有单独的/home分区,可能可以选择不格式化/home,但需要注意两个系统使用不同的用户名避免冲突。 另外,文件系统类型方面,Ubuntu 18.04可能默认使用ext4,所以建议用户继续使用ext4以保持兼容性。对于EFI系统分区,现有的ESP应该足够,不需要为18.04再创建一个,否则可能导致问题。安装时确保不要格式化现有的ESP分区,否则会破坏22.04的引导。 最后,Grub配置可能需要手动调整,特别是如果安装后无法进入任何一个系统。用户可能需要使用Live USB进入系统,重新安装Grub并更新配置。不过按照引用[1]中的参数,正确指定安装位置应该可以避免问题。同时,安装clusterssh可能对管理多个系统有用,如引用[2]提到的cssh工具,但这不是安装双系统的必要步骤。 总结步骤:备份数据,腾出磁盘空间,安装时手动分区,正确配置Grub安装位置,安装后更新Grub。需要提醒用户谨慎操作分区,避免数据丢失,并检查引导配置是否正确。</think>### 双系统安装指南:Ubuntu 22.04Ubuntu 18.04 #### 一、准备工作 1. **备份重要数据** 调整分区可能导致数据丢失,建议使用外部存储或云备份关键文件。 2. **创建Ubuntu 18.04安装介质** 使用Rufus或BalenaEtcher制作启动U盘,选择Ubuntu 18.04 ISO文件。 3. **腾出磁盘空间** -Ubuntu 22.04中打开`GParted`,缩小现有分区或删除未使用分区,预留至少20GB空间。 - 若使用全盘加密(LUKS),需提前解密并调整逻辑卷。 --- #### 二、分区方案建议 安装Ubuntu 18.04时选择**手动分区**("Something else"选项),建议配置如下: 1. **根分区(/)** - 大小:`20GB`(最低建议) - 类型:`Ext4` - 挂载点:`/` 2. **交换分区(swap)** - 大小:与物理内存相同(例如`8GB`) - 类型:`swap area` 3. **可选分区(/home)** - 若需独立存储用户数据,可单独分配,但需注意避免与22.04的`/home`冲突。 --- #### 三、安装关键步骤 1. **启动安装程序** - 插入U盘重启,选择`Try Ubuntu`进入Live环境。 - 点击桌面图标启动安装向导。 2. **分区配置** - 选择预留的未分配空间,按上述方案创建分区(下图示例): ``` /dev/nvme0n1p5 ext4 / 20GB /dev/nvme0n1p6 swap swap 8GB ``` 3. **Grub安装配置** - **重要!** 在"Device for boot loader installation"中选择磁盘(如`/dev/nvme0n1`),确保Grub写入主引导记录[^1]。 - 安装程序会自动检测现有Ubuntu 22.04系统并添加引导项。 --- #### 四、安装后配置 1. **更新Grub菜单** 进入Ubuntu 22.04系统,执行: ```bash sudo update-grub ``` 此时Grub会显示Ubuntu 22.0418.04的双系统选项。 2. **验证引导顺序** - 若默认启动项为Ubuntu 18.04,可通过`sudo grub-set-default`修改优先级。 --- #### 五、常见问题解决 1. **Grub未正确识别双系统** - 使用Live USB启动,执行: ```bash sudo mount /dev/nvme0n1pX /mnt # X为Ubuntu 22.04根分区 sudo grub-install --root-directory=/mnt /dev/nvme0n1 sudo update-grub ``` 2. **分区冲突导致安装失败** - 确保Ubuntu 18.04的分区未与22.04重叠,尤其是`/boot/efi`(EFI系统分区)。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值