在一些情况下,我们需要在本地做一些模拟集群或者分布式应用部署测试、调试等工作,这时我们可以借助在本地安装多台虚拟机完成。
今天就以VMware Workstation Pro 17.6.1版本安装Debian 12操作系统的虚拟机为例,讲解一下安装多台可互相访问的虚拟机的通用流程,并完成它们的常用系统和网络配置,使多台机器之间可以互通。
在开始本章节之前,请先准备好下列软件和系统镜像:
- VMware Workstation Pro虚拟机软件
- Debian 12系统镜像:传送门
自2024年5月开始,VMware Workstation Pro开放个人免费使用,详情可查看官网说明:传送门
大家注册一个Broadcom账户,登录后通过上述说明页面中下载地址进入即可免费下载VMware虚拟机软件,这里不再赘述上述下载过程。
1,虚拟机NAT网络配置
我们的虚拟机使用默认的NAT网络模式即可,我们需要先打开网络配置查看NAT网关的IP地址范围、网关IP、子网掩码等等信息,因为后续我们需要给虚拟机配置静态IP地址,需要这些信息。
点击上栏编辑 - 虚拟网络编辑器如下:
选中模式为NAT的虚拟网络(默认是VMnet8
),查看下面的子网IP和子网掩码:
根据上图我们可以得知NAT虚拟网络的下列信息:
- 子网IP为
192.168.233.0
,那就代表该网络下虚拟机的IP范围是192.168.233.1 ~ 192.168.233.255
- 子网掩码为
255.255.255.0
上述子网IP可以修改,可以修改第三位(上图中233
)为自定义的值,只要不和本地其它虚拟网卡或者物理网卡的子网IP冲突即可。
继续点击NAT设置,查看NAT网关地址:
可以看到网关IP为192.168.233.2
,也可以自定义最后一位(上图中2
)为其它值,也不能和现有的虚拟机或者其它虚拟设备等冲突,当然默认情况下无需修改。
到此,我们总结我们的NAT虚拟网络信息如下:
- 网关IP:
192.168.233.2
- 子网掩码:
255.255.255.0
- 子网IP(范围):
192.168.233.0
需要先记录下这些信息,后续我们需要用这些网络信息来配置虚拟机静态IP地址。
2,创建虚拟机并安装系统
需要注意的是,我们先只安装一台虚拟机,并且注意不要安装GUI桌面环境,并且勾选SSH服务端安装。安装并配置完成后,我们将其克隆为三台虚拟机。
(1) 创建虚拟机
① 虚拟机创建
首先创建一台虚拟机:
选择典型,下一步:
选择稍后安装操作系统,下一步:
选择Debian 12.x 64
位,下一步:
虚拟机名称自取,下一步:
磁盘空间设定为50GB
(或者根据自己实际情况设定),并设定使用单个文件,下一步:
直接点击完成:
② 虚拟机设置
这时,我们就完成了虚拟机的创建,在左侧列表选择我们虚拟机后,点击编辑虚拟机配置:
在硬件这一栏,保证内存为2GB
及其以上,处理器核心数为2
个及其以上(或者根据自己实际情况设定):
在CD/DVD那里,设定你的Debian 12安装镜像文件位置:
然后在选项栏中,选择高级,固件类型设定为UEFI,最后确定:
现在,启动虚拟机,即可进入安装界面。
(2) 安装操作系统
① 进入安装
启动虚拟机,进入系统安装界面,使用键盘上下键控制,选择第二个Install选项,回车确定:
② 配置语言与地区
语言和地区都选择为中国、汉语等:
③ 主机名
主机名先配置为master
或者其它自定义值,回车确定,域名不用填直接回车跳过:
④ 用户配置
然后输入root
账户密码,并进行确认,设定好后回车:
然后创建普通账户,填写普通账户名和显示名以及密码:
然后等待时钟等进行自动配置完成。
⑤ 磁盘分区
出现下列界面即为磁盘分区,这里我们先不创建交换分区,因此我们手动设定:
1. 创建分区表
选择我们的虚拟磁盘按下回车,先创建分区表:
2. 创建启动分区
然后选择空闲空间,先创建一个启动分区,大小100MB
即可:
设定分区类型为EFI启动分区:
3. 创建系统EXT4分区
方式和创建EFI分区一样,只不过类型设定为EXT4,挂载点为/
如下:
4. 完成分区
最后,选择完全分区操作并将修改写入磁盘即可:
选择否确定不使用交换分区:
确定格式化:
⑥ 系统安装
完成分区后,等待系统核心组件安装,直到出现下列界面,选择否:
网络镜像站点也选择否:
流行度调查也选择否:
在软件选择界面,取消掉桌面环境以及GNOME的选择,然后选择SSH服务器,使用上下键控制,空格键选择或者取消选择,前面带星号的选项就是被选中的,最后回车键确认进行下一步:
等待安装完成,重启系统:
重启后,看到这个界面,就说明已经进入系统了!这是Linux命令行界面的登录界面:
(3) 登录操作系统
首先登录系统,在登录界面输入root
表示要登录root
账户:
回车然后输入密码,注意密码是不会显示的,然后回车:
出现下列界面则登录成功:
(4) 配置静态IP地址
我们需要对虚拟机网络进行配置,以便我们能够在后续使用SSH连接上虚拟机,把虚拟机作为本地服务器使用。直接在虚拟机命令行进行操作是非常困难的,例如无法进行复制粘贴等等。
因为默认情况下虚拟机使用的是动态IP地址,即每一次都会自动变化,所以我们要将其配置一个静态的IP地址。
上述我们已经通过虚拟机虚拟网络设置查看了NAT虚拟网卡的相关网络配置信息,这里我们就直接开始配置。
然后登录并进入虚拟机系统,登录root
账户,通过下列命令编辑网络配置文件:
nano /etc/network/interfaces
可以看到文件内容如下:
我们使用nano
命令进行文件编辑,打开文件后,就直接是编辑模式,键盘上下左右键可以移动光标,可以直接输入。
找到iface ens33 inet dhcp
这一行(ens33
是我们虚拟机系统中的默认网卡),将dhcp
改成static
,并在这一行下方加入下列几行配置IP地址、子网掩码和网关:
address 192.168.233.3
netmask 255.255.255.0
gateway 192.168.233.2
可见该地址根据我们上述查看的NAT网络地址信息配置,分别是:
address
表示这台虚拟机的IP地址,前面三位要和上面我们在NAT网络设置中看到的一致,后面一位大家可以自行设定为1 ~ 255
间的任何一个数字,但是注意不要和网关重复了,我这里配置为192.168.233.3
netmask
表示子网掩码,配置为上面在NAT网络设置中看到的一致gateway
表示网关,配置为上面在NAT网络设置中看到的一致
最终我这里如下:
然后保存文件,按下Ctrl + O
进行保存,这将显示一个提示询问你要保存文件,此时按下 Enter
键以确认保存。再按下Ctrl + X
即可退出编辑器回到命令行。
最后重启网络:
systemctl restart networking
现在输入命令ip addr
查看IP地址是否修改成功:
然后使用ping baidu.com
命令试一下能否连接外网,出现下列结果说明能够连接外网,按下Ctrl + C
停止ping
操作:
如果说不能够连接外网,很可能是DNS配置出现问题,通过下列命令编辑DNS文件:
nano /etc/resolv.conf
找到nameserver
这一行,检查后面的IP地址是否和上述NAT网络设置中的网关IP地址一致,若不是则修改。
修改完成后,重启网络即可。
这时,一台机器的静态IP就配置完成了!
(5) 配置SSH服务端
编辑SSH服务端配置文件,允许root
账户连接:
nano /etc/ssh/sshd_config
在文件中找到PermitRootLogin
一行,默认情况下它的值是prohibit-password
,将其前面的注释井号#
去掉,并把后面的值更改为yes
,最终如下所示:
然后重启SSH服务:
systemctl restart sshd
现在回到你的电脑,使用FinalShell或者Tabby等工具,连接虚拟机IP地址试试,连接成功即可:
相信大家到现在也能够深刻地感受到:直接在虚拟机内实在是难以操作。不过现在完成了SSH服务器的配置,后续其它系统配置等操作大家也可以通过SSH连接形式进行。
(6) 其它系统配置
到此,基本的网络配置完成,大家可以根据情况完成一些其它系统配置(例如软件源、中文环境等)以及安装一些软件(例如vim
等),这里不再详细赘述配置,若不熟悉可以参考下列博客:
3,克隆虚拟机并配置
上述第一台虚拟机的基本配置就完成了!可见需要配置的东西还是很多的,所以这里我们把这台虚拟机配置好后,可以将其作为模板克隆出多个虚拟机,克隆出来的新虚拟机仅需要配置IP地址和主机名,防止冲突即可。
(1) 克隆虚拟机
首先关闭上述虚拟机,在左侧栏选中我们虚拟机后,点击上栏的虚拟机-管理-克隆:
一直点击下一页,直到出现选择克隆类型页面时,选择创建完整克隆:
两种克隆方式使用起来无差异,不过链接克隆的性能会更低,而完整克隆更占空间。
然后设定克隆的新的虚拟机名称,最后点击完成:
克隆完成,在左侧列表就会多出我们克隆出来的虚拟机,选择并启动即可。
(2) 修改IP地址
启动并进入克隆的虚拟机,修改IP地址,保证IP地址不要和第一台虚拟机一样,同样地编辑网络配置文件:
nano /etc/network/interfaces
例如我这里最终如下:
可见这里我们只需要修改IP地址address
字段即可,仅修改最后一位(确保不要和网关以及其它虚拟机IP重复),别的就不需要修改了。
重启网络之后,尝试在自己电脑上连接该克隆虚拟机,连接成功即可。
(3) 修改主机名
然后修改一下这台虚拟机的主机名,例如这里将其修改为worker-1
,首先编辑/etc/hostname
文件,将其中master
改成worker-1
并保存即可:
然后修改/etc/hosts
文件,找到127.0.1.1
这一行,把后面的master
也改成worker-1
,如下图:
最后重启操作系统即可:
reboot
这样,克隆的虚拟机就配置完成了!可见虚拟机克隆之后,只需修改IP地址和主机名即可。
若还需克隆虚拟机,重复上述克隆步骤即可。克隆完成后,可启动多台虚拟机,并互相ping
对方的IP地址,发现是能够互通的。