实验一·环境安装
安装QEMU Windows不能编译SPDK,还是要装虚拟机
因电脑上没有安装双系统,故选择安装Windows环境下的QEMU。下载最新版本的就可以了。
https://qemu.weilnetz.de/w64/
安装过程参考这篇文章。
https://linuxhint.com/qemu-windows/
windows安装完qemu后查看版本。
|
安装Ubuntu
新建一个用于存放虚拟磁盘文件的目录,并跳转进入。
|
创建一个虚拟磁盘,并且查看磁盘信息。
|
命令解释:
-f qcow2:磁盘格式(format)为qcow2
ubuntu.qcow2:磁盘名称
40G:磁盘的大小
安装Ubuntu
|
命令解释:
-m 8G:分配8G的内存
-smp 2:模拟含有2个CPU的SMP体系(对称多处理系统)
-boot order=dc:先尝试从CD-ROM启动,再尝试从硬盘启动
-hda ./ubuntu.qcow2:虚拟硬盘的文件地址
-cdrom ../ubuntu-22.04.1-live-server-amd64.iso:CD-ROM的地址
SMP是什么:https://www.cnblogs.com/yubo/archive/2010/04/23/1718810.html
所有的CPU共享全部资源,如总线,内存和I/O系统等,操作系统或管理数据库的复本只有一个,这种系统有一个最大的特点就是共享所有资源。多个CPU之间没有区别,平等地访问内存、外设、一个操作系统。操作系统管理着一个队列,每个处理器依次处理队列中的进程。如果两个处理器同时请求访问一个资源(例如同一段内存地址),由硬件、软件的锁机制去解决资源争用问题。
安装完成后,创建一块用于模拟ZNS SSD的虚拟硬盘。
|
启动虚拟机,并且挂载两块硬盘。
|
命令解释:
-name znslab:设定虚拟机的名称是znslab
-m 8G:设定虚拟内存的大小是8G
-smp 4:设定模拟4个CPU的SMP体系
-hda ./ubuntu.qcow2:指出虚拟硬盘(系统盘)的地址
-net user:,hostfwd=tcp:127.0.0.1:7777-:22,hostfwd=tcp:127.0.0.1:2222-:2000 -net nic
:配置用户模式网络,将访问宿主机7777、2222端口的TCP/UDP连接重定向到客户机22、2000端口上
-drive file=./znsssd.qcow2,id=mynvme,format=qcow2,if=none:指出挂载的znsssd硬盘的地址,名称和格式
-device nvme,serial=baz,id=nvme2:添加NVMe设备,其序列号是baz,id是nvme2
-device nvme-ns,id=ns2,drive=mynvme,nsid=2,logical_block_size=4096,physical_block_size=4096,zoned=true,zoned.zone_size=131072,zoned.zone_capacity=131072,zoned.max_open=0,zoned.max_active=0,bus=nvme2:为了支持多个命名空间,需要添加nvme-ns设备
设备ID是ns2
节点名称叫mynvme
namespace id为2
逻辑块大小为4096(512B)
物理块大小:4096
后面5个参数和ZNS特性有关。
zone_size:zone大小
zone_capacity:zone容量。若设置为0,zone容量等于zone大小
max_open:最大打开的资源数目,为0允许所有zone都打开
max_active:最大有效的资源数目,为0允许所有zone都有效
bus:将namespace关联到nvme2设备
查看是否已经识别到nvme设备。
接下来安装nvme-cli。
|
用nvme cli命令查看zns ssd设备信息
尝试在云服务器上重新配置
宣告失败:云服务器配置太低,500M有点勉强
由于Windows平台上的种种不确定性,为了安全起见,我又在自己的云服务器上重装了一遍。
再次尝试虚拟机
由于直接用有问题,尝试用xshell连接。参考
https://blog.csdn.net/m0_38131863/article/details/121113603
Xshell登录
为了方便操作,我使用Xshell远程登陆云服务器,但是这样就没有图形界面了。切换到home目录,按照步骤重新下载。
安装QEMU
云服务器的好处在于不用手动换源,内置的源就是国内的。
下载安装包(通过apt等方式下载可能版本太旧):
|
解压
|
在编译之前,如果没有安装make工具,要先安装。
|
此外,可能需要安装以下工具。
|
安装完后,进入qemu文件夹,执行以下命令。
|
注意:由于只有命令行,需要先安装SDL服务和VNC viewer,再编译安装QEMU。
|
这段过程需要花很长的时间,最后查看是否安装成功。
|
出现版本号即成功,下面开始安装虚拟机,过程和上面windows大体相同,可惜使用的服务器不支持kvm优化。
下载镜像
下载本次实验需要的ubuntu镜像,注意下载后改名。
|
安装Ubuntu
内容和之前相似。
|
注意:如下报错说明没有这么大的内存。我的服务器内存只有1GB。
|
注意:由于Xshell不能VNC连接新窗口,最好需要下载全套Xmanager,参考https://blog.csdn.net/qq_30540299/article/details/126953024。
注意:重启要开启ssh服务。
|
开启kvm参考
https://blog.csdn.net/qq_35395195/article/details/125382505
开机挂载修改为2G内存
|
尝试无界面启动,便于粘贴命令
先正常启动后修改GRUB参数sudo vim /etc/default/grub
在GRUB_CMDLINE_LINUX=""中添加console=ttyS0
更新GRUB:sudo update-grub
在QEMU启动参数中添加-nographic
在当前QEMU虚拟机中Quit后用加入-nographic参数的启动命令重新运行虚拟机即可
以 -nographic 启动的虚拟机退出时直接关机 sudo shutdown now 即可。也可以强制退出:键盘按 CTRL + A 然后按 x
开机参数:
|
退出时关机:sudo shutdown now 强制退出:键盘按 CTRL + A 然后按 x
标签:zone,zoned,安装,ubuntu,环境,实验,qcow2,qemu,id From: https://www.cnblogs.com/hushrush/p/16882194.html