使用Vbox虚拟机搭建ubuntu18集群环境

一、工具与环境

虚拟机: virtual box 版本:6.1.2

管理工具: vagrant 版本:2.2.10

虚拟机: Ubuntu 18.04

远程访问 : Xshell

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境,总之简单的说vagrant就是一款管理虚拟机的工具官网

  • 使用Vagrant的好处:

    1、为了开发环境与生产环境一致(很多开发环境为windows而生产环境为linux),不至于出现在开发环境正常而移步到正式生产环境时出现各种问题,而vagrant通过共享文件,可以实现在主机(windows)下的IDE编写代码操作,直接在虚拟机(linux)中运行展示出效果

    2、在vagrant中只需要搭配一次开发环境,然后就可以将搭配好的环境系统镜像打包发送给其他的同事用了,其他同事只需要下载vagrant和virtualBox,然后配置下共享目录后就可以开发了,再也不需要关心配置环境的问题了。

    3、目前好多扩展如swoole、redis等对linux支持更好,甚至有些只支持linux,所以采用虚拟机,再也不需要为学习新技术找借口了。

安装Vagrant:https://www.vagrantup.com/downloads

直接下载安装即可,不需要其他配置,重启后即可用。

二、制作虚拟机镜像

1.创建工作目录,在工作目录下:

2. 下载box镜像

准备现有的box镜像,下载box镜像,采用的是ubuntu18的镜像

资源地址:https://c4ys.com/archives/1230

导入镜像

# ubuntu18是命名,后面的是下载box文件的路径
vagrant box add ubuntu18 F:\virtualmachine\bionic-server-cloudimg-amd64-vagrant.box
# 查看安装的镜像
vagrant box list

成功后截图:

3.根据镜像生成虚机实例

# 执行 vagrant init 命令,会在当前目录下生成一个虚机的配置文件,Vagrantfile。
vagrant init

4.修改配置文件

打开目录下的配置文件可以看到只有一个配置项config.vm.box=“base”

这个配置项表示虚机实例引用镜像名称,修改配置项的值与box列表中的镜像名称,即config.vm.box=“ubuntu18”。

5.启动虚拟机实例

# 启动虚拟机实例
vagrant up

​ 打开Vbox会看到启动了一个虚拟机实例

6.远程访问修改账户密码

通过默认配置中的端口转发去远程登录新创建的虚拟机

使用xshell创建ssh访问连接,具体配置如下:

用户名使用vagrant,连接后会提示需要使用公钥登录,这里选择如以下路径中的密钥即可:

F:\virtualmachine\vagrant\test\.vagrant\machines\default\virtualbox

vagrant创建虚拟机的时候,应该是设置了不使用账号密码登录,而是使用公私钥登录

修改为账号密码登录:

sudo vi /etc/ssh/sshd_config
# 修改文件PasswordAuthentication no改为PasswordAuthentication yes。

然后重新启动服务service sshd restart默认密码就是vagrant

设置成功后以后就是密码登录:

账户名:vagrant 密码:vagrant

7. 创建NET加入NET

打开vbox的全局设定中的网络:

设置静态ip就不需要支持DHCP动态分配ip

打开虚拟机的设置:

网卡连接方式换成NAT网络,下方自动会出现刚刚配置的vmnet1(如果只有一个的话)

点击OK保存,就设置了虚拟机网络,但是这时虚拟机还没有IP地址,要启动后,在虚拟机里面配置IP地址。

关机重启,我的远程连接这时候断掉了,那么直接点击vbox中的显示,在其中登录账号,然后操作关闭

记得加上sudo

关闭后,改名字,在设置->常规设置中将虚拟机重新命名为node1。然后启动虚拟机,让设置生效。这里启动会需要点时间。

再次进入,使用root输入ifconfig,可以看到虚机有一个网口,网口上面还没有配置IP地址

8. 配置虚拟机网口


以下为Ubuntu17.10版本之前的设置方法:

vi /etc/network/interfaces

修改为:

重启网络/etc/init.d/networking restart


Ubuntu17.10之后的版本配置网络已经不向上兼容了!

ubuntu从17.10开始,已放弃在/etc/network/interfaces里固定IP的配置,即使配置也不会生效,而是改成netplan方式 ,配置写在/etc/netplan/01-netcfg.yaml或者类似名称的yaml文件里,18.04的server版本安装好以后,配置文件是:/etc/netplan/50-cloud-init.yaml,修改配置以后不用重启,执行 netplan apply 命令可以让配置直接生效。以前的重启网络服务命令/etc/init.d/networking restart或者services network restrart也都会提示为无效命令。

注意点:

  • :后面需要有一个空格
  • 请严格按照这个方式写
  • 缩进至少空一格

使用netplan apply重启网卡

ifconfig查看:

成功!

9. 端口转发设置

virtual box中的NAT下的虚机不能直接通过IP的22端口做SSH连接,还得通过端口转发的方式连接虚拟机。

点击管理->全局设定,选择网络设置,编辑vmnet1网络。

新增一条规则:

登录后查看ip地址,无误后就镜像的制作就设置完成!

三、由镜像制作虚拟机

关闭之前的虚拟机

接下来的操作就开始简单

点击复制

重命名,选择完全复制,包含所有网卡的MAC地址,如图:

复制完了以后,登录配置虚拟网口,设置端口转发机制,对复制的主机重复第8第9步骤

可以看到,复制过来的ip和之前一样,所以要进行修改

vim /etc/netplan/50-cloud-init.yaml
netplan apply

设置端口转发:

远程连接

测试互通:10.0.2.5 ping 10.0.2.6

ok!

重复以上步骤实现多节点,即可以创建**多台虚拟机组建集群实验环境。**

Tips

1. 提示powershell版本过低问题

解决方法:https://blog.csdn.net/p763833631/article/details/80392210

链接:https://pan.baidu.com/s/1Q_nqSaeN-5i_yrq-0gH4IA 密码:95hd 下载

windows 7 SP1 64位选用Windows6.1-KB2819745-x64-MultiPkg.msu 下载后重启即可

2. windows update 独立安装程序,安装程序遇到错误:0x80070422

对应上一个问题,安装新版本的powershell出现了问题:

windows update 独立安装程序

安装程序遇到错误:0x80070422无法启动服务

无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。

解决方法:

出现这个问题应该是系统的自动更新服务被禁用了,开启这个服务即可。win+R键调出运行输入框,输入services.msc,回车打开服务管理 器,找到windows update,看看是不是被禁用了,如果禁用了双击,将启动类型改为自动或者手动才能启动windows update服务,启动windows update服务后在双击运行.msu更新即可。

再重新安装

猜你喜欢

转载自blog.csdn.net/weixin_43988498/article/details/109159785
今日推荐