想到云计算、云平台,立马觉得高深莫测。如果你想搭建自己使用的桌面云,使用 VirtualBox 这样的开源软件【注1】,仅需要几十分钟或几个小时就能如你所愿。
Let’s Go!
【注1】 对于系统工程师最大的困扰就是复杂的硬件和软件环境。本实验仅是Window 10 PC 作为主机(HOST)对外租用虚拟机的一种设置。事实上,其他操作系统也是可行的,也不一定非得 VirtualBox。在这个过程中,你会遇到各种各样的操作、配置和网络问题(坑)。目前并不能给你一个完整地、详尽地操作决解方案。
1、实验目的
- 初步了解虚拟化技术,理解云计算的相关概念
- 理解系统工程师面临的困境
- 理解自动化安装、管理(DevOps)在云应用中的重要性
本实验需要一定的网络知识和系统方面经验,如无法独立完成,请积极与同学协作或到技术群咨询。
2、实验环境与要求
实验需要硬件虚拟化(AMD-V 或 Intel-VT)支持,部分旧笔记本不支持。
- 用户通过互联网,使用微软远程桌面,远程访问你在PC机上创建的虚拟机
- 虚拟机操作系统 Centos,Ubuntu,或 你喜欢的 Linux 发行版,能使用 NAT 访问外网。
3、实验内容
一、环境和工具准备
-
安装 Git 客户端(git bash),下载地址:官网,或 gitfor windows 或 github desktop:
-
安装 Oracle VirtualBox 5.X,官方下载
上面这两步就不多说了。
-
配置 VirtualBox 虚拟机存储位置,避免找不到虚拟机存储位置,特别是消耗启动盘的宝贵空间
-
VirtualBox菜单 :管理 -> 全局设定,常规页面:
-
-
创建虚拟机内部虚拟网络,使得 Vbox 内部虚拟机可以通过它,实现虚拟机之间、虚拟机与主机的通讯
-
VirtualBox菜单 :管理 -> 主机网络管理器,创建一块虚拟网卡,网址分配为192.168.100.1/24:
-
在主机 windows 命令行窗口输入
ipconfig
就可以看到VirtualBox Host-Only Network #?:
的网卡,如下图:
-
二、创建Linux base虚拟机
-
下载 Linux 发行版镜像。
-
用 VBox 创建虚拟机。 虚拟机名称建议以 centos-xxx 或 ub-xxx 命名,
- 建议虚拟机CPU、内存采用默认。如果是桌面版,CPU建议数1-2,内存不低于2G
- 显示,显存采用默认。如果是桌面版,显存越大越好
- 存储,不低于30G。避免以后扩展难。
- 网络,第一块网卡必须是 NAT;第二块网卡连接方式: Host-Only,接口就是前面创建的虚拟网卡
在这里就不赘创建的过程了,我的配置如下,注意一下网卡的配置,使用了NAT和HOST-ONLY两种模式:
开机之后选择镜像文件,进入安装流程,重启即可:
这时换了桌面版下面再说。
-
检查网卡配置
配置网络的UI界面
nmtui
,配置第一块和第二块网卡的相关信息,这里我将第二块网卡的IP设为192.168.100.2:然而这时网络还是不可用的,还需要修改一下/etc/sysconfig/network-scripts/ifconfig-enp0s3文件,ONBOOT值改为YES:
还有ifconfig-enp0s8文件,由于我是静态IP,没有启动dhcp,所以需要修改如下:
并且重启一下网卡service network restart
,之后就可以使用网络了,上面的ping命令访问宿主机(注意要先关防火墙),下面的ping命令访问外网:
网卡信息如下,ifconfig命令centos的minimal版本默认没有,可以用ip addr
替代或者用yum下载,下图从上到下依次为nat、host-only、本地回环网络:
主机ping虚拟机:
-
升级 OS 系统内核
- 获取 wget,
yum install wget
- 配置yum源 163源、阿里云源.其实本来的源速度也还可以,我配置了阿里源:
- 备份``mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup`
- 下载``wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo`
- ` yum makecache` 生成缓存
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
- 升级 OS内核,
yum update
- 获取 wget,
三、复制虚拟机
-
点击 centos-base 选择复制,输入新虚拟机的名,注意必须 选择重新初始化所有网卡的 MAC 地址
-
然后选 链接复制:
-
配置主机名和第二块网卡
使用
nmtui
修改主机名和第二块网卡IP地址,并重启,步骤一样的,这里我设为192.168.100.3:之后相似地修改两个相应文件,不赘述了。
在主机上, ping 这个地址:
-
通过 ssh 访问该虚拟机:
- 虚拟机上要安装相应的ssh工具如openssl:
-
之后宿主机直接访问即可:
四、其他
-
使用 centos 桌面
- 重新配置虚拟机 CPU,内存,显存
- 启动虚拟机
- 安装桌面
yum groupinstall "GNOME Desktop"
-
设置启动目标为桌面,我用的是网上的命令
systemctl set-default graphical.target
-
重启
reboot
-
安装 VirtualBox 增强功能
-
How to Install Kernel Headers in CentOS 7
很简单,执行
sudo yum install -y kernel-devel gcc
和sudo sh /run/media/centos/VBOXADDITIONS_5.1.22_115126/VBoxLinuxAdditions.run
即可,不赘述了。
-
安装 Chrome 浏览器
-
按照步骤就好了。
-
-
配置用远程桌面访问你的虚拟机
-
虚拟机无界面启动,用户即可通过网络,使用RDP客户端访问
按照博客的内容步骤来
-
官网安装扩展,注意版本一致,否则出现mismatch错误:
-
设置虚拟机连接用的端口
-
设置并使用Windows的remote desktop connection或其他支持rdp的程序
-
以上一些操作内容仅适用宿主(hosted)为 window 10 环境,安装 CentOS 7 的操作。
4、实验报告与作业要求
基本要求:
1、完成私有云桌面的搭建。(该作业对网络知识有一定要求,请互相帮助或找师兄获得帮助) 2、提交《实验报告》
5、实验心得
这次主要是使用visualBox进行虚拟机的安装和配置,由于之前已经使用过vmware,所以这次基本没有遇到什么困难,比较顺利。