1 两台服务器,一台为SUT,一台为Phyclient。
1.1 两台服务器均编译安装gcc和qemu
按银河麒麟v10服务器arm版,qemu+gcc,跨架构安装虚拟机中步骤,编译安装gcc-9.3.0和qemu-7.0.0。
2 SUT服务器操作
2.1 mount数据盘到/mnt/specvirt1/,将SUT.rar拷贝到/mnt/specvirt1/,并解压到此目录。
mkdir /mnt/specvirt1/
mount /dev/sdb /mnt/specvirt1/
unrar x SUT.rar /mnt/specvirt1/
2.2 拷贝文件到相应位置
cd /mnt/specvirt1/
cp sut_1t4w_xml/* /etc/libvirt/qemu
cp nvram/* /var/lib/libvirt/qemu/nvram/
cp -ar sut_scripts/ /root
cp hosts sysctl.conf /etc
2.3 根据银河麒麟服务器版v10,桥接网络虚机可以ping通宿主机,但是ping不通网关和其他主机中步骤,确认启用IP转发。
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
echo 0 > /sys/devices/virtual/net/br0/bridge/nf_call_iptables
echo 0 > /sys/devices/virtual/net/br0/bridge/nf_call_ip6tables
echo 0 > /sys/devices/virtual/net/br0/bridge/nf_call_arptables
sysctl -p
2.4 配置主机名和网络
设置 hostname,配置网络
cd /root/sut_scripts
hostnamectl set-hostname SUT
创建 br1,20.1.0.0/24 网段(client 和 VM 之间通信)
vim bridge_create_br1.sh //根据实际网卡名修改万兆物理网卡的名字
BRIDGE=br1
NETWORK=20.1.0.5
PYNIC=enp5s0f0
./bridge_create_br1.sh
创建 br2,30.1.0.0/24 网段(仅限 VM 之间通信)
./bridge_create_br2.sh
查看 bridge 是否创建成功
ifconfig ##查看 ip 是否配置成功 是否 RUNNING
brctl show ##查看物理网卡是否添加成功
2.5 系统配置
2.5.1 编辑ssh配置文件,设置root登录和允许证书免密登录。
vim /etc/ssh/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
systemctl restart sshd
2.5.2 关闭防火墙 和selinux
systemctl stop firewalld.service
vim /etc/selinux/config
SELINUX=disabled
setenforce 0
getenforce
2.6 启动虚机
systemctl restart libvirtd
./start_vm.sh
virsh list
2.7 测试与虚拟机的连通性(需要等客户端的虚机启动后再进行)
./test_hostentries.sh 1
2.8 配置ssh免密(需要所有的虚机都能联通之后进行)
ssh-keygen -t rsa -q
echo "StrictHostKeyChecking=no" > ~/.ssh/config
./ssh_nopasswd.sh
3 Phyclient 端(物理机)操作
3.1 mount数据盘到/mnt/specvirt_clients/,将primecontroller.rar拷贝到/mnt/specvirt_clients/,并解压到此目录。
mkdir /mnt/specvirt_clients/
mount /dev/sdb /mnt/specvirt_clients/
unrar x primecontroller.rar /mnt/specvirt_clients/
3.2 拷贝文件到相应的位置,并启用ip转发
cd /mnt/specvirt_clients/
cp phyclient_1t4w_xml/* /etc/libvirt/qemu
cp nvram/* /var/lib/libvirt/qemu/nvram/
cp -ar primecontroller_scripts/ /root
cp -ar opt_specvirt/* /opt
cp hosts sysctl.conf /etc
按2.3步骤,启用ip转发
3.3 设置 hostname,配置网络
cd /root/primecontroller_scripts
hostnamectl set-hostname primecontroller
创建 br1,20.1.0.0/24 网段(client 和 VM 之间通信)
vim bridge_create_br1.sh //按实际网卡名修改万兆物理网卡的名字
BRIDGE=br1
NETWORK=20.1.0.4
PYNIC=enp5s0f0
./bridge_create_br1.sh
查看 bridge 是否创建成功
ifconfig ##查看 ip 是否配置成功 是否 RUNNING
brctl show ##查看物理网卡是否添加成功
ping 20.1.0.5 //ping sut 服务器
3.4 系统配置
3.4.1 编辑ssh配置文件,设置root登录和允许证书免密登录。
vim /etc/ssh/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
systemctl restart sshd
3.4.2 关闭防火墙 和selinux
systemctl stop firewalld.service
vim /etc/selinux/config
SELINUX=disabled
setenforce 0
getenforce
3.5 启动虚机
systemctl restart libvirtd
./start_clientvm.sh
virsh list
3.6 测试与虚机的连接性。
./test_hostentries.sh 1
3.7 配置 ssh 免密
ssh-keygen -t rsa -q
echo "StrictHostKeyChecking=no" > ~/.ssh/config
./ssh_nopasswd.sh
3.8 配置时间同步
vim /etc/chrony.conf
allow 20.1.0.0/24
systemctl restart chronyd
systemctl enable chronyd.service
chronyc sources
4 开始测试。
在SUT端执行:
cd /root/sut_scripts
./test_hostentries.sh 1
./chronyRst.sh
./chronyCheck.sh
./pollmecheck.sh 1
在primecontroller端执行:
cd /opt/SPECvirt
cp Control.config.1t4w Control.config
vim Control.config
NUM_TILES = 1
SPECVIRT_HOST = primecontroller
执行测试.
./runspecvirt.sh
5 测试结果查看
通过以下命令看中间输出结果,大约运行 2 个半小时。
tail -f primectrl.out
在 result 目录查看最终结果,通过浏览器查看 html 文件。