本地虚拟机FEMU搭建ZNS SSD并在云服务器上运行

由于云服务器上不支持GUI,无法直接在云服务器上搭建自己的VM image。一种可行的方法是,在本地vmware ubuntu虚拟机(带图形界面)上搭建VM image,再搬运到云服务器上运行。

1. 环境准备

femu直接按照github上的指示配置。

如果 ./femu-compile.sh 编译安装femu的时候报错

*** Ouch! ***
Python's ensurepip module is not found.
It's normally part of the Python standard library, maybe your distribution packages it separately?
Either install ensurepip, or alleviate the need for it in the first place by installing pip and setuptools for '/usr/bin/python3'.
(Hint: Debian puts ensurepip in its python3-venv package.) 
ERROR: python venv creation failed
make: *** No targets specified and no makefile found.  Stop.
===> FEMU compilation done ...

则需要安装python3-venv,再运行.sh文件。

sudo apt-get install python3-venv

首先,确定自己的vmware上的虚拟机处理器打开了虚拟化Intel VT-x/EPT……选项,如果无法打开,参照下面的链接解决虚拟机VM-开启 虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI(V) 后 电脑蓝屏重启 或显示此平台不支持虚拟化的问题 (Win10)_虚拟化inteltv-xept或amd-vrvi-优快云博客

2. 本地虚拟机上QEMU搭建虚拟机系统

参照官网或者下面的博客搭建。

https://github.com/MoatLab/FEMU

安装FEMU,并使用FEMU模拟SSD黑盒、OCSSD、NoSSD。-优快云博客

qemu-system-x86_64 -cdrom ubuntu-20.04.3-live-server-amd64.iso -hda femu.qcow2 -boot d -net nic -net user -m 8192 -localtime -smp 8 -cpu host -enable-kvm

注意,上面两个文章中的以上指令不能直接使用,需要把-localtime删除。里面的内存一定不能改小,否则很可能在gui里面闪退。

进入gui后按照流程正常走就行,到installation complete后直接关闭GUI。

如果使用指令

qemu-system-x86_64 -cdrom ubuntu-22.04.5-live-server-amd64.iso -hda femu.qcow2 -boot d -net nic -net user -m 8192 -smp 8 -cpu host -enable-kvm

的时候报错,

ent/lib/x86_64-linux-gnu/libpthread.so.0: undefined symbol: __libc_pthread_i

很可能是因为没有加sudo。

打开虚拟机后,会进入虚拟机的cmd界面,在里面按照官方github的要求修改/etc/default/grub文件,注意前面没有井号注释掉

GRUB_CMDLINE_LINUX="ip=dhcp console=ttyS0,115200 console=tty console=ttyS0"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"

然后更新grub,关机,至此官方的qemu虚拟机搭建完成。

sudo update-grub
sudo shutdown -h now

3. 服务器上跑

首先需要把磁盘images文件转移到云服务器上去(也可以先在本机上实验)

可以先把images文件(.qcow2后缀)压缩,利用ssh服务传到云服务器,再解压。(我使用的是gzip)

首先找到.sh文件的位置是在femu/build-femu里,其次需要修改.ssh文件里面的OSIMGF里虚拟磁盘文件的名字,如果按照官方的创建,名字是femu.qcow2,但是.sh文件里面是u20s.qcow2

运行之后等待一会儿就会在主机的终端里出现控制虚拟机的cmd。

之后就可以在该搭载有ZNS SSD的虚拟机里克隆RocksDB等仓库使用了。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值