libvirt virt-manager
来源:互联网 发布:软件管理器下载 编辑:程序博客网 时间:2024/06/06 20:38
CentOS 6 的 Xen4 Libvirt
And then virt-manager window will show up on your graphical desktop.
If this is the first time you have brought up virt-manager, you need to connect to your Xen instance :
- click on "File"
- click on "Add Connection"
- select "Xen" as the Hypervisor
- if the virt-manager is not running on the same machine as xen : check "Connect to remote host" and fill in the connection information.
- check Autoconnect
- click on "Connect" button
Now you should see "xen" tree with installed domains.
Contents
- CentOS 6 的 Xen4 Libvirt
- Libvirt 及 Xen 的基础
- 先决条件
- 安装 libvirt(在 Dom0 机器上)
- 远程访问 LibVirt
- 通过 PolicyKit 控制 libvirt 的访问权
- 设置 libvirt 供群组访问
- 连接到远程的 Dom0
- 从远程机器通过 virt-manager 连接到 Dom0 机器
- 从远程机器通过 virsh 连接到 Dom0 机器
- 通过 PolicyKit 控制 libvirt 的访问权
- 创建 DomU 虚拟机器
- 利用 virt-manager 来安装 DomU
- 通过 SSH 利用 virt-install 来安装 DomU
- 控制 DomU 虚拟机器
- 桥接样例设置
Libvirt 及 Xen 的基础
Xen 的主机操作系统称为 Dom0。通过 Xen 来执行的虚拟操作系统(VM)称为 DomU。
在缺省情况下,libvirt 会在缺省网络卡(一般是 eth0)背后创建一个 192.168.122.0/24 的 NAT 网络。
在这个 NAT 网络上运行的 DomU VM 可以互相连接及通过 Dom0 的网络向外连接,但你只能在 Dom0 上通过 libvirt(或 xen)连接到它们。你可以把缺省的 NAT 网络改为一个桥接式网络,这样你便能连接到 DomU VM,仿如它们与 Dom0 在同一个实体网络上。有关桥接的讨论收录在下文(第 7 部份)。
先决条件
此页假设你已经遵照Xen4QuickStart 指引把 Xen 内核安装在你的 Dom0 机器上,并启用了 xend 后台服务,而 xm info 这个指令作出类似的汇报:
[root@xentest1 ~]# xm infohost : xentest1.centos.orgrelease : 3.4.46-8.el6.centos.alt.x86_64version : #1 SMP Wed May 22 01:29:08 UTC 2013machine : x86_64nr_cpus : 1nr_nodes : 1cores_per_socket : 1threads_per_core : 1cpu_mhz : 2800hw_caps : 078bf3ff:efd3fbff:00000000:00001310:00802001:00000000:000837fd:00000000virt_caps : hvmtotal_memory : 8109free_memory : 6992free_cpus : 0xen_major : 4xen_minor : 2xen_extra : .2-22.el6xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 xen_scheduler : creditxen_pagesize : 4096platform_params : virt_start=0xffff800000000000xen_changeset : unavailablexen_commandline : dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=allcc_compiler : gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)cc_compile_by : mockbuildcc_compile_domain : centos.orgcc_compile_date : Fri Jun 14 23:47:38 UTC 2013xend_config_format : 4
除非特别指定,所有指令均须由 root 用户在 Dom0 机器上执行。
我习惯在最少安装上加入数个组件,因为它们稍后也许会有用。请以此指令安装它们:
yum install rsync wget vim-enhanced openssh-clients
安装 libvirt(在 Dom0 机器上)
首先我们要安装 libvirt 所需的基本组件:
yum install libvirt python-virtinst libvirt-daemon-xen
安装后,请重新引导你的 Dom0 机器。
远程访问 LibVirt
在多数情况,下我们不推荐在 Dom0 服务器上安装整套图像化系统,因此多数人会从远程访问/控制 Dom0 libvirt。
你有 2 个可取的途径 …… 其一是通过一台图像化机器(例如一台 CentOS-6 工作站),其二是通过 ssh 应用 virsh 命令行程序。
通过 PolicyKit 控制 libvirt 的访问权
如果你想将一台 CentOS-6 工作站连接到 Dom0 上的 virt-manager 并控制该台计算机上的 DomU 虚拟机器,你便需要利用 PolicyKit。当你利用某台机器上的 virsh 终端機直接连接到 Dom0 及控制它的 DomU 虚拟机器时,PolicyKit 也会被应用。
PolicyKit 让你设计有灵活性、精细的访问权,功能远超㙎本样例所介绍以 unix 群组授权访问 libvirt 的做法。
如要设计复杂的访问权,请参阅 polkit 的文档
设置 libvirt 供群组访问
若要把访问权授予某个 unix 群组的成员,我们只须创建一个 PolicyKit 本地权限档。
这是一个纯文本档,一般被放置于这个目录中:
/etc/polkit-1/localauthority/50-local.d/
你可随意为这个文件命名,但它必须以两个数目字起首及以 .pkla 结尾。例如:
/etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla
它的内容应包含:
[Remote libvirt SSH access]Identity=unix-group:group_nameAction=org.libvirt.unix.manageResultAny=yesResultInactive=yesResultActive=yes
你应该以合适的群组名称取替 group_name。
举个例说:你拥有一位名为 johnny 的 unix 用户,而你希望创建一个名为 remote-libvirt 的群组来远程访问 libvirt,并把 johnny 加进该群组内。
首先我们要通过 ssh 登录 Dom0 机器并取得 root 的身份。接着我们便执行以下指令来创建新的群组:
groupadd remote-libvirt
然后我们可以用这个指令把用户加进 remote-libvirt 这个群组内:
usermod -G remote-libvirt johnny
现在 johnny 这个 unix 用户可以远程控制 libvirt。
连接到远程的 Dom0
从远程机器通过 virt-manager 连接到 Dom0 机器
请登录你的图像化桌面(它可以是台 CentOS-6 工作台或是一台用来管理数台非图像化 Dom0 机器的图像化服务器),然后通过打开一个终端機窗口及以 root 身份执行以下指令,确保 virt-manager 已被安装:
yum install virt-manager
以普通用户的身份打开 virt-manager。你可利用 Applications => System Tools => Virtual Machine Manager 这条捷径,或从终端機窗口输入 virt-manager。
在 virt-manager 应用程序内,打开 File => Add Connection 选单项目,接着选择 Xen 作为监督器,选用 connect to a remote host,选择 SSH 作为方法,输入你加进 remote-libvirt 群组内的用户(在这个样例中是 johnny)作为用户名称,最后输入 DomU 的主机名称或 IP 地址(这我的样例中,我们会采用 192.168.0.5)…… 然后点击 connect。
它会问 johnny 在 DomU 上的 ssh 用户名称 …… 输入后,你便会看见它连接到主机及在 virt-manager 内看见一个 Domain-0 的图示。
这个例子中的 URI 是:
xen+ssh://johnny@192.168.0.5
从远程机器通过 virsh 连接到 Dom0 机器
你在 Dom0 上利用 virsh 控制 DomU 虚拟机器的做法有两种。
第一种是纯粹 ssh 到 Dom0 机器,然后成为 root 用户及从命令行执行 virhs。
第二种是采用上述例子的群组然后执行以下指令:
virsh -c xen+ssh://johnny@192.168.0.5
这种做法的好处就是我们无须把 Dom0 的 root 访问权发放给 johnny 用户,他只须正常帐户。他同样能应用 virsh 的一切功能。
有关 virsh 的详情,请参阅这份指南
创建 DomU 虚拟机器
利用 virt-manager 来安装 DomU
现在你可以在 virt-manager 内选择新的主机名称/IP 地址,然后按鼠标右键并选择 New 或点击 Create a new Virtual Machine 的图示,接着按照提示来创建新的机器。
这个过程在远程及本地连接下都相同 …… 唯一差别就是 Step 1 of 5 提示页上的 Connection 对话框。
安装新机器的过程与此指南很相似,唯独在 Step 1 of 5 提示页上的连接将会显示你的远程主机名称(在我们的样例中是 192.168.0.5),而在 Step 5 of 5 提示页的高级选项的 Virt Type 内,你会看见xen(paravirt) 或 xen(fullvirt) 而不是 KVM。
通过 SSH 利用 virt-install 来安装 DomU
另一个进行远程安装的方法就是利用 ssh 连接到 Dom0 机器及成为 root 用户,然后利用 virt-install 及终端機来人进行安装。以下指令(以 root 身份在命令行执行)可以从远程进行文字模式的安装:
virt-install -d -n TestVM1 -r 2048 --vcpus=1 --disk /var/lib/libvirt/images/TestVM1.img,size=8 --nographics -p -l "http://192.168.0.10/centos/6.4/os/x86_64" --extra-args="text console=com1 utf8 console=hvc0"
在上述例子中,指令的含意包括:
-d — 侦错模式,打印大量文字及完整的设置样作侦错之用
-n TestVM1 — 虚拟机器的名称
-r 2048 — 内存大少(2048 MB,即 2 GB)
--vcpus=1 — 虚拟 CPU 的数量
--disk=/var/lib/libvirt/images/TestVM1.img,size=8 — 碟盘映像的位置及以 GB 计算的大少 …… 它可指向 LVM、等
--nographics — 由于我们的 Dom0 没有安装图像界面,因此不要采用 VNC、等
-p — 采用半虚拟化
-l "http://192.168.0.10/centos/6.4/os/x86_64" — centos 目录树的位置,也可采用 http://mirror.centos.org/centos/6/os/x86_64/ 或其它镜像。
--extra-args="text console=com1 utf8 console=hvc0" — 告诉 linux 利用 com1 和 xen 利用 hvc0,好让你能通过终端機进行文字模式安装
注:这类安装采用终端機,因此局限于文字模式的安装。上述(前一段)的 virt-manager 却能同时支持图像化安装。
有关利用 virt-install 进行安装的详情请参阅此指南。
控制 DomU 虚拟机器
通过 libvirt,你可利用图像化应用程序(virt-manager)或文字应用程序(virsh)来控制 DomU 虚拟机器。
这些应用程序可以位于 DomU 虚拟机器所身处的 Dom0 上(本地控制),它们也可以位于不同的机器上并连接到 DomU(远程控制)。
不论是通过远程或本地连接,两种工具的实际操作都是相同。
有关远程 virt-manager 或远程 virsh 的连接,请参阅这些指引。你必须设置 libvirt 才能用这两个工具来进行远程访问。
有关采用 virsh 这参阅此指南;有关采用 virt-manager 这参阅此指南
桥接样例设置
以下是另一个桥接样例设置:
你必须安装 bridge-utils 才可设置桥接。你可以在 CentOS 下以这个指令进行安装:
yum install bridge-utils
以下文件位于 /etc/sysconfig/network-scripts/,它们必须被修改。
定义 br1 的最简单样例
ifcfg-eth0
DEVICE=eth0NM_CONTROLLED=noONBOOT=yesTYPE=EthernetBRIDGE="br1"USERCTL=no
ifcfg-br1
DEVICE=br1BOOTPROTO=noneNM_CONTROLLED=noONBOOT=yesTYPE=BridgeIPADDR=192.168.0.5PREFIX=24GATEWAY=192.168.0.1DNS1=8.8.8.8DNS2=8.8.4.4USERCTL=no
- libvirt virt-manager
- virsh kvm xen xm qemu libvirt virt-manager概述
- virsh kvm xen xm qemu libvirt virt-manager概述 .
- virsh kvm xen xm qemu libvirt virt-manager概述
- libvirt、virsh、virt-manager 介绍及操作示例
- nova-virt与libvirt
- virt-manager linux上虚拟机安装错误处理:error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No
- CentOS7下 libvirt+virt-manager 虚拟机迁移配置及错误处理
- volatility,libvmi,pyvmi,virt-manager,libvirt,virsh,kvm等工具关系梳理
- virt-manager manage VM
- 手动安装 virt-manager
- 手动安装 virt-manager
- virt-manager and qemu
- virt-manager 管理配置
- virt-manager spice spicec
- mac virt-manager
- 使用qemu和virt-manager
- 安装KVM监控virt-manager
- 个人关于管理一些中型程序的见解
- oracle11g安装时报INFO:INFO错误解决
- Linux命令:scp
- 基本类型和引用类型值传递的理解
- D-Bus学习(一):总体介绍
- libvirt virt-manager
- week12之该好好学习了-_-! 不厌其烦地打完了老师的程序
- ganglia在CentOS6.5的安装
- Eclipse 在开发中使用到的快捷键
- UVA11354 - Bond瓶颈路
- JavaScript格式化日期的函数
- Tinyxml封装类COperatorXml
- 送给将要找工作的自己
- shell私房菜part2