我是靠谱客的博主 激昂果汁,最近开发中收集的这篇文章主要介绍qume 模拟NVMe zns 设备(Creating an Emulated Zoned Namespace),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

      • 1.升级qumu
      • 2. 准备网络
        • 2.1 添加网桥
        • 2.2 更新主机host网络配置
      • 3. 准备虚拟机系统盘文件和zns盘文件
      • 4.启动虚拟机
        • 4.1 准备启动虚拟机的脚本
        • 4.2 通过vnc 进入虚拟机更改虚拟机IP

1.升级qumu

QEMU 6.0 版开始支持对分区命名空间的模拟。如果主机 Linux 发行版不提供QEMU 6.0 或更高版本,则必须从源代码编译QEMU。

cd qemu-6.0.0
mkdir build
cd build
../configure  --prefix=/usr/  --sysconfdir=/etc
make clean
make -j 16
sudo make install

编译出错时删除

sudo ninja -C build uninstall

2. 准备网络

2.1 添加网桥

brctl addbr br0
brctl  addif br0 eno1

查看网络相关命令

brctl showstp br0
brctl show

2.2 更新主机host网络配置

网络配置如下:

# cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    eno1:
      dhcp4: false
    eno2:
      dhcp4: false
    ens9f0:
      dhcp4: false
    ens9f1:
      dhcp4: false
  bridges:
      br0:
        interfaces: [eno1]
        dhcp4: false
        addresses: [172.20.148.124/24]
        gateway4: 172.20.148.1
        nameservers:
          addresses: [172.20.148.1,8.8.8.8]
  version: 2

3. 准备虚拟机系统盘文件和zns盘文件

cp /var/lib/libvirt/images/ubuntu.raw  /var/lib/libvirt/images/ubuntu20.02.qcow2
truncate -s 20G /var/lib/libvirt/images/zns01.raw
ls -l /var/lib/libvirt/images/zns01.raw

4.启动虚拟机

4.1 准备启动虚拟机的脚本

更新脚本中的网桥bridge,虚拟机系统盘文件vmimg,zns盘文件znsimg,vncNumber:vncNo

c# cat start-vm-0107.sh
#!/bin/sh

#
# Some variables
#
bridge="br0"
vmimg="/var/lib/libvirt/images/ubuntu20.02.qcow2"
znsimg="/var/lib/libvirt/images/zns01.raw"
vncNo="2"

nohup taskset -a 0xffff0  qemu-system-x86_64 
-name guest=yhcubuntu20.02 
-machine pc-q35-5.2,accel=kvm 
-m 16384 
-smp 8,sockets=8,cores=1,threads=1 
-rtc base=utc,driftfix=slew 
-nographic 
-no-hpet 
-global ICH9-LPC.disable_s3=1 
-global ICH9-LPC.disable_s4=1 
-boot strict=on 
-audiodev none,id=noaudio 
-object rng-random,id=objrng0,filename=/dev/urandom 
-msg timestamp=on 
-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 
-netdev bridge,id=hostnet0,br=${bridge} 
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:fa:2d:b9,bus=pci.1,addr=0x0 
-device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 
-blockdev node-name="vmstorage",driver=qcow2,file.driver=file,file.filename="${vmimg}",file.node-name="vmstorage.qcow2",file.discard=unmap 
-device virtio-blk-pci,bus=pci.2,addr=0x0,drive="vmstorage",id=virtio-disk0,bootindex=1 
-device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 
-device virtio-balloon-pci,id=balloon0,bus=pci.3,addr=0x0 
-device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 
-device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.4,addr=0x0 
-device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 
-device nvme,id=nvme0,serial=deadbeef,zoned.zasl=5,bus=pci.5 
-drive file=${znsimg},id=nvmezns0,format=raw,if=none 
-device nvme-ns,drive=nvmezns0,bus=nvme0,nsid=1,logical_block_size=4096,physical_block_size=4096,zoned=true,zoned.zone_size=64M,zoned.zone_capacity=62M,zoned.max_open=16,zoned.max_active=32,uuid=5e40ec5f-eeb6-4317-bc5e-c919796a5f79 
-vnc 0.0.0.0:${vncNo} &

4.2 通过vnc 进入虚拟机更改虚拟机IP

VNC 连接方式:{hostIP}:{vncNo}
如:172.20.148.124:5901
在这里插入图片描述

在这里插入图片描述

更新虚拟机IP ,执行“netplan apply”,示例如下:

# cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    enp1s0:
      dhcp4: false
      addresses: [172.20.148.202/24]
      gateway4: 172.20.148.1
      nameservers:
        addresses: [172.20.148.1,8.8.8.8]
  version: 2

此时,就可以通过虚拟机的IP 连接到 NVMe zns 设备 的虚拟机啦。

最后

以上就是激昂果汁为你收集整理的qume 模拟NVMe zns 设备(Creating an Emulated Zoned Namespace)的全部内容,希望文章能够帮你解决qume 模拟NVMe zns 设备(Creating an Emulated Zoned Namespace)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部