基于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

相关推荐
且从容.18 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道18 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
讯捷蓝达20 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.21 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落1 天前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng1 天前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮1 天前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹1 天前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
孙克旭_1 天前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
孙克旭_1 天前
云原生基础之Containerd容器运行时
运维·云原生