Ubuntu+Xen+Virt-manager创建全虚拟机化虚拟机(HVM)方法大合集
环境安装Xen使用virt-manager安装Xen虚拟机检查libvirtd服务状态安装其他工具安装ssh背景知识安装root密码创建Xen虚拟机查看虚拟机状态参考博客(所有方法汇总)出现问题+解决方法没有了解的问题环境
在主机安装Ubuntu。
没有分区,没有预留磁盘。是不是很傻瓜~所以本文的方法,放心使用吧。
排雷:对相关知识了解比较少,仅做参考。欢迎补充。
安装Xen
只需要一句命令,系统会安装适合的Xen
sudo apt-get install xen-hypervisor
使用以下命令将后续需要的工具一并安装。
sudo apt-get install virtinst virt-viewer virt-manager
xl list #查看各个域状态
xl shutdown xentest #关闭xentest这个虚拟机
xl start xentest #启动xentest这个虚拟机
xl console xentest 连接xentest控制台,连接到虚拟机上面可以用组合键 ctrl + ] 键切换到物理机
xl destroy - Stop a virtual machine immediately without shutting it down. It’s as if you switch off the power button.
使用virt-manager安装Xen虚拟机
检查libvirtd服务状态
systemctl status libvirtd
图参考别人
安装其他工具
安装ssh
如果之前没有安装过,那么就需要ssh来进行远程连接。
背景知识
OpenSSH的分为客户端和服务端两部分
Clients端的配置文件:/etc/ssh/ssh_config
Server端的配置文件:/etc/ssh/sshd_config
Server端服务脚本:/etc/rc.d/init.d/sshd
OpenSSH在Linux系统中默认是安装并启动的
openssh 主要的关键包有四个
openssh.x86_64 5.3p1-104.el6 //服务端和客户端的公共组件
openssh-askpass.x86_64 5.3p1-104.el6 //
openssh-clients.x86_64 5.3p1-104.el6 //客户端安装包
openssh-server.x86_64 5.3p1-104.el6 //服务端安装包
更详细的知识
安装
先验证是否能ssh
ssh localhost
如果ssh显示:ssh connect to host localhost port 22: Connection refused。出现这个问题是因为Ubuntu默认没有安装openssh-server。再试一下:
ps -e|grep ssh
如果只有agent,说明没有安装openssh-server。接下来就来安装openssh-server,顺便把openssh-askpass安装了
sudo apt-get install openssh-server openssh-askpass
再用下面的命令验证一下,如果有server就说明安装好了。
ps -e|grep ssh
如果出现**you need to install openssh-askpass or simliar …**问题,安装askpass。
sudo apt-get install ssh-askpass ssh-askpass-gnome
接下来修改/etc/ssh/sshd_config配置文件
sudo gedit /etc/ssh/sshd_config
—PermitRootLogin prohibit-password 改为 yes。
—PubkeyAuthentication yes 改为 no
—PasswordAuthentication no 改为 yes
最后重启
sudo /etc/init.d/ssh restart
root密码
如果你还没有给root设置密码,请设置一下,远程连接到root需要密码
sudo passwd root
创建Xen虚拟机
打开virt-manager界面
virt-manager
提前给点建议:如果你的宿主机上安装的xen,然后再用virt安装虚拟机,那么没有关系,只需要保证virt的虚拟机内存8G以上。但是如果你在VMware上的虚拟机里安装xen(50G可能够),然后再虚拟机里再用virt安装虚拟机(8G以上),注意你VMware创建的虚拟机磁盘大小,因为虚拟机里的虚拟机也还需要8G呢,默认的20G需要注意。如果创建的磁盘不够,那么有两种解决方法:(1)扩充磁盘,在VMware的设置里找,但是还需要在虚拟机中再分区等各种操作(2)重新创建虚拟机:右键虚拟机-管理-删除虚拟机。
连接Xen虚拟化,点击File->Add Connection,选择Xen,如下图配置,其中Hostname填入Xen虚拟化所在服务器IP
这个过程如果出现问题,请到下方,出现问题+解决方法,去查询。
创建虚拟机,右键Xen:localhost->New打开创建页面,选择指定的安装方式。本问采用Local install media(ISO image or CDROM),此方法需要实现下载好镜像文件ios。
选择使用ISO镜像。选择你镜像存放的位置。
如果你点击浏览的时候,看到的是如下选择:左侧的加号创建存储池,右边加号是创建存储卷。存储池和存储卷的知识点,自行再去了解。
使用自己下载的iso,有两种方法:(1)选择本地浏览:从上图中,选择右下角的本地浏览。(2)因为远程链接可能将iso放到defualt存储卷所在的位置,可以从“位置”那里看到,如上图中“var/lib/libvirt/images”,这样就可以选择了。
不管怎样最后一定要是如下图:
然后设置内存大小和cpu个数等
查看虚拟机状态
参考博主链接
通过virt-manager查看,可以查看到虚拟机的名称、是否启动状态等信息。
通过virtsh命令查看,输入以下命令进入虚拟机命令行
virsh
可以使用help查看相关命令。比如输入以下命令查看虚拟列表及状态
virsh list --all
参考博客(所有方法汇总)
Xen on Ubuntu这篇我在做的时候,做到了“本地Http站点搭建和系统安装镜像的挂载”这一步,但并没有采用后面那种方式创建虚拟机,但有需要的朋友可以参考一下,多一条通往罗马的道路。笔记本ubuntu安装xen之殇,这篇博客,是讲笔记本安装的一点点问题,我主要记录的是作者建议“使用笔记本安装xen时,个人认为BIOS启动模式最好使用leagcy,另外ubuntu16.04安装后启动紫屏,可能是兼容性不好,14.04就没有这个问题,另外ubuntu安装后默认使用集成显卡,可以尝试安装nvidia驱动,但是使用集成显卡来解决问题。”Ubuntu上Xen的快速部署,,方法比较老,(1)有xen安装(2)虚拟机安装:方法一,直接安装,用配置文件;方法二,xen-create-image。需要创分区,了解一些参数。Ubuntu系统下Xen虚拟机的基本安装方法(代码创建),同上。半虚拟化,需要比较多的操作,全虚拟化的虚拟机比较方便,这篇创建HVM的方法也是需要配置文件。Xen文档,有半虚拟化,全虚拟化,的创建方法。创建卷组VG:由于创建虚拟机的方法中,都创建新分区,所以对这部分进行了一定了解。整个过程分为“分区–>建物理卷PV–>建卷组VG–>建逻辑卷LV”。然而我的系统在安装的时候并没有分区,所以,做不了分区,只能考虑虚拟机磁盘的方法,其实就是把一个文件夹当做一个虚拟磁盘。配置文件:,这篇对配置文件做了注释,可以学习一下。对XEN中HVM虚拟机的一些理解:,这篇大部分也是对配置文件的解释,更加详细。Ubuntu 11.10中用xen-tools安装虚拟机:我没有很理解。网桥配置:我按照这个方法做的,不知道在我的整个过程中有什么影响,先记录下来,如果你在我的方法中出现了一些无法解决的问题,那么就尝试做一下这个网桥配置。这篇博客中,主要还是要分区和配置文件。使用virt-manager安装Xen虚拟机:重点!重点!重点!主要参考的是本篇方法。在该方法中,使用virt-manager工具,其中Network Install,是把自己的ISO文件放在本地,做成HTTP服务形式,可以使用http://localhost/ISO方式去访问。与我的方法有些许不一样。存储池和存储卷的知识点。出现问题+解决方法
问题:ubuntu “sudo xm list” 出现ERROR: A different toolstack (xl) have been selected!解决:xm是老版本的,xl是新版本的工具栈问题:virt-manager连接xen出现连接不上
解决:(1)在xen安装成功的前提下,可以先判断下以下情况是否正常。如果是VMware下多台主机之间进行安装的话,建议使用桥接并设置静态IP 1、先判断安装xen的主机ip是否能ping通 2、查看libvirtd服务是否正常启动。(2)问题: 如何查看服务器对外的IP
解决:/ip问题:Ubuntu 安装配置SSH(ssh: connect to host localhost port 22: Connection refused问题的解决)
解决:安装openssh-server,
sudo apt-get install openssh-serverps -e|grep ssh
ssh connect to host localhost port 22: Connection refused。解决:安装ssh-server问题:ssh远程连接服务器报错 Permission denied (publickey,password)
解决:需要修改服务器的配置文件/etc/ssh/sshd_config,保存后重启sshd服务即可。修改要连接的linux服务器下的/etc/ssh/sshd_config目录
—PermitRootLogin prohibit-password 改为 yes。
—PubkeyAuthentication yes 改为 no
—PasswordAuthentication no 改为 yes
最后sudo /etc/init.d/ssh restart问题: Permission denied (publickey,password)
解决:这里可能因为没有给root设置密码,我采用的方法是给root设置密码了,但我现在想,是否在链接的时候,不输入密码就可以了呢?
sudo passwd root
问题:“Couldn’t find hvm kernel for Ubuntu tree.”
解决:修改py文件,将文件中默认的arch=i386改为amd64。可能该方法是针对以前比较老的文件的方法,现在py文件中都有amd64,所以该方法对我并没有用。所以,如果你遇到这个问题,链接里的方法没法解决,我也没有搜到解决的方法。问题:you need to install openssh-askpass or simliar …
解决:我安装openssh-server没用,然后我安装oppenssh-askpass(安装出错,未去了解)。最后用的是如下方法,也没有出现Permission denied (publickey,password)上述5和6的问题。【其实这个是我在VMware重新走一遍安装流程,这个过程中遇到的问题】
sudo apt-get install ssh-askpass ssh-askpass-gnome
问题:libxenlight state driver is not active
解决:重启,选择xen
10.问题: