下载以下三项
VirtualBox安装CentOS7
一:、下载CentOS7的镜像
下载地址:https://www.centos.org/download/
进入后有三个版本可以选择:
1、DVD ISO 标准安装版,一般下载这个就可以了(推荐)本文以此为例!
2、Everything ISO 对完整版安装盘的软件进行补充,集成所有软件!
3、Minimal ISO 一个非常基本的CentOS 系统,只需要最少的软件包即可拥有一个功能系统(软件比较少,大部分需要自己去装)
我下载的是:CentOS-7-x86_64-DVD-1708.iso
二:、创建虚拟机
2.1、选择linux版本
注意:如果选择版本的时候发现没有64 bit选项,说明你的电脑没有开启CPU虚拟化
双击运行“securable”程序(百度搜索securable 下载),在打开的程序主界面中就可以查看CPU是否支持虚拟化功能,如图所示,出现“YES”绿色标记,就表明CPU具有虚拟化功能。
开启虚拟化共功能方法:开机–》BIOS–》Configuration–》Intel Virtualization Technology --enable 回车
下一步。
2.2、分配内存
内存大于4G,根据宿主机的配置可以自己进行调整,这里的值可以理解为虚拟机最大可占用宿主机的多少内存
2.3、点击下一步设置虚拟硬盘
这里有三个选项,可以选择使用已有的虚拟硬盘文件,或者先不添加虚拟硬盘,等创建好虚拟机后再添加,这里我们选择第二个现在创建虚拟硬盘
2.4、点击创建,进入虚拟硬盘文件类型选项
一般选第一个 那两个没有用过,不过也可以尝试下。
2.5、点击下一步,进行设置如何分配虚拟硬盘
默认即可
2.6、点击下一步,指定虚拟硬盘文件的存放位置和虚拟硬盘的大小。
位置最好选择空间大的磁盘,不要放C盘哦,硬盘建议选择固定大小读写速度快。建议100G
2.7、点击创建,代表创建完成
三、安装虚拟环境
右键点击–》设置
3.1、选择网卡
设置网络选择桥接网卡,
3.2、设置镜像文件
点击OK。
3.3、启动虚拟机。
第一个选项是安装CentOS7,第二个选项是检查操作系统文件是否损坏并安装CentOS7
3.4、选择第一个安装CentOS7,进入语言选择
一直拉到最下面,当然选择中文–简体中文
3.5、点击继续,
提示先完成带有黄色叹号的内容,否则无法进行下一步,我们看到安装位置处于此状态,并显示已选择自动分区
3.6、黄色叹号只是警告我们默认使用了自动分区,目的是让我们确认一下,是否需要手动分区,我们点进去
如果不需要手动分区,还使用默认的自动分区进行安装的话,我们直接点击左上角的完成退出
3.7、退出后回到刚刚那个摘要的界面,发现黄色感叹号不见了
右下角可以开始安装了,不过安装之前我们需要把以太网打开,否则系统安装后无法联网,并且在命令行操作系统内开启网络需要修改配置相对麻烦。
3.8、摘要的界面上可以看到网络和主机名的显示为未链接,我们点进去
点击打开以太网,点击完成退出
3.9、此时的网络和主机名显示有线已连接
3.11、如果需要图形界面,可以点击软件选择,选择基本环境(如果需要图形界面请下载完整版的操作系统iso镜像文件)
安装选择GNOME桌面
3.12、设置root密码
点击root密码,
3.13、点击完成两次,所有黄色感叹号消失
点击完成配置。开启默默等待
3.14、完成后点击重启
3.15、输入用户名密码登录
至此CentOS7安装完
vbox虚拟机无法桥接网卡怎么办
https://jingyan.baidu.com/article/425e69e61b8367be15fc169c.html
全能型终端神器MobaXterm
Virtualbox CentOS7挂载共享文件夹
1、在Virtualbox中选中要挂载共享文件夹的虚机,点设置,然后选择“共享文件夹”,添加一个windows中的目录,如图。如果要获得写权限,不要勾选只读分配。另外要自主决定挂载的目录,不要勾选自动挂载。
2、启动虚机,进入linux,先创建要mount的文件夹
sudo mkdir /mnt/share
3、挂载文件夹
sudo mount -t vboxsf share /mnt/share
取消挂载命令:
sudo umount /mnt/share
4、如果要系统启动时自动挂载,在/etc/rc.local中加入mount命令
#file: /etc/rc.local
mount -t vboxsf share /mnt/share
注意,rc.local可能不是可执行的,如果不是,请执行chmod +x rc.local赋予其执行权限。
如果在挂载时遇到【mount: unknown filesystem type ‘vboxsf’】问题,需要给虚机安装增强功能:
很可能会报错:
需要手动挂载VBoxGuestAdditions.iso文件并安装:
(1) 打开CentOS系统,并以root权限进入系统
(2) 系统正常启动后,点击设备——>CD/DVD 设备——>选择ios文件,文件位于VirtualBox安装文件夹下
virtualbox增强功能-VBoxGuestAdditions安装
如还是没有可以去官网另外下载,e.g.
http://download.virtualbox.org/virtualbox/5.0.2/VBoxGuestAdditions_5.0.2.iso
(3) 将CD进行挂载。mount /dev/cdrom /cdrom (该cdrom是我在/目录下创建的文件夹)
(4) 进入cdrom并运行相关程序。cd /cdrom; sh ./VBoxLinuxAdditions.run (等待程序安装完毕,VirtualBox增强功能软件就在系统中安装完毕)
centos7 VM VirtualBox设置共享目录时报错。 /sbin/mount.vboxsf: mounting failed with the error: No such device
https://blog.csdn.net/daiyudong2020/article/details/58073520
文件取名与docker共享目录相同,docker可共享到windows的文件。
centos环境下安装sde
docker安装:
1、sudo yum install docker 安装docker软件
2、sudo service docker start 启动docker服务
3、sudo chkconfig docker on 启动系统启动自动加载功能
4、在 /etc/docker/daemon.json(文件不存在可以新建文件),加入{“registry-mirrors”:[“https://registry.docker-cn.com”]}内容。加速下载
5、重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
启动sde镜像
1、sudo docker import ubuntu-sde.tar.gz sde_docker 将压缩包导入至镜像。
导入成功后可以通过docker images查看
2、docker run -it --privileged -v /mnt/share:/mnt/share -p 3001:3000 --name zww_sde sde_docker:latest bin/bash
-i:以交互模式运行容器
-t:为容器重新分配一个伪输入终端
–privileged:获取宿主机特权模式
-v:给容器挂载存储卷,挂载到容器的某个目录
-p:指定容器暴露的端口,主机端口:容器端口
–name:为容器指定一个名称
sde_docker:latest image名为sde_docker的最新版本
bin/bash在容器内执行bin/bash命令
没进容器之前,可通过docker ps -a查看容器运行状态(docker rm -f aa575bc64e65 删除容器,sudo service docker start启动docker)
3、docker exec -it 容器ID /bin/bash 进入容器
docker exec -it 0a4466c01338 /bin/bash
docker删除不掉容器解决办法
删除不掉容器文件占用,其实是网络问题。
解决办法如下
1、docker stop 容器ID\容器名 先暂停
2、docker network disconnect --force bridge 容器ID\容器名 清除网络
3、docker rm -f 容器ID\容器名 再强制删除
运行测试用例
是在docker内运行环境,所以sde镜像完成后,下次进入docker可以
a、docker ps -a查看容器状态及容器ID(container ID)
b、若容器是exitd状态,则需要docker start 容器ID(若容器不是离开状态,不需要这一步)
docker start 0a4466c01338
c、然后再进去容器,docker exec -it 容器ID /bin/bash
docker exec -it 0a4466c01338 /bin/bash
1、cd /sde/bf-sde-9.0.0
2、source set_sde.bash 在使用环境前,设置环境变量
3、开发直接提供的docker镜像是已经编译好的环境,不需要编译
4、./install/bin/veth_setup.sh 创建网卡,供模拟器使用
5、./run_tofino_model.sh -p switch 这里注意,开发给的docker里面编译结果是switch不是my_switching
如果想后台运行,可以输入./run_tofino_model.sh -p switch &
-p后的参数如果是switch,找的目标目录是switch/ptf/api,如果是自定义目录则为p4-examples/ptf-tests/自定义目录。
再开一个命令输入框
docker exec -it 0a4466c01338 /bin/bash
cd /sde/bf-sde-9.0.0
source set_sde.bash 在使用环境前,设置环境变量
-----可以不用-------sudo ./install/bin/dma_setup.sh #设置虚拟机内存最大页
需要通过sudo sysctl -n vm.nr_hugepages查看是否为128,如果不是128则无法启动CLI。
特别注意:如果使用虚拟机,内存一定要至少4G。因为大内存页需要足够内存才能分配,否者无法满足CLI运行条件。
6、./run_switchd.sh -p switch 启动cli (当最大页不是128时会自 动执行下一条设置最大页的命令)
shell界面好了 重开一个对话框
docker exec -it 0a4466c01338 /bin/bash
cd /sde/bf-sde-9.0.0
source set_sde.bash 在使用环境前,设置环境变量
7、./run_p4_tests.sh -t ./pkgsrc/switch-p4-16/ptf/api/ -s switch_dtel运行测试用例
./run_p4_tests.sh -t ./pkgsrc/switch-p4-16/ptf/api/ -s switch_dtel --gen-xml-output --db-prefix /sde/bf-sde-9.0.0/a_test
-t:后面跟测试用例的目录
-s:后面跟测试用例文件名称,不需要.py的后缀名
--gen-xml-output --db-prefix :输出测试报告
python测试框架
需要安装requests库
未完待续。。。。。。