由于要搭建mongodb的集群,先用虚拟机做下相关实验,以前都用VM Vare,但是现在这个电脑的配置不是太好,VM Vare比较耗资源,所以选择VirtualBox。

 1.下载VirtualBox和centos6镜像

   VirtualBox下载地址:https://www.virtualbox.org/wiki/Downloads

 

   centos6.6下载地址:http://archive.kernel.org/centos-vault/6.6/isos/x86_64/

  选择文件 CentOS-6.6-x86_64-minimal.iso ,这个是一个精简版的版本

 2.新建Linux虚拟机

    ①选择新建虚拟机,centos是属于RedHat系列,所以版本选择Red Hat 64位。接下来就是点击下一步下一步。

    

 

    ②新建虚拟机完成之后,启动虚拟机,选择下载的文件,启动,然后就是根据提示安装系统,设置root账号密码,这里不详细说了。

    右下角的 CTRL ALT是退出独占键盘的快捷键。

    

 

   3.网卡共享和VirtualBox网络配置

     虚拟机装完后是不能上网的。虚拟机的网络配置可以用桥接或者NAT,在VMWare中是这样,VirtualBox中还不一样。

     我们这里选择NAT模式,桥接的话网络环境变化,导致ip变化,以后要不断修改ip,所以选择NAT。

  

     整体配网络的思路:

      ①.先看下现在的网卡数量,有一块VirtualBox虚拟出来的网卡。虚拟机通过这张网卡与外部进行联系,

       这个网卡是相当于虚拟机的网关。   

    

    ②.目前我上网的网卡是无限网络连接4,要把这张网卡共享给VirtualBox虚拟出来的网卡,

     这样虚拟机才能访问公网。 

    

    ③配置虚拟机的网络,连接方式选择如下所示。这种网络方式其实还是NAT,只不过是VirtualBox分的更细些。

     

      ④之后,查看下这张网卡的ip ,用cmd也可以,用VirtualBox中 【管理】–【主机网络管理器】也可以查。

     我这里是 :192.168.137.1

    

   4.修改Centos配置文件进行网络配置

    ①虚拟机刚装好是不能上网的,这时用ifconfig命令查看,只有127.0.0.1 。

     需要进行centos网络配置,ip要设置成静态的,防止ip不断变化。

     vi /etc/sysconfig/network-scripts/ifcfg-eth0

     

DEVICE=eth0 #设定装置的名称,这个要跟文件名称对应!
TYPE=Ethernet #表示是以太网
ONBOOT=yes #是否在开机的的时候启动网络卡
BOOTPROTO=static #启动的时候的 IP 取得的协定,static是固定的,
           如果是 Cable 的话,这里要改成 dhcp 才行。
IP6INIT=no #不启用IP6 IPADDR= #固定IP地址 NETMASK= #子网掩码 GATEWAY= #网关,这里就是虚拟机虚拟出来的那个网卡的ip DNS1= #首选DNS,与主机DNS相同(未配,配到了/etc/resolv.conf)

    ②DNS配到/etc/sysconfig/network-scripts/ifcfg-eth0也行,配到/etc/resolv.conf文件也可以,我选择配到            /etc/resolv.conf文件。这两个一个是谷歌的,一个是百度的。

    

    ③配置完成之后,重启网络服务 service network restart,之后就能ping通外网了。

     最重要的是,可以用crt或xshell连接机器了,这样就方便很多了。

   5.复制虚拟机

      装好了一台centos之后,想要再来一台,可以选择克隆复制,再VMWare中直接克隆一下,然后启动就可以了。

     但是在VirtualBox中却有点麻烦。

      按下面步骤进行复制:

    • 将虚拟机关机或休眠,右击选择复制
    • 填写好新的电脑名称,勾选”重新初始化所有网卡MAC地址(R)”
    • 默认”完全复制”
    • 默认”当前虚拟电脑状态(M)”

        之后启动虚拟机,修改/etc/sysconfig/network-scripts/ifcfg-eth0 ,将IP改成192.168.137.13,与原来的虚拟机的IP不同,但要属于同一网段,

  然后重启网卡,发现网卡启动错误。

[root@localhost ~]# /etc/init.d/network restart
Shutting down loopback insterface:                                                                               [  OK  ]
Bringing up loopback insterface:                                                                                 [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization.                    [FAILED]

    这个意思是MAC地址冲突报错,要修改复制虚拟机的MAC地址,保证/etc/sysconfig/network-scripts/ifcfg-eth0 与/etc/udev/rules.d/70-persistent-net.rules的信息一致即可,即网卡地址与网卡编号一致。

    解决方案

    • a.删除/etc/udev/rules.d/70-persistent-net.rules中eth0整行,修改eth1为eth0
    • b.运行start_udev
    • c.注释/etc/sysconfig/network-scripts/ifcfg-eth0文件HWADDR信息
    • d.重启network服务

   6.新加用户并禁止Root用户远程登录

         先增加一个普通用户mongo,为其设置密码。 

useradd mongo

passwd mongo

        并将其添加到sudo列表中

vi /etc/sudoers
    找到这行 root ALL=(ALL) ALL,在他下面添加mongo ALL=(ALL) ALL (这里的mongo 是你的用户名)

   生产中不允许Root用户远程登录,这里也配置一下。

#vi /etc/ssh/sshd_config

把PermitRootLogin yes改为PermitRootLogin no

重启sshd服务

#service sshd restart

   通过如上配置,便可以在crt上登录虚拟机,用mongo用户登录,root账号此时已经无法远程登录,mongo提权执行可以用sudo。

 

 

参考文章:

  1.VirtualBox中安装CentOS-6.6虚拟机

  2.Centos6.5网络配置

  3.[linux] VirtualBox复制虚拟机

版权声明:本文为sdadx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sdadx/p/9648501.html