文章目录

  • 环境
  • Xen安装过程
  • Xen PV镜像构建
  • 网络问题记录
    • 连接Domain0和Domain1的背景设置
  • 其他的可能发生的问题
  • 常见命令参考
  • 参考

环境

笔记本,无限网络连接。安装后Domain0下观察,具体信息如下:

Xen安装过程

在原始系统上一行命令将解决。

sudo apt install xen-hypervisor-amd64

重启之后xl list查看虚拟机状态

sudo xl list

可以看到Domain0的信息,这里就算是安装完成了。

Xen PV镜像构建

Xen支持HVM(硬件支持下的全虚拟化),PV(半虚拟化), PVH(HVM全虚拟化下的PV优化),HVM有依赖qemu的支持。Xen的特色虚拟化就是它的PV了,这里概述下过程。

与《使用xen-tools在Ubuntu18中安装Xen PV 虚拟机》过程类似。以下过程做一些补充。

首先需要准备一些空闲的磁盘区域,如果没有空闲分区了, 可以用系统自带的有GUI的Disks进行Resize,下图是我的磁盘状态partition5挂载的是Ubuntu的/目录,6是swap,7 8 是创建出给DomainU 的LVM分区。

lvm的文件系统更为灵活,类似于内存页表,将底层物理磁盘PV(Physical Volume)空间划分为PE(Physical Entry),接下来需要将PE组合起来成为VG(Volume Group),成为VG后可以作为虚拟机的磁盘分区。

这里假设你已经完成了空闲空间的创建,开始创建lvm空间。

首先确定自己空闲的磁盘,我这里Disk上显示的很清楚可,是/dev/sda上有空闲。

fdisk /dev/sda
n #开始创建新空间
分区编号:直接enter编号
询问分区开头位置:直接enter(紧跟前一个分区结束扇区)
+20G #分配20G空间
t #改变分区格式
31 #设置为lvm格式
w #保存退出

eg:如下图,创建了分区9,最后不保存的话按q,不要输入w。
到了这里就可以根据LVM分区创建VG了。

sudo pvcreate /dev/sda9     #创建PV,PE
sudo vgcreate vg0 /dev/sda9 #vg0 是vg的名字

至此空间的事情完成。

这里也采用《使用xen-tools在Ubuntu18中安装Xen PV 虚拟机》的方法使用xen-tools创建及启动,直接记录命令过程,/etc/xen-tools/mirrors.conf里可以设置镜像源。

sudo apt install xen-tools
sudo xen-create-image --hostname=pvGuest0 --memory=1024mb --size=20Gb --vcpu=1 --lvm=vg0 --dhcp --pygrub --dist=xenial #创建镜像

创建过程出现了问题主要查看/var/log/xen-tools/pvGuest0.log,个人实现中发现镜像源的目录层级如果不与官方的一致,也会出问题,所以尽量用《使用xen-tools在Ubuntu18中安装Xen PV 虚拟机》提到的镜像源。

sudo xl create -c /etc/xen/pvGuest0.cfg #启动

到了这里就安装启动成功了。

网络部分的设置主要设置**/etc/network/interfaces**,继续参考《使用xen-tools在Ubuntu18中安装Xen PV 虚拟机》,本文的无线网卡无法桥接到网桥。
ubuntu20.04已经不在networkscripts里面修改网卡信息了,主要在interfaces里,贴一下interfaces的信息

auto lo
iface lo inet loopbackauto wlp2s0
iface wlp2s0 inet dhcpauto xenbr0
iface xenbr0 inet dhcpbridge_ports wlp2s0

wlp2s0是无线网卡, xenbr0是网桥,他应该连接到wlp2s0上,但是不成功,networking服务也会因xenbr0启动失败。如果想启动成功,只好删除掉xenbr0。

网络问题记录

本机采用无限网卡上网,由于无线网卡不允许在局域内广播,所以它是无法桥接的[^2]。如果无线网卡支持WDS(4addr)的或许可以成功,这里可以参考askubuntu论坛里的一个问题《How to bridge a wireless interface with another wireless interface (both on the same computer)?》通过iw命令可以测试

iw phy0 info

可以用grep检查下有没有4addr,WDS,如果没有那应该跟我一样,无法桥接了。

xenbr0可以跟domianU的vif接口连接成功,但是无法启动networking,brctl显示添加也会提示操作不成功。

$ sudo brctl addif xenbr0 wlp2s0
can't add wlp2s0 to bridge xenbr0: Operation not supported

连接Domain0和Domain1的背景设置

  • Domain0 IP: 192.168.199.122/255.255.255.0
    Domain0 interfaces配置
auto lo
iface lo inet loopbackauto wlp2s0
iface wlp2s0 inet dhcp#auto xenbr0(为实现networking的)
#iface xenbr0 inet dhcp
#   bridge_ports wlp2s0

ifconfig 信息如下:

  • Domain1 IP: 192.168.199.123/255.255.255.0
    具体信息如下

    网桥xenbr0: 192.168.199.xx,xenbr0正常(btctl show)。

    Domain0和Domain1的networking服务必须都正常运行。

    最后的效果:采用网桥连接后,Domain0/1无法上网,可以互相ping通。把网桥地址随便改变后(不在同一子网),Domain0可以重新上网,Domain之间无法ping通。

其他的可能发生的问题

  1. 系统启动的时候raise network interface 5min,等待太久,调整networking服务的配置信息[^4],
vi /etc/systemd/system/network-online.target.wants/networking.service

调整里面TimeoutStart,这里不要调太小了,比如几秒,否则就是真的timeout导致设备无法加载启动了。

  1. 【未解决】LSB: Xen-daemon 启动失败
    通过systemctl status xen查看得到由于qemu-system-i386的一个操作不支持导致Xen-daemon无法启动,这个问题还**没有找到**解决办法。

常见命令参考

LVM:

# 信息查看
sudo vgs # volume group的信息
sudo pvs # physical volumes的信息# 创建
sudo pvreate
sudo vg create

xen,xen-tools:

# 查看创建过得PV镜像(xen-tools)
sudo xen-list-images# 根据描述文件启动PV(xen)
sudo xl create -c /etc/xen/pvXXX.cfg

网络

sudo brctl show #显示网桥
sudo brctl addbr xenbr0     #创建网桥xenbr0
sudo brctl addif xenbr0 eth0 #连接eth0到网桥xenbr0
sudo ifconfig xenbr0 up   #启动xenbr0
sudo ifconfig xenbr0 down #关闭xenbr0
sudo ifconfig eth0 192.168.199.123 netmask 255.255.255.0 #临时设置ip# systemd服务查看
sudo systemctl restart networking
sudo systemctl status networking
sudo systemctl start networking# 修改服务配置文件后,重新加载
sudo systemctl daemon-reload

参考

  1. 使用xen-tools在Ubuntu18中安装Xen PV 虚拟机
  2. 在Ubuntu上将Wifi桥接到以太网无法正常工作
  3. How to bridge a wireless interface with another wireless interface (both on the same computer)?
  4. debian:A start job is running for Raise network interfaces(ns/5min 3s)
  5. Xen Project Beginners Guide

Xen pv实践及问题记录相关推荐

  1. KubeEdge 实践过程的记录

    本文记录KubeEdge实践的一些记录,包括疑问和解决方案.本文不定时更新. 杂项 编译kubeedge,内存为2GB会出错,4G正常. 同一个pod导出节点端口相同,扩容会不成功,因为节点端口已被占 ...

  2. 《测试驱动开发应用实践》讨论记录

    <测试驱动开发应用实践>讨论记录 Design & Pattern团队第二次交流会 主题:测试驱动开发应用实践 日期:本周星期五(2005年1月7日)晚20:00--21:00 地 ...

  3. 学科实践活动感悟50字_学科实践活动写实记录50字范文

    很多同学都需要写学科实践活动的记录,那么学科实践记录应该怎么写?大家一起来看看吧. 学科实践记录范文 孔子云:"知之者不如好之者,好之者不如乐之者."学生语文能力的发展很大程度上决 ...

  4. VCS-数字逻辑仿真工具实践(听课记录)

    前言: 参考视频:仿真工具实践VCS视频教程 零.Verilog Simulation Event Oueue VCS对verilog模型进行仿真包括两个步骤: 编译verilog文件成为一个可执行的 ...

  5. 阿里云实践项目作业记录

    文章目录 说明: 第一天(0803): 第二天(0804): 1. 安装MidwayJs 2. f create新建项目 3. 安装依赖 4. invoke输出 5. 在输出中添加自己的名字 第三天( ...

  6. 「SVN」Linux下svn命令使用的实践,个人记录~=傻瓜教程

    前提 从服务器上checkout项目到本地目录的时候,项目存放的位置就是当前终端所显示的目录位置,所以最好的方法是建立一个单独的svn文件夹(例如:建立一个名为"svn"的文件夹, ...

  7. appium的三种等待方式 (还没实践过,记录在此)

    参考:https://testerhome.com/topics/2576 转载于:https://www.cnblogs.com/kaibindirver/p/8487039.html

  8. mpvue实践踩坑记录

    1.所有页面的created钩子函数在小程序打开时会全部执行 改用mouted钩子 2.v-html 替代方案 mpvue-wxparse //Html <wxParse :content=&q ...

  9. 【ROS】科大讯飞语音SDK+Ubuntu16.04 + kinetic 实践报错记录及解决方案(1):cannot find -lmsc

    前言 这段时间在ubuntu 16.04 kinetic上想要实现语音助手的功能,经过搜索相关ROS语音交互相关资料发现有很多方案,如pocketsphinx这是国外的语音功能包,能够实现语音识别的功 ...

最新文章

  1. sql server--优化
  2. Power Shell 使用图解2
  3. Spark入门(十六)之分组求TOP N最小值
  4. 程序员常对产品经理说的话
  5. 拉斯维加斯算法结合八皇后问题
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的音乐播放系统
  7. cuda stream
  8. innerHTML和outerHTML的区别
  9. php算法求出一个数可以被分解成多少个_小学数学必考的34个数学重难点公式,赶紧给孩子收藏!...
  10. Unity的属性注入
  11. 你在 Docker 中跑 MySQL?恭喜你,可以滚了!
  12. mysql手机号段地区库_最新全国手机号段归属地数据库下载(mysql+xlsx+txt格式)46万条...
  13. Java开发实习生面试—附简历以及面试题
  14. wav音频文件转换为sbc音频文件
  15. 有名管道与无名管道之间的区别
  16. QT中修改图标(图片)颜色
  17. 《三重门》作者的机灵与人物的笨拙
  18. 微信小程序清除Webview缓存
  19. DAX Calculate的使用说明
  20. 《周志明的软件架构课》学习笔记 Day6

热门文章

  1. Mysql锁机制及原理简析
  2. 什么是边框回归Bounding-Box regression,以及为什么要做、怎么做
  3. 如何重装电脑系统win7系统教程
  4. 郎朗讲述知乎开课初衷:无法忍受其他粗制滥造内容
  5. PSO优化LSTM做时间序列的预测,优化的是隐藏层单元数目,批处理大小,时间窗口大小
  6. 转 《JVM HeapSize Permsize》
  7. linux查看客户端连接,MySQL—Linux查看客户端连接信息(连接数、进程等)
  8. 韦东山:嵌入式Linux学习路线图
  9. 哔哩哔哩弹幕网站大数据分析研究动态
  10. 【php毕业设计】基于php+mysql+smarttemplate的图片共享系统设计与实现(毕业论文+程序源码)——图片共享系统