基于VirtualBox和Ubuntu的虚拟环境搭建

VirtualBox 简介

VirtualBox 是一款开源虚拟机软件。 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。简单易用,可虚拟的系统包括Windows(从Windows 3.1到Windows 10、Windows Server 2012,所有的Windows系统都支持)、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系统。

VirtualBox的安装与配置

本实验使用VirtualBox-7.0.10进行演示。对于安装包,大家可以前往 VirtualBox官网下载页面https :/ / www. virtualbox.org/wiki/Downloads 下载其7.0版本安装包进行安装。

安装的过程中,为了避免C盘空间不足,请选择D盘或者其他盘的一个空文件夹 作为安装路径(必须是空文件夹),其它直接默认就可以了。

安装完成以后,进入VirtualBox-7.0.10主页面,如图所示

配置虚拟机 默认位置

首选在D盘(或在安装时选择的其他盘处)建一个空文件夹 VirtualBox VMs,然后在VirtualBox的首页,点击"管理"→"全局设定"进入全局设定界面,设置虚拟机的默认存放位置为"D:\VirtualBox VMs",最后点击"确定"按钮保存修改。

配置虚拟网络

为了实现多台虚拟机之间的网络联通,在VirtualBox安装完成后首先创建一个主机网络(Host-Only Ethernet Adapter)。选择菜单栏中的"管理"→"工具"→"主机网络管理器"打开主机网络管理器

然后单击"创建"按钮可以新建一个VirtualBoxHost-Only Ethernet Adapter。在创建过程中可能会遇到系统权限请求,允许即可,VirtualBox Host-Only Ethernet Adapter创建好之后,在主机网络管理器下方的网卡选项中选择手动配置网卡,将IPv4地址设置为192.168.56.1,IPv4网络掩码设置为255.255.255.0 , IPv6地址及网络掩码长度不需要修改。在VirtualBox 7.0版本中,系统已经自动为我们创建好了一个VirtualBoxHost-Only Ethernet Adapter。

同时,注意建议保持DHCP服务器开启

Ubuntu虚拟主机的创建和配置

在VirtualBox主界面,单击"控制"→"新建"按钮创建3台虚拟主机。

这里需要设置虚拟机的名称,在本实验中建议将3台虚拟主机分别命名为master,slave1,slave2,以便识别。类型选择"Linux",版本选择"Ubuntu(64-bit)"或"Other Linux(64-bit)",单击"下一步"按钮可以进行虚拟机配置的设置。

接着,将虚拟主机内存至少设置为2GB(即2048MB),以保证运行流畅。

接着,为虚拟主机机创建足够大小的虚拟硬盘,至少30G。

在如图所示的界面为虚拟机的配置,点击完成即可。

在创建完成后,选中虚拟机,打开右侧的虚拟机设置,点击"设置"按钮,进行网络设置

其中网卡1默认为"网络地址转换(NAT)",不需要更改

选择网卡2,选中"启用网络连接"复选框,连接方式选择"仅主机(Host-Only)网络",界面名称选择前面建立的VirtualBox Host-OnlyEthernet Adapter。

在高级选项中设置混杂模式为"全部允许",其他选项保持默认。

Ubuntu 的安装

在如图所示的界面中,点击"启动"按钮,启动虚拟主机.接着,启动界面的光驱弹窗中,选择加载Ubuntu的ISO镜像文件位置,即可在虚拟主机上进行ubuntu的安装。本实验选用的是ubuntu-20.04-desktop-amd64的64位版本﹐可以前往ubuntu-官网或各镜像站自己进行ISO镜像文件下载:https://old-releases.ubuntu.com/releases/focal/ubuntu-20.04-desktop-amd64.iso

选择好ISO镜像文件后,单击"挂载并尝试启动",然后在ubuntu的安装引导页面,默认第一个选项,按ENTER键进入下一步。接着在ubuntu的语言选择页面,选择安装语言,并点击"安装Ubuntu"

另外,如果在操作的过程,系统弹窗提示是否进入鼠标和键盘的独占模式,请选择取消,具体如图,如果不小心进入了鼠标和键盘的独占模式,可以按下右Ctrl键来退出独占模式

后续步骤直接点击"继续"即可

默认所在城市,点击"继续"进入下一步

设置用户名和密码,点击"继续"进入下一步

来到该界面,需要下载一些组件,所以有点慢,请耐心等待。同时,为了避免出现奇怪的问题,请保持网络畅通。**在安装完毕之后,会提示喊重启,**按提示进入下一步重启就可。

如果此步出现异常,那么请强行退出,在virtual Box中手动重新启动(或者在重启时等待太长时间,也可这样)

重启后,输入密码,就可以进入ubuntu了 (欢迎程序可以跳过)点击鼠标右键,选中"打开终端"进入Shell。(另外,如果系统提示更新,请拒绝更新)

首先、如下图所示,点击"安装增强功能"选项安装增强功能 。然后、在该图的中"共享粘贴板"中,将粘贴板共享设置为"双向",关闭虚拟机,重启生效。最后,在重新启动后,为了获得更好的视觉效果,建议在"视图"中,将视图设置为"无缝模式"。

我们可以使用命令:ip addr show查看主机所有IP ,同时,我们也可以使用ifconfig -a 查看当前主机所有的额IP。只是在ubuntu 20.4中,我需要先使用以下命令安装网络相关工具

sudo apt install net-tools

然后输入ifconfig -a命令查看当前网卡状态。可以看到enpos3网卡与enp0s8网卡, enp0s3网卡是虚拟机网络设置中的网卡1,负责通过主机连接互联网;enp0s8为Host-Only网络,负责虚拟局域网内互通。不同机器的网卡名称可能不同,且 Host-Only 网卡默认为关闭状态。

SSH 配置

为了方便通过SSH协议远程连接ubuntu主机,需要安装SSH服务端,命令如下:

sudo apt install openssh-server -y

如果SSH服务端,,使用ssh无法登录该主机,遇到类似的问题

ssh Connection reset by 192.168.56.103 port 22

重装SSH服务成为唯一的解决方法

#卸载ssh服务

sudo apt remove --purge openssh-server -y

#参数说明

--purge #软件和配置文件也一起卸载#安装ssh服务

Windows中Git安装和远程连接

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理件,它本身支持SSH1, SSH2。因此,它有和XShell类似的功能,我们也可以通过它非常方便的连接我们的Ubuntu主机。(虽然Git和XShell部分功能类似,但是Git更简洁,功能更强大。因此,在本实验,主要使用Git进行演示)

Git的安装包,可以通过其官网git-scm.com 或者gitforwindows.org 进行下载。下载后,一路使用默认安装就可以完成安装了。安装完成后,我们可以通过win菜单"所有应用"→"Git"→"Git Bash"或者鼠标右键弹窗的"显示更多选项"→"Git Bash Here"进入Git的命令行。

我们可以直接使用"ssh master@192.168.56.17"远程连接我们的ubuntu主机

如果使用ssh进行远程连接的时候,出现了类似的以下错误

no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

那么请使用以下命令进行清理,然后再重试

ssh-keygen -R 192.168.56.27

安装vim软件包

Vim是一个类似于Vi的高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。

(以下操作在Git中执行)在命令行执行该命令来安装vim

sudo apt install vim

开启root用户

ubuntu中,默认没有开启root用户,不过可先通过以下命令来设置root的密码,启动root用户

sudo passwd root

启动root用户后,我们可以通过su命令从当前用户切换到root用户 (注意当切换到root用户后,$变成了****#****.切换到root用户后,就不会再因为权限不足,而使用sudo)

SSH中,允许root用户直接登录

对于SSH,编辑 /etc/ssh/sshd_config 文件(在命令行敲出该段命令):

sudo vim /etc/ssh/sshd_config

找到 PermitRootLogin 这一行,(按**' i '**进入插入模式)并将其修改为:

PermitRootLogin yes

保存(按**':'** 并输入qw退出插入模式)再关闭文件,并重新启动

这样就可以远程使用SSH直接进行root用户的登录。

比如,ssh root@192.168.56.200

静态IP配置

我们安装的master主机属于ubuntu 20.04,需要通过以下指令更改配置文件,实现第二网卡enp0s8的静态IP配置:

sudo vim /etc/netplan/01-network-manager-all.yaml

在文件中添加如下信息(格式必须一致):

  ethernets:

      enp0s8:

        dhcp4: false

        addresses: [192.168.56.200/24]

        gateway4: 192.168.56.1

若要改ip,则在addresses那一行进行ip修改

格式如图所示:

注意 1:如果第一次执行vim,会出现vim命令找不到的提示,请执行该命令来安装vim。

sudo apt install vim

注意2 :enp0s8需要替换为自己的对应的网卡名称。修改完成后保存文件﹐输入以下指令启动网卡:

sudo netplan apply

至此,master虚拟机的安装完成,slave1和slave2的安装与配置同master一致,可参考master的配置。

同时建议将slave1和slave2这三台主机设置为静态IP:192.168.56.3,192.168.56.4。

即master、slave1和slave2这三台主机的静态IP分别为:192.168.56.200,192.168.56.3,192.168.56.4

相关推荐
dessler1 分钟前
Docker-如何启动docker
运维·docker·云原生·容器·eureka
zhy295631 分钟前
【DOCKER】基于DOCKER的服务之DUFS
运维·docker·容器·dufs
秋名山小桃子16 分钟前
Kunlun 2280服务器(ARM)Raid卡磁盘盘符漂移问题解决
运维·服务器
与君共勉1213816 分钟前
Nginx 负载均衡的实现
运维·服务器·nginx·负载均衡
MZWeiei27 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
丰色木夕35 分钟前
Ubuntu下的tcl/tk编程快速入门
ubuntu·tcl·tk
Arenaschi1 小时前
在Tomcat中部署应用时,如何通过域名访问而不加端口号
运维·服务器
waicsdn_haha1 小时前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
大妞1 小时前
ubuntu20.04 install vscode[ROS]
ubuntu
終不似少年遊*1 小时前
华为云计算HCIE笔记05
网络·华为云·云计算·学习笔记·hcie·认证·hcs