准备工作

KVM环境

  • 确认宿主机支持KVM虚拟化,下面命令返回值不应该为空
#egrep '^flags.*(vmx|svm)' /proc/cpuinfo
  • 确认软件版本(建议CentOS7.x)
# cat /etc/redhat-release
  • 安装相关软件
# yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install -y

Linux bridge

  • 该bridge用来提供VFW的管理/控制面连通性
  • 创建bridge后将宿主机的管理接口加入到该bridge上
# brctl show
bridge name bridge id       STP enabled interfaces
virt-mgmt-br        8000.20040fe827d4   no      em1
  • 在该bridge上配置宿主机原来的管理IP和需要的路由

OVS bridge

  • 需要将要加入的OVS bridge建好,例如"xyzbr0"
  • 后续VFW的数据口都会加入到这个bridge上

安装VFW虚机和OVS配置

文件准备

  • 创建并进入目录
# pwd
/opt/hillstone-cmd-libvirt
# ll
total 2097760
-rw-r--r--. 1 root root        258 Jan 11 15:55 hillstone-br0
-rw-r--r--. 1 root root        135 Jan 11 14:51 hillstone-br1
-rw-r--r--. 1 root root        135 Jan 11 14:52 hillstone-br2
-rw-r--r--. 1 root root        135 Jan 11 14:52 hillstone-br3
-rw-r--r--. 1 root root        135 Jan 11 14:52 hillstone-br4
-rw-r--r--. 1 root root        135 Jan 11 14:52 hillstone-br5
-rwxrwxrwx. 1 root root        762 Jan 11 16:07 install.sh
-rw-r--r--. 1 root root        133 Jan 11 16:09 xyzbr-network.xml
-rw-r--r--. 1 qemu qemu 2148073472 Jan 12 12:17 SG6000-CloudEdge-5.5R5-VM01-v6.qcow2```shell
* VFW的镜像文件先要准备好```shell
# ll | grep qcow2
-rw-r--r--. 1 qemu qemu 2148073472 Jan 12 10:57 SG6000-CloudEdge-5.5R5-VM01-v6.qcow2
  • 加载描述bridge信息的xml文件
# cat xyzbr-network.xml
<network><name>xyzbr0</name><forward mode='bridge'/><bridge name='xyzbr0'/><virtualport type='openvswitch'/>
</network>
# virsh net-define  xyzbr-network.xml
# virsh  net-start  xyzbr0
# virsh  net-autostart xyzbr0
  • 定义管理口的文件(目前使用VFW的eth0/0),指向之前创建的Linux bridge
# cat hillstone-br0
<network><name>hillstone-br0</name><bridge name='virt-mgmt-br' stp='n' delay='0' /><forward mode='bridge'/><ip address='10.25.130.100' netmask='255.255.0.0'><dhcp><range start='10.25.130.100' end='10.25.130.100.'/></dhcp></ip>
</network>
  • 定义其它接口的文件,以br1为例,其它只是改一下br编号
# cat hillstone-br1
<network><name>hillstone-br1</name><forward mode='bridge'/><bridge name='xyzbr0'/><virtualport type='openvswitch'/>
</network>
  • 添加安装脚本
# cat install.sh
virt-install \--name hillstone \--wait 0 \--os-type linux \--virt-type kvm \--accelerate \--vnc --vnclisten 0.0.0.0 \--ram 2048 \--vcpus 2 \--boot cdrom \--disk path=/opt/hillstone-cmd-libvirt/SG6000-CloudEdge-5.5R5-VM01-v6.qcow2,device=disk,bus=ide,format=qcow2 \--serial tcp,host=0.0.0.0:8123,mode=bind,protocol=telnet \--network network=xyzbr0,model=virtio,target=he0 \--network network=xyzbr0,model=virtio,target=he1 \--network network=xyzbr0,model=virtio,target=he2 \--network network=xyzbr0,model=virtio,target=he3 \--network network=xyzbr0,model=virtio,target=he4 \--network network=xyzbr0,model=virtio,target=he5 \--network network=xyzbr0,model=virtio,target=he6

安装设置和串口登录

  • 安装只需要执行脚本即可
# ./install.sh
WARNING  No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
Starting install...
Domain creation completed.
#
  • 启动并查看相关信息
# virsh start hillstone
#
# virsh listId    Name                           State
----------------------------------------------------4     hillstone                      running
#
# virsh domiflist hillstone
Interface  Type       Source     Model       MAC
-------------------------------------------------------
he0        bridge     xyzbr0     virtio      52:54:00:9a:51:32
he1        bridge     xyzbr0     virtio      52:54:00:44:e3:98
he2        bridge     xyzbr0     virtio      52:54:00:9c:ae:d4
he3        bridge     xyzbr0     virtio      52:54:00:e8:4b:b8
he4        bridge     xyzbr0     virtio      52:54:00:51:ee:11
he5        bridge     xyzbr0     virtio      52:54:00:f2:84:0a
he6        bridge     xyzbr0     virtio      52:54:00:74:6d:9d
  • 设置OVS上接口(自然不包含连到Linux bridge)的vlan id,此处先以x来举例
ovs-vsctl set port he2 tag=x
  • telnet登录console口,端口号在创建时候指定,默认用户名密码:hillstone/hillstone
# telnet localhost 8123
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.login:

#VFW配置和验证
##基本配置

  • 管理口配置和网关配置,供远程ssh/web登录配置
configure
interface eth0/0
no ip address dhcp
ip address 10.25.130.100/16manage sshmanage pingmanage snmpmanage https
exit
ip vrouter trust-vr
ip route 0.0.0.0/0 10.25.0.1
exit
  • 如果需要配置HA,指定心跳线出口
ha link interface ethernet0/5
ha link ip 2.2.2.1 255.255.255.0
ha group 0
ha cluster 1 node 1
  • 配置业务接口,未来作为内网虚机的网关,下面是一个例子
interface eth0/1
zone trust
no ip address dhcp
ip address 10.3.3.254/254manage ping
  • 如果内网业务需要做DNAT对外网呈现,建议使用web来配置更加方便
  • HA的参数配置(略)

记录如何在KVM上手动部署山石vfw相关推荐

  1. dropzonejs vue 使用_如何在Dropzone上手动触发上传文件事件

    我将Dropzonejs很好地集成到了我的前端(VueJS)中.如何在Dropzone上手动触发上传文件事件 我有验收测试Dropzone使用Webdriver/Codeception的问题.底线是W ...

  2. Ubuntu16.04多主机集群上手动部署Kubernetes,配置docker私有registry,配置Kubernetes-dashboard WEB ui

    Ubuntu16.04多主机集群上手动部署Kubernetes,配置docker私有registry,配置Kubernetes-dashboard WEB ui 2017年03月17日 20:51:4 ...

  3. 解决在Tomcat上手动部署WAR服务器不能自动解压的方法

    手动部署文件的方式有很多,其中一个方法是将项目打包成war包,放置到webapps目录下,正常效果是Tomcat自动解压war包,项目至此部署成功,但第一次部署时失效,我首先怀疑Tomcat版本的问题 ...

  4. win10计算机记录,如何在win10上记录计算机屏幕,如何在win10上记录屏幕

    win10系统是一种常用的操作系统,因此如何在win10中记录计算机屏幕,如何记录屏幕?很不知道,下面的编辑器将向大家介绍一个名为Swift Screen Recording Tool的屏幕录制软件, ...

  5. 备份和导出的区别_如何在Android上手动导出和备份联系人

    备份和导出的区别 Android does a great job of keeping all your contacts in sync with your Google account, so ...

  6. 记录如何在Github上下载开源代码

    目录 下载开源项目 下载安装 git url下载 压缩包下载 下载开源项目 三种下载方式:url下载,GitHub软件下载,压缩包下载 下载安装 git 移步此篇文章,辛苦~,我才发现我总结过下载Gi ...

  7. SpringBoot 部署: 项目打包 手动部署到阿里云服务器上

    SpringBoot 部署: 项目打包 & 手动部署到阿里云服务器上 文章目录 SpringBoot 部署: 项目打包 & 手动部署到阿里云服务器上 前言 正文 1. 环境准备 &am ...

  8. Ceph手动部署(开发版本)

    手动部署 监视器引导 管理器守护程序配置 添加 OSD 简写形式 长格式 添加 MDS 总结 在 FreeBSD 上手动部署 FreeBSD 上的 Disklayout 配置 监视器引导 添加 OSD ...

  9. heroku服务器_如何在Heroku上使用Express服务器部署React应用

    heroku服务器 by Ashish Nandan Singh 通过Ashish Nandan Singh 如何在Heroku上使用Express服务器部署React应用 (How to deplo ...

最新文章

  1. 常州IBMV3700数据恢复成功
  2. 【Python学习系列十九】基于scikit-learn库进行特征选择
  3. 第四章 高级数据结构
  4. android jni jstring 转 char*
  5. Javascript实现的左右滑动菜单
  6. Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化
  7. CentOS7 防火墙关闭
  8. Win10配置MinGW教程
  9. Spring Validation
  10. 用证书实现windows 2003下IIS的SSL安全通信
  11. Android仿人人客户端(v5.7.1)——采用RelativeLayout做父容器,实现左侧滑动菜单(二)...
  12. Mavean多工程依赖项目
  13. 【对讲机的那点事】安装中继台天馈系统如何制作同轴电缆BNC接头?
  14. Netspark自动批量扫描powershell脚本
  15. Vue2+Vant2:一个可定制图标的简易扫雷小游戏
  16. 家庭网关斐讯 K3 基础环境篇
  17. C语言从放弃到入门,C语言,从放弃到入门
  18. 浏览器获取图片出现跨域问题
  19. ajax.googleapis firefox,使用Redirector插件解决googleapis公共库加载的问题【转】
  20. 《操作系统学习总结》

热门文章

  1. 知乎社区吸引用户的几大特色
  2. 圆锥形SiC纳米磨削单晶硅源代码
  3. Week9 作业B - 东东学打牌 [计蒜客 - 41408]
  4. 个人电子邮箱注册申请哪个更好用?
  5. excel工作簿打开密码破解
  6. Android Weekly #34 :心里有火,眼里有光
  7. 【愚公系列】2022年11月 uniapp专题-优购电商-商品详情页面
  8. 真人演示冒泡排序算法
  9. HTML5中背景图片如何设置
  10. Shell expr