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: falseaddresses: [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