2019-11-13 16:56:53 +08:00
|
|
|
|
# Xen DomU 配置与使用
|
|
|
|
|
|
|
|
|
|
在 [Xen 安装与配置](Xen_安装与配置.md) 完成了 Xen 虚拟机的安装,以及 Dom0 的配置。接下来我们对 DomU 进行配置。Xen DomU 可工作在 PV(paravirtualized) 和 HVM(hardware virtualized) 两种模式下。HVM 需要硬件虚拟化支持,PV 不需要硬件虚拟化支持,但是需要修改 Guest 系统。
|
|
|
|
|
|
|
|
|
|
在 Linux 系统中可通过:
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
2019-11-13 16:56:53 +08:00
|
|
|
|
grep -E "(vmx|svm)" --color=always /proc/cpuinfo
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
命令检查系统是否支持 HVM 模式。
|
|
|
|
|
|
|
|
|
|
## 配置网络
|
|
|
|
|
|
|
|
|
|
本步骤不是必须的。但要进行虚拟机间网络通讯的话,就要对网络进行基本配置:
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
2019-11-13 16:56:53 +08:00
|
|
|
|
brctl addbr xenbr0
|
|
|
|
|
brctl addif xenbr0 eth0
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
注意要将 eth0 替换成实际的网卡名。
|
|
|
|
|
|
|
|
|
|
## 开启 Xen 服务
|
|
|
|
|
|
|
|
|
|
必须在 Dom0 中开启以下服务才能启动 DomU:
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
2019-11-13 16:56:53 +08:00
|
|
|
|
systemctl start xenstored
|
|
|
|
|
systemctl enable xenstored
|
|
|
|
|
systemctl start xenconsoled
|
|
|
|
|
systemctl enable xenconsoled
|
|
|
|
|
systemctl start xendomains
|
|
|
|
|
systemctl enable xendomains
|
|
|
|
|
systemctl start xen-init-dom0
|
|
|
|
|
systemctl enable xen-init-dom0
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 管理 DomU
|
|
|
|
|
|
|
|
|
|
Xen 通过以下命令对 DomU 进行管理
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
2019-11-13 16:56:53 +08:00
|
|
|
|
# 创建 domU
|
|
|
|
|
xl create <domU config file>
|
|
|
|
|
# 查看各虚拟机使用的资源情况
|
|
|
|
|
xl top
|
|
|
|
|
# 查看虚拟机列表
|
|
|
|
|
xl list
|
|
|
|
|
# 切换到 domU 的命令行
|
|
|
|
|
xl console <domU name>
|
|
|
|
|
# 关闭 domU
|
|
|
|
|
xl shutdown <domU name>
|
|
|
|
|
# 销毁 domU 的虚拟机
|
|
|
|
|
xl destroy <domU name>
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Xen 通过 xl create 命令创建虚拟机。该命令需要输入一个 domU 配置文件,下文用于介绍如何创建 domU 配置文件。
|
|
|
|
|
|
|
|
|
|
## 基本的 domU 配置文件
|
|
|
|
|
|
|
|
|
|
Xen 支持将磁盘文件、物理磁盘和物理分区、ISO镜像文件等挂载为磁盘设备。通过以下命令可以创建一个 10G 的磁盘文件
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```bash
|
2019-11-13 16:56:53 +08:00
|
|
|
|
truncate -s 10G domU.img
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
以下是一个使用不同类别磁盘创建虚拟机的基本配置参考:
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```ini
|
2019-11-13 16:56:53 +08:00
|
|
|
|
name = "domU"
|
|
|
|
|
vcpus = 2
|
|
|
|
|
memory = 512
|
|
|
|
|
disk = [ "file:/path/to/domU.img,xvda,w", file:/path/to/ISO,sdc,r", "phy:/path/to/partition,sdb1,w" ]
|
|
|
|
|
vif = [ 'mac=00:16:3e:XX:XX:XX,bridge=xenbr0' ]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
vcpus 用于指定虚拟 cpu 数量;name 用于指定 domU 名称;vif 用于指定网络界面,如果前面没有配置网络,就不要配置 vif。
|
|
|
|
|
|
|
|
|
|
## HVM domU 配置文件
|
|
|
|
|
|
|
|
|
|
HVM 模式通过 builder = 'hvm' 参数进行指定。通过 VNC 连接虚拟机的显示器。
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```ini
|
2019-11-13 16:56:53 +08:00
|
|
|
|
name = 'HVM_domU'
|
|
|
|
|
builder = 'hvm'
|
|
|
|
|
memory = 512
|
|
|
|
|
vcpus = 2
|
|
|
|
|
disk = [ 'phy:/dev/vg0/hvm_arch,xvda,w', 'file:/path/to/ISO,hdc:cdrom,r' ]
|
|
|
|
|
vif = [ 'mac=00:16:3e:00:00:00,bridge=xenbr0' ]
|
|
|
|
|
vnc = 1
|
|
|
|
|
vnclisten = '0.0.0.0'
|
|
|
|
|
vncdisplay = 1
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
以上配置,使用 vncviewer 连接到 Dom0:1(默认是 5901 端口),可获得 DomU 的显示。
|
|
|
|
|
|
|
|
|
|
## PV domU 配置文件
|
|
|
|
|
|
|
|
|
|
PV 模式必须指定 kernel,参考配置如下:
|
|
|
|
|
|
2020-05-20 16:18:39 +08:00
|
|
|
|
```ini
|
2019-11-13 16:56:53 +08:00
|
|
|
|
name = "PV_domU"
|
|
|
|
|
kernel = "/mnt/arch/boot/x86_64/vmlinuz"
|
|
|
|
|
ramdisk = "/mnt/arch/boot/x86_64/archiso.img"
|
|
|
|
|
extra = "archisobasedir=arch archisolabel=ARCH_201301"
|
|
|
|
|
memory = 512
|
|
|
|
|
disk = [ "phy:/path/to/partition,sda1,w", "file:/path/to/ISO,sdb,r" ]
|
|
|
|
|
vif = [ 'mac=00:16:3e:XX:XX:XX,bridge=xenbr0' ]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
extra 用于指定 kernel 参数。
|