一、环境介绍

  • Linux Centos 7.9 操作系统
  • BIGIP-15.1.4-0.0.47.qcow2 镜像

二、环境部署

1、关闭防火墙

1
2
systemctl stop firewalld
systemctl disable firewalld

2、关闭selinux

1
2
3
4
5
6
7
8
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#重启
reboot

#验证,使用 getenforce 命令,出现Disabled则表示关闭。
getenforce
Disabled

3、查看系统是否支持虚拟化

1
2
3
4
5
6
7
8
9
10
cat /proc/cpuinfo | grep flags  | egrep -o 'pae|vmx|svm'
pae
pae

# vmx说明支持虚拟化 , pae 指的是cpu支持半虚拟化,vmx 指的是支持全虚拟化 cpu 为 intel 的。svm 为 amd 的 cpu。
# Xen半虚拟化(para Virtualization):虚拟化系统仅提供中央处理器的虚拟化能力,就是只虚拟cpu,其他的硬设备则与真实机器共享同一个硬设备,使用硬设备的虚拟化效率较佳,但缺点是操作系统必须修改其内核才能安装在半虚拟化系统中的虚拟机中,其实就是对虚拟机的内核做一些更改,虚拟机意识到自己的环境,当发布某个命令时也仅仅是要求vmm关闭本虚拟机使用的资源,而非自作主张要关闭主板电源。

#全虚拟化(Full Virtualization):好处是由于所有的硬设备都由虚拟化系统产生,所以只要操作系统有支持虚拟化系统提供的硬件设备,就可以不修改操作系统设置而直接配置虚拟机并安装操作系统,但也因为所有的硬设备都是虚拟的,所以当虚拟机上的操作系统要读取某一个硬设备时,还需通过虚拟化系统才能读取真实的硬设备,因而性能比较差。全是虚拟的性能肯定差。

#经过上述比较:全虚拟化灵活但效率太低,半虚拟化效率高廉价,所以常用的虚拟化还是半虚拟化。全虚拟化可以安装不同的操作系统,半虚拟化一般只能安装同样的操作系统。如果有需求,安装别的操作系统就使用全虚拟化。

4、下载 Xen 安装源

1
yum -y install centos-release-xen

5、修改 Xen 安装源

1
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-Xen.repo

6、更新内核

1
2
3
yum --enablerepo=centos-virt-xen -y update kernel
#注意:上述命令报错则使用以下命令
#备用命令:yum -y update kernel

7、安装Xen

1
2
3
yum --enablerepo=centos-virt-xen -y install xen
#注意:上述命令报错则使用以下命令
#备用命令:yum -y install xen

8、修改 grub 文件

1
2
3
4
5
vi /etc/default/grub

GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=8192M,max:8192M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"

# dom0_mem 参数指定内存大小,max 指定最大内存。

9、执行 grub-bootxen.sh

1
2
3
4
5
find / -type f -iname grub-bootxen.sh
/usr/bin/grub-bootxen.sh

#执行脚本
/usr/bin/grub-bootxen.sh

10、重启系统

1
reboot

image-20211028182202945.png

11、检查Xen环境是否安装完成

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
xl info

host : localhost.localdomain
release : 4.9.241-37.el7.x86_64
version : #1 SMP Mon Nov 2 13:55:04 UTC 2020
machine : x86_64
nr_cpus : 8
max_cpu_id : 7
nr_nodes : 1
cores_per_socket : 1
threads_per_core : 1
cpu_mhz : 2926.007
hw_caps : 0fabfbff:83b82223:28100800:00000001:00000000:00000002:00000000:00000100
virt_caps : pv hvm
total_memory : 12287
free_memory : 3927
sharing_freed_memory : 0
sharing_used_memory : 0
outstanding_claims : 0
free_cpus : 0
xen_major : 4
xen_minor : 12
xen_extra : .4.95.g95172a63
xen_version : 4.12.4.95.g95172a63
xen_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 : credit2
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset :
xen_commandline : placeholder dom0_mem=4096M,max:4096M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all
cc_compiler : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
cc_compile_by : mockbuild
cc_compile_domain : centos.org
cc_compile_date : Thu Oct 7 15:19:59 UTC 2021
build_id : e88b287373be2de53430a35e9645c5742a465e60
xend_config_format : 4

12、安装 Libvirt 工具

1
yum -y install libvirt libvirt-daemon-xen virt-install

13、网桥配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#网卡ens192加入网桥br0,网卡ens224加入网桥br1
[root@localhost network-scripts]# cat ifcfg-ens192
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="ens192"
DEVICE="ens192"
BRIDGE="br0"

[root@localhost network-scripts]# cat ifcfg-br0
TYPE="bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
IPADDR="192.168.10.36"
PREFIX="24"
GATEWAY="192.168.10.1"
DNS1="114.114.114.114"

[root@localhost network-scripts]# cat ifcfg-ens224
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="ens224"
DEVICE="ens224"
ONBOOT="yes"
BRIDGE="br1"

[root@localhost network-scripts]# cat ifcfg-br1
TYPE="bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="br1"
DEVICE="br1"
ONBOOT="yes"
IPADDR="192.168.20.36"
PREFIX="24"
GATEWAY="192.168.20.1"
DNS1="114.114.114.114"

14、上传镜像至xen环境

1
2
#下载v15版本kvm镜像
#镜像下载地址:https://downloads.f5.com

15、镜像格式转换

1
2
3
4
5
#转换kvm镜像为xen镜像
qemu-img convert <qcow_file_name>.qcow2 <raw_file_name>.raw

#示例:
# qemu-img convert BIGIP-15.1.4-0.0.47.qcow2 BIGIP-15.1.4-0.0.47.raw

16、virt-manager 连接 Xen 环境

1
2
#命令行输入 virt-manager 调用web虚拟机管理工具
[root@localhost ~]# virt-manager

​17、打开虚拟机管理工具,点击左上角File,选择 Add Connection ,Hypervisor 选择 Xen ,点击 Connect 完成 Xen 的连接。

image-20211029143932967.png

​18、打开虚拟机管理工具,点击左上角File,选择 Create a new Virtual machine。 点击Import existing disk image(使用已存在的镜像),架构选项根据情况进行选择,这里选择全虚拟化。点击 Forward 进行下一步。

image-20211029175811885.png

19、OS type 选择 Linux ,Version 选择 Red Hat Enterprise linux 6 unkown。Browse 选择之前转换的 raw 镜像 。

image-20211029175847982.png

20、分配 CPU 和 Memory。

image-20211029175920605.png

21、Name 根据情况进行填写,勾选 Customize configuration before install 进行网络配置,点击 Finish 进行下一步。

image-20211029175955218.png

22、网络配置,添加网卡,并选择网桥(两张网卡分别配置不同的网桥)。

image-20211029180123642.png

23、点击左上角 Begin Installation 进行安装。

image-20211029180148807.png