virtualbox安装
https://www.virtualbox.org/wiki/Downloads
vagrant安装
https://www.vagrantup.com/
单机搭建
1 初始化虚拟机
# cmd打开终端
vagrant init centos/7 #初始化环境
vagrant up #启动服务器
vagrant ssh #链接服务器
修改虚拟机登录方式SSH为密码登录
vagrant ssh-config #查看虚拟机ssh信息
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile G:/xr-server/xr-server/.vagrant/machines/default/virtualbox/private_key
IdentitiesOnly yes
LogLevel FATAL
2 配置账号密码登录
通过XShell链接虚拟机
-
用户名为vagrant(默认)
-
选择
vagrant ssh-config
中打印信息中的IdentityFile
的路径为用户密钥
# 进入虚拟机后,切换为root用户(密码为空 或 vagrant)
[vagrant@localhost ~]$ su root
#修改配置文件
[root@localhost vagrant]# vi /etc/ssh/sshd_config
#修改以下两个属性(no改为yes 去掉#号)
PermitRootLogin yes
PasswordAuthentication yes
#退出保存后重启SSHD
[root@localhost vagrant]$ Systemctl restart sshd
- 修改完成后可以用账号密码链接虚拟机
账号:root
密码:vagrant
集群搭建
1 修改vagrantfile配置文件
- windows默认路径:
C:\用户\用户名
Vagrant.configure("2") do |config|
# 创建虚拟机的数量(1..3)为3台
(1..2).each do |i|
config.vm.define "node#{i}" do |node|
# 设置虚拟机的Box
node.vm.box = "centos/7"
# 设置虚拟机的主机名
node.vm.hostname="node#{i}"
# 设置虚拟机的IP
node.vm.network "private_network", ip: "192.168.56.1#{i}"
# 设置主机与虚拟机的共享目录
# C:\\CyrusWorkSpace\\DailySoft\\share:此目录在windows上自行创建设置共享
node.vm.synced_folder "C:\\CyrusWorkSpace\\DailySoft\\share", "/home/vagrant/share"
# VirtaulBox相关配置
node.vm.provider "virtualbox" do |v|
# 设置虚拟机的名称
v.name = "node#{i}"
# 设置虚拟机的内存大小
v.memory = 2048
# 设置虚拟机的CPU个数
v.cpus = 1
end
end
end
end
2 初始化虚拟机
# cmd打开终端
vagrant init centos/7 #初始化环境
vagrant up #启动服务器
- 其余操作与单机版本一致
常见问题
- 虚拟机无法ping通外网
ping www.baidu.com
解决方案:修改网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ethx # x为网卡号,如:ifcfg-eth1
#增加如下配置
DNS1=114.114.114.114
#重启网卡
systemctl restart network & service network restart