[转]qemu安装虚拟机

转自

https://wiki.ubuntu.com/ARM64/QEMU

https://gist.github.com/george-hawkins/16ee37063213f348a17717a7007d2c79

https://morningd.github.io/2018/01/08/how-to-run-aarch64-ubuntu-server-cloudimg-on-x86-64/

https://www.cnblogs.com/jinanxiaolaohu/p/11003388.html

AArch64上qemu起虚拟机的过程

1.编译安装aarch64的qemu

这里用的是spdk-3.0.0  qemu
Mkdir build && cd build
../configure --target-list=aarch64-softmmu --enable-debug
 make && make install

2.安装qemu-efi

sudo apt-install qemu-efi

生成的文件在 /usr/share/qemu-efi/QEMU_EFI.fd
wget https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd  这个 估计有问题,用上面的!

3. flash0.img为UEFI固件,flash1为UEFI vars 
dd if=/dev/zero of=flash0.img bs=1M count=64
dd if=/usr/share/qemu-efi/QEMU_EFI.fd of=flash0.img conv=notrunc
dd if=/dev/zero of=flash1.img bs=1M count=64

来自 <https://wiki.ubuntu.com/ARM64/QEMU>

4. 下载的image地址 https://cloud-images.ubuntu.com/releases/bionic/release/

5.改密码方法:
5.1.写文件cloud.txt
#cloud-config
password: root
chpasswd: { expire: False }
ssh_pwauth: True
5.2.生成cloud.img
cloud-localds cloud.img cloud.txt

5.3.修改qemu参数:

在boot的driver后面 加上
-drive if=none,id=cloud,file=cloud.img \
-device virtio-blk-device,drive=cloud \

5.4.问题
起qemu后可能起不来,进入shell了,按顺序输入 fs0:  ls   cd EFI/BOOT    ls  
会有BOOTAA64.EFI的文件, 输入该文件  即可
登录   ubuntu:root
解决:【要重新dd两个 flash0.img 和 flash1.img ,改密码后会被污染?? 】

 
#!/bin/bash
taskset -c 2,3 ../qemu-spdk300/build/aarch64-softmmu/qemu-system-aarch64 \
-m 1G \
-smp 2  \
-machine virt,accel=kvm,gic-version=host \
-nographic \
-cpu host \
-pflash flash0.img \
-pflash flash1.img \
-drive if=none,file=bionic-server-cloudimg-arm64.img,id=hd0 \
-device virtio-blk-device,drive=hd0 \
-drive if=none,id=cloud,file=cloud.img \
-device virtio-blk-device,drive=cloud \
-serial stdio \
-nodefaults \
-no-acpi \
-no-user-config \
-display none \
-netdev user,id=user0,hostfwd=tcp::3333-:22 \
-device virtio-net-pci,netdev=user0 \

6.qemu模拟OCSSD

6.1
touch myocssd0-datafile  myocssd0-metadatafile
sudo fallocate -l 384G myocssd0-datafile

#!/bin/bash
./qemu/build/aarch64-softmmu/qemu-system-aarch64 \
-machine virt,accel=kvm,gic-version=host,usb=off \
-cpu host -m 8192 \    #要分配足够大,不然设置hugepage后会out-of-memory
-pflash flash0.img \
-pflash flash1.img \
-nographic \
-drive if=none,file=ubuntu-16.04-server-cloudimg-arm64-uefi1.img,id=hd0 \
-device virtio-blk-device,drive=hd0 \
-drive format=raw,file=myocssd0-datafile,if=none,id=myocssd0 \
-device nvme,drive=myocssd0,serial=deadbeef,lver=2,lba_index=3,lnum_ch=1,lnum_lun=8,lnum_pln=4,lpgs_per_blk=1536,lsecs_per_pg=4,lblks_per_pln=512,lmetadata=myocssd0-metadatafile \
-monitor unix:qemu-monitor-socket,server,nowait \

6.2 登陆虚拟机后:
修改 /etc/default/grub     加上 iommu.passthrough=1 hugepagesz=2M hugepages=2048
sudo update-grub 重启 之后

6.3下载编译spdk
sudo ./scripts/setup.sh
输出  0000:00:02.0 (1d1d 1f1f): nvme -> uio_pci_generic

sudo ./examples/nvme/identify/identify
输出:

Starting SPDK v19.07-pre / DPDK 19.02.0 initialization...
[ DPDK EAL parameters: identify --no-shconf -c 0x1 -n 1 -m 0 --log-level=lib.eal:6 --log-level=lib.cryptodev:5 --log-level=user1:6 --base-virtaddr=0x200000000000 --match-allocations --file-prefix=spdk_pid9915 ]
=====================================================
NVMe Controller at 0000:00:02.0 [1d1d:1f1f]
=====================================================
Controller Capabilities/Features
================================
Vendor ID:                             1d1d
Subsystem Vendor ID:                   1af4
Serial Number:                         deadbeef
Model Number:                          QEMU NVMe Ctrl
·······
Namespace OCSSD Geometry
=======================
OC version:                     maj:2 min:0
LBA format:
  Group bits:                   0
  PU bits:                      3
  Chunk bits:                   9
  Logical block bits:           15
Media and Controller Capabilities:
  Namespace supports Vector Chunk Copy:                 Supported
  Namespace supports multiple resets a free chunk:      Not Supported
Wear-level Index Delta Threshold:                       0
Groups (channels):              1
PUs (LUNs) per group:           8
Chunks per LUN:                 512
Logical blks per chunk:         24576
MIN write size:                 4
OPT write size:                 16
Cache min write size:           16
Max open chunks:                0
Max open chunks per PU:         0

OCSSD Chunk Info Glance
·············

6.4 执行 sudo ./test/ftl/bdevperf.sh 0000:00:02.0
【生成的config是:test/ftl/config/ftl.conf
  [Ftl]
  TransportID "trtype:PCIe traddr:0000:00:02.0" nvme0 0-3 00000000-0000-0000-0000-000000000000

sudo ./test/bdev/bdevperf/bdevperf  -c test/ftl/config/ftl.conf  -q 1 -w randwrite -t 1 -o 69632

7.其他

-monitor unix:qemu-monitor-socket,server,nowait \
启动之后在另一个shell的同一个目录下中: socat - unix-connect:qemu-monitor-socket
info可以看到信息

原文地址:https://www.cnblogs.com/yi-mu-xi/p/12169874.html

时间: 2024-10-20 09:58:52

[转]qemu安装虚拟机的相关文章

KVM之初体验——QEMU安装虚拟机

QEMU简介 QEMU是一款开源的模拟器及虚拟机监管器(Virtual Machine Monitor,  VMM).QEMU主要提供两种功能给用户使用.一是作为用户态模拟器,利用动态代码翻译机制来执行不同于主机架构的代码.二是作为虚拟机监管器,模拟全 系统,利用其他VMM(Xen, KVM, etc)来使用硬件提供的虚拟化支持,创建接近于主机性能的虚拟机. 是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方案. 它包含一个为处理器提供底层虚拟化 

linux下安装虚拟机qemu kqemu

一,为什么要装虚拟机,为什么选择qemu 我的系统里面有3个linux系统,这些系统都是独立的,有的时候,我想一台电脑,能更真实的模拟二台,这个时候我们就可以装个虚拟机.其实如果真的很有钱的话,可能考虑在买一台电脑,这样就不用模拟了.能模拟二台服务器可以做很多事情,比如测试heartbeat等 为什么要选择qemu呢?我的cpu(奔腾系列)不支持完全虚拟化,所以装不了KVM等,先前试着装了xen,但是安装过于复杂,一直没有装成功.qemu安装比较简单,尽量不要把时间放在装机上,或者装虚拟机,浪费

kvm 虚拟化概述及 virt-manager 安装虚拟机

一.KVM定义 基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施. KVM眼下支持Intel VT及AMD-V的原生虚拟技术. 1)是x86架构且硬件支持虚拟化技术(如 intel VT 或 AMD-V)的Linux全虚拟化解决方式. 2)它包括一个为处理器提供底层虚拟化 可载入的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko). 3)KVM还须要一个经过改动的QEMU软件(qemu-

〖Linux〗Ubuntu中使用KVM安装虚拟机

1. 安装软件: sudo apt-get install libvirt0 libvirt-bin libvirt-dev virt-manager qemu-system 2. 配置网桥: # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback # 配置和网桥组合, start auto eth0 iface eth0 inet manual auto br0 iface br0 in

Centos7构建KVM虚拟化平台,并通过KVM安装虚拟机

什么是虚拟化? 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破了物理结构,使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化的优势 减少服务器数量,降低硬件采购成本: 资源利用率最大化: 降低机房空间.散热.用电消耗的成本等: 硬件资源可动态调整,提高企业IT业务灵活性: 高可用性: 在不中断服务的情况下进行物理硬件资源调整: 降低管理成本: 具备更高效的容灾能力. KVM虚拟化 kvm自从Linux2.6.20版本后就

rhel7.2使用lvm安装虚拟机

当前物理机OS为RHEL7.2 本篇文章使用的是物理上的块设备(逻辑卷)来建立kvm虚拟机.这样比使用文件来建立虚拟机的效率要高的多 step1:准备工作 当前物理机的网络配置为:物理机有一个网卡em1,我创建了一个网桥br0,用来作为虚拟机连接到物理机的桥接通道 [[email protected] qemu]# brctl show bridge name    bridge id        STP enabled    interfaces br0        8000.549f35

安装kvm安装虚拟机centos

1 安装阿里云的镜像站 #将原来的镜像备份 cd /etc/yum.repos.d/ mkdir back mv CentOS-Base.repo ./back/ # 安装阿里的镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 2 安装KVM yum install qemu-kvm qemu-img virt-manager libvirt libvirt-pyth

虚拟化管理服务器(手动安装虚拟机,写脚本利用命令安装虚拟机,虚拟机管理+复制+快照)

1.什么是虚拟化管理将linux真实主机里面的一些东西放到虚拟机上面去管理,然后对虚拟,机进行种种管理,其实虚拟机和真机二者功能差不多,只不过真机为操作系统,占用磁盘空间大,虚拟机是一款软件,占用空间少2.为什么要进行虚拟化管理?实际企业中的服务器数量非常多,并且服务器运行起来工作的时候散热量非常大,为了安全起见,就需要大量的制冷装置,制冷的耗电量与服务器的个数相关,为了降低能源消耗,企业应该尽可能的减少服务器的个数,因此在服务器上装上虚拟机,用虚拟机代替其他服务器的部分工作,这样就能减少服务器

自动安装虚拟机之网络安装和pxe安装

####1.kickstart脚本 Kickstart 概述 使用 kickstart, 系统管理员可以创建一个包含安装期间所有常见问题的答案的文件 , 以自动安装 Red Hat Enterprise Linux Kickstart 类似于 Oracle solaris 中的Jumpstart 或 Microsoft Windows 的无人值守安装 kickstart脚本是自动应答系统在安装过程中一切问题的脚本文件 这个文件可以实现系统的自动安装 在系统安装完毕后会在系统的root家目录中生成