debian 11.6 Linux配置nvme-of tcp存储

配置准备两台虚拟机,一台作为target端提供磁盘,至少要有两块磁盘;一台作为intiator端连接磁盘;

target端虚拟机IP为:192.168.1.61
intiator端虚拟机IP为:192.168.1.62


1. 安装nvme-cli 配置nvmet模块

需要在target端和intiator端执行

apt-get update
apt-get install nvme-cli

sudo modprobe nvmet
sudo modprobe nvmet-tcp
2. target端配置
cd /sys/kernel/config/nvmet/subsystems
sudo mkdir nvme-test-target            
# nvme-test-target 如果连接多个intiator 需要改变这个目录名

echo 1 | sudo tee -a attr_allow_any_host > /dev/null
sudo mkdir namespaces/1
# 如需提供多个磁盘需要在namespaces下创建多个目录 一个磁盘一个目录 例:sudo mkdir 2

cd namespaces/1
echo -n /dev/nvme0n1 |sudo tee -a device_path > /dev/null
# /dev/nvme0n1为磁盘的名称

echo 1|sudo tee -a enable > /dev/null
sudo mkdir /sys/kernel/config/nvmet/ports/1
cd /sys/kernel/config/nvmet/ports/1

echo 192.168.1.61 |sudo tee -a addr_traddr > /dev/null 
# 192.168.1.61 当前虚拟机IP

echo tcp|sudo tee -a addr_trtype > /dev/null
echo 40000|sudo tee -a addr_trsvcid > /dev/null
# 40000为端口号
echo ipv4|sudo tee -a addr_adrfam > /dev/null

sudo ln -s /sys/kernel/config/nvmet/subsystems/nvme-test-target/ /sys/kernel/config/nvmet/ports/1/subsystems/nvme-test-target

# /nvme-test-target为开始创建目录名称
3. intiator端配置

加载模块

sudo modprobe nvme-fabrics 

连接target端磁盘

sudo nvme discover -t tcp -a 192.168.1.61 -s 40000
# 192.168.1.61 target端虚拟机ip 40000刚才配置的端口号

sudo nvme connect -t tcp -n nvme-test-target -a 192.168.2.100 -s 40000
# nvme-test-target创建的目录名 

sudo nvme list        # 可以看到连接到的盘

nvme list-subsys --output-format=json
# 可以看到target端的IP,NQN和一些信息
4. 取消initiator端与target端的连接
 
# 单个磁盘取消连接
sudo nvme disconnect /dev/nvme1n1 -n nvme-test-target 


# nvme-test-target目录里面的磁盘都取消连接
nvme disconnect -n nvme-test-target
5. target端卸载nvme模块
重启虚拟机后会自动卸载

用命令卸载

sudo rm -rf /sys/kernel/config/nvmet/ports/1/subsystems/nvme-test-target
# nvme-test-target 目录名称

echo 0 > /sys/kernel/config/nvmet/subsystems/nvme-test-target/namespaces/1/enable
echo -n 0 > /sys/kernel/config/nvmet/subsystems/nvme-test-target/namespaces/1/device_path
sudo rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/subsystems/nvme-test-target/namespaces/1
sudo rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/subsystems/nvme-test-target
sudo rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/ports/1
sudo rmmod nvmet-tcp
sudo rmmod nvmet

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值