2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > Linux-centos7虚拟机环境配置搭建

Linux-centos7虚拟机环境配置搭建

时间:2019-11-09 06:53:45

相关推荐

Linux-centos7虚拟机环境配置搭建

新建虚拟机1.1打开VMware创建新的虚拟机(在windows环境下,以及安装VMware。本教程中使用VMware Workstation 15 Pro。)

1.2选择典型安装

典型:VMware会将主流的配置应用在虚拟机的操作系统上。

自定义:自定义安装可以自定义设置系统资源,避免资源的浪费。

选择典型安装,一路默认配置即可此处选择镜像位置

1.3命名虚拟机及配置虚拟机文件存放位置,此处按自己的需求填写。

1.4配置磁盘空间,根据自己的需求配置

1.5内存配置(按自己的需求配置)

1.6处理器配置(按自己需求选择)

1.7选择使用的镜像ISO映像文件

2.安装Centos7系统

2.1打开虚拟机(选择Install Centos7)

2.2下滑选择中文,后面就会弹出简体中文

2.3进入系统后点击上方完成即可首先设置/ 的大小为10000MiB,然后再设置/boot的大小为500MiB,swap的大小为1000MiB。然后点击“+”添加/home和/var两个区,先设置/var的大小为2000MiB,其次设置/home的大小为3000MiB,最后点击完成,接受分区后点击安装。最后再设置一下root密码等待安装完毕即可。

2.4开启网络与主机名设置

2.5密码设制成123456后,等待完成即可

2.6安装完成,重启虚拟机

3.基础命令

3.1查询网络信息

ip addr

进入目录 cd

查看文件 ls 、ll

clear 清屏幕

3.2 Vi 命令三种模式

使用linux的场景经常遇到修改文件,修改配置文件。vi命令则是最基础的修改文件的命令。和windows界面操作不一样,linux上使用命令行方式修改文件,必然和界面方式修改文件有一点区别。

3.3 Vi命令参数表

3.4日志文件

tail命令查看实时日志

tail -f filename

模拟日志生成:

vi /hadoop/log.sh #创建一个shell脚本

#log.sh里面填入以下内容

#!/bin/bash

for i in $(seq 1 10000)

do

d=$(date +%Y%m%d%H%M)

echo "$d""--------$i">>/hadoop/test.log

done

给日志脚本权限

sudo chmod -R 777 log.sh

# or

chmod +x log.sh

执行脚本

./log.sh

查看日志

tail -f test.log

4.虚拟机环境配置

4.1Vmware网关地址设置

4.2确认VmNet8已经设置好IP地址DNS

键VMnet8虚拟网卡--属性--网络--Internet协议版本4(TCP/IPv4)

此处要使用手动设置IP,此处IP和之前看到网关地址需一致

把IP地址设置为192.168.67.110网关和之前看到网关地址保持一致192.168.67.2

4.3复制虚拟机

4.4分别设置三台虚拟机内存配置

需要三台虚拟机,并且需要同时运行,总体上占用为:每台虚拟机内存*3

在分配的时候,需要在总内存的大小的基础上减去2G-4G作为系统内存,剩余的除以3,作为每台虚拟机的内存

每台虚拟机内存=(总内存-4)/ 3。

4.5虚拟机IP地址和主机名

4.6虚拟机IP设置与mac地址

重新生成Mac地址

在虚拟机关机的情况下右键--设置--硬件-网络适配器-NAT模式--高级--Mac地址--生成。

4.7启动3台虚拟机

设置IP地址,修改配置文件。

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

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.67.110

NETMASK=255.255.255.0

GATEWAY=192.168.67.2

DNS1=8.8.8.8

DNS2=114.114.114.114

4.8网络重启

systemctl restart network

验证是否网络通畅

ping

4.9使用SSH客户端连服务器

安装secureCRT或xshell

连接服务器

设置编码格式utf-8

5配置主机名与域名映射

5.1配置主机名

把原本值删除,添加对应机器的主机名

vi /etc/hostname

5.2配置主机域名映射

三台机器都配置一样配置

vi /etc/hosts

192.168.67.110 node01

192.168.67.120 node02

192.168.67.130 node03

配置完后重启(reboot)

5.3关闭防火墙和SELinux

关闭防火墙并设置开机不启动

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

5.4防火墙说明

Centos7 中默认将原来的防火墙 iptables 升级为了 firewalld。

常用指令:

1、安装 firewalld

root 执行 # yum install firewalld firewall-config

2、运行、停止、禁用 firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

临时启动:# systemctl start firewalld

永久开机自启动:# systemctl enable firewalld

临时禁用:# systemctl stop firewalld

停止,开机不启动:# systemctl disable firewalld

3.firewalld 规则添加

查看所有打开的端口

firewall-cmd --zone=public --list-ports

添加一个端口

firewall-cmd --zone=public --add-port=80/tcp --permanent 删除一个端口

Firewall-cmd --zone=public --remove-port=80/tcp --permanent 更新防火墙规则

firewall-cmd --reload

5.5关闭SELinux

关闭selinux

vi /etc/selinux/config

SELINUX=disabled #把SELINUX值改为disabled

5.6SELinux介绍

什么SELinux 是linux的一种安全子系统中的权限管理是针对文件的,而不是针对进程的,也就是说,如果root启动了某个进程则这个进程可以操作任何一个文件在linux的文件权限外,增加了对进程的限制,进程只能在进程的允许范围内操作资源 为什么要关闭SELinuxSELinux的工作模式 强制模式宽容模式关闭 SELinux的操作 SELinux:# setenforce 0SELinux:# setenforce 1/etc/selinux/config文件,将SELINUX的值设置为disabled,如下图。下次开机SELinux就不会启动了。

5.7 Linux-Centos7虚拟机搭建时可能遇到的问题及解决方案

1.虚拟机内docker容器启动的应用在虚拟机可以通过url+port正常进行访问,但在外部主机访问则会被拒绝访问,暂时未找到解决方法与原因。

初步查询结果:大概率还是防火墙问题

已解决:

起初:原本的centos7防火墙已关闭,docker应用正常运行,且已自动连接了docker容器内端口与centos7端口,centos7能正常访问但主机仍然不能访问到应用。

之后:找不到解决方法,进行三步骤:1、尝试开启防火墙后关闭;2、重启docker;2.重启docker容器应用;主机在三步骤后能正常访问应用,具体原因不知,猜测为与虚拟机交互出现配置信息滞后或系统错误,与本地操作关系不大。

2.

解决方案:

开机按F2进入bios,具体不同主板可能不一样,找到Intel 虚拟化技术,把状态从禁用改为启用即可

保存重启,再试试启动虚拟机,就好了。

关闭虚拟机,配置网络模式为桥接(最常用的)

3.网络异常

需要配置网卡的网络信息

配置方法:

第一步,我们进入/etc/sysconfig/network-scripts目录,查看该目录有没有 形如ifcfg-XXX的文件:

如果你看不到以ifcfg-打头的文件(ifcfg-lo除外),说明网卡设备没有被正确识别,可能是你下载的centos镜像版本和你安装centos时选择的centos版本不一致,比如,centos镜像是64位的,却按照32位来安装。

第二步,如果是在虚拟机安装的话还需要选择物理桥接,如果不是就直接进行第三步。

第三步,以root权限编辑/etc/sysconfig/network-scripts/ifcfg-eno16777736这个文件,效果如下:

TYPE=Ethernet

BOOTPROTO=static #设置静态Ip

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=eno16777736

UUID=4f40dedc-031b-4b72-ad4d-ef4721947439

DEVICE=eno16777736

ONBOOT=yes #这里如果为no的话就改为yes,表示网卡设备自动启动

PEERDNS=yes

PEERROUTES=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

GATEWAY=192.168.10.2 #这里的网关地址就是第二步获取到的那个网关地址

IPADDR=192.168.10.150 #配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可

NETMASK=255.255.255.0#子网掩码

DNS1=202.96.128.86#dns服务器1,填写你所在的网络可用的dns服务器地址即可

DNS2=223.5.5.5#dns服器2

然后重启网卡,service network restart 就行了

1.yum显示there are on enabled repos可以使用这个命令修改yum源:

curl -o /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo

ifconfig等命令不可用

yum install net-tools

4.使用vi编辑文档的时候Backspace无法退格删除,上下左右出现字母

1、vi编辑模式下Backspace无法退格删除

命令模式下输入:set nocp

2、vi编辑模式下上下左右出现字母

sudo vi /etc/vim/vimrc.tiny

修改 set compatible 为 set nocompatible 设置是否兼容

添加 set backspace=2 设置 backspace可以删除任意字符

5.没办法使用SSH远程登陆

1. 安装 open ssh:

sudo apt-get install openssh-server

2. 修改root密码(这步不知道做什么用)

#sudo passwd root

3. 辑配置文件,允许以 root 用户通过 ssh 登录:

sudo vi /etc/ssh/sshd_config

找到:PermitRootLogin prohibit-password禁用

添加:PermitRootLogin yes

sudo service ssh restart

OK,正常登录!!!

6.交叉编译链的安装,环境变量的配置

在根目录下

vi .bashrc

文件中编辑

export NUVOTON_CROOS_PATH="$HOME/share/cross_tool"

7.在64位虚拟机上安装了交叉编译链之后,环境变量配置正确,提示no such file

解决方法:要安装32位的库,但是网上找了很多篇博客,列出来的命令测试都不能安装成功

https://upload-images.jianshu.io/upload_images/2877775-19c36dfd4298e4cf.png?imageMogr2/auto-orient/strip|imageView2/2/w/720

Since 12.04 Ubuntu introduced Multi Arch (/MultiarchSpec) and removed ia32-libs ia32-libs-gtk packages from the repository. To install 32-bit libs you need the run the following command line:

sudo apt-get update

sudo apt-get install libgtk2.0-0:i386 libxtst6:i386 gtk2-engines-murrine:i386 \

lib32stdc++6 libxt6:i386 libdbus-glib-1-2:i386 libasound2:i386

Note, you may need to run the following command first if the message Unable to locate package <package name> appears:

sudo dpkg --add-architecture i386

8.软件包安装源

在设置software&Updates 中

Download form :/ubuntu

9.gitlab中代码的拉取

/p/bf7b09e234c8

10.如何全屏虚拟机

安装VMware tools

11.在通过vitrualbox安装好mini版centos,在安装lnmp环境的时候需要yum安装wget在命令行输入yum install wget回车的时候出现一下错误:

经过google和必应的搜索和验证最终发现是因为DNS配置错误,配置文件中没有配置DNS造成的。需要修改以下2个地方:

1)vi /etc/sysconfig/network-scripts/ifcfg-eth0修改 ONBOOT=yes MM_CONTROLLED=no 这2个选项保存后 重启network service network restart

2) vi /etc/resolve.conf 默认是空文件需要写内容在里面添加一个可以使用的dns, nameserver dns IP地址 然后保存最后重启下centos系统 一切正常。12.解决设置CentOS7虚拟机使用静态IP的常见错误解决方案

配置静态IP

第一步,我们进入/etc/sysconfig/network-scripts目录,查看该目录有没有形如ifcfg-XXX的文件:

如果你看不到以ifcfg-打头的文件(ifcfg-lo除外),说明网卡设备没有被正确识别,可能是你下载的centos镜像版本和你安装centos时选择的centos版本不一致,比如,centos镜像是64位的,却按照32位来安装。这个。。重装吧。

下面进行第二步:

在VMware里,依次点击”编辑“ - ”虚拟网络编辑器“,如下图,我选择的是NAT模式:

为了能够使用静态IP,这里不要勾选”使用本地DHCP服务将IP分配给虚拟机“这个选项。然后是配置子网ip,子网IP与宿主机的ip一定不能处在同一地址范围里,否则就算虚拟机能上网,网络既慢,还不稳定。我主机的ip段是192.168.115.xxx,所以我配了192.168.10.xxx来避开主机的ip段,反正ip的第三个数字在0到254并且不是115就行。Nat模式相当于配置了一个子路由器,有设置过多级路由的朋友对此应该有所体会。各位结合自己机器的IP来合理配置一个子网ip吧。

在这个界面接着点"NAT设置",查看虚拟机的网关,这个网关在第三步要用。我这里的网关是192.168.10.2。

第三步:

以root权限编辑/etc/sysconfig/network-scripts/ifcfg-eno16777736这个文件,效果如下:

TYPE=Ethernet

BOOTPROTO=static #设置静态Ip

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=eno16777736

UUID=4f40dedc-031b-4b72-ad4d-ef4721947439

DEVICE=eno16777736

ONBOOT=yes #这里如果为no的话就改为yes,表示网卡设备自动启动

PEERDNS=yes

PEERROUTES=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_PRIVACY=no

GATEWAY=192.168.10.2 #这里的网关地址就是第二步获取到的那个网关地址

IPADDR=192.168.10.150 #配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可

NETMASK=255.255.255.0#子网掩码

DNS1=202.96.128.86#dns服务器1,填写你所在的网络可用的dns服务器地址即可

DNS2=223.5.5.5#dns服器2

关键的参数我都用彩色底纹标记出来了,其他的保持默认就好,确认无误后保存退出。

BOOTPROTO=static #开机协议,有dhcp及static;

ONBOOT=yes #设置为开机启动;

DNS1=114.114.114.114 #这个是国内的DNS地址,是固定的;

IPADDR=192.168.2.2 #你想要设置的固定IP,理论上192.168.2.2-255之间都可以,请自行验证;

NETMASK=255.255.255.0 #子网掩码,不需要修改;

GATEWAY=192.168.2.1 #网关,这里应该和你“2.配置虚拟机的NAT模式具体地址参数”中的(2)选择VMnet8--取消勾选使用本地DHCP--设置子网IP--网关IP设置 一样才行。

1.按下键盘上的“Win”+“R”键,输入“cmd”点击“确定”。

2.输入“ipconfig/all”,按回车键。

3.经过搜索即可找到DNS服务器地址。

第五步:重启网卡服务,执行service network restart,然后总算能上网了:

Ping

13.设置静态ip后无法连接外网的问题解决方案

问题一:服务没开

services.msc打开服务,然后找到VMware NAT Service

右键属性将其启动类型设置为自动,点击启动后确定

问题二:ip问题

centos7虚拟机初始运行时ip是动态随机分配的

通过修改etc/sysconfig/network-scripts/ifcfg-ens33文件的配置可以设置固定的ip

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static #static替代了dhcp 设置固定ip

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=2465b301-deb9-40bd-a6f9-97db7d745a8c

DEVICE=ens33

ONBOOT=yes #yes替代no设置固定ip

#下面的解决设置固定ip后无法连接外网的问题 192.168.86.xxx是宿主机所在的局域网ip段

IPADDR=192.168.86.105

GATEWAY=192.168.86.2

NETMASK=255.255.255.0

BROADCAST=192.168.86.255

DNS1=192.168.86.2

service network start 错误解决办法

Restarting network (via systemctl): Job for network.service failed because the control process exited with error code.

See “systemctl status network.service” and “journalctl -xe” for details.

● network.service - LSB: Bring up/down networking

Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)

Active: failed (Result: exit-code) since 五 -07-14 19:01:47 CST; 1min 16s ago

Docs: man:systemd-sysv-generator(8)

Process: 4681 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

CGroup: /system.slice/network.service

└─1192 /sbin/dhclient -H mini1 -1 -q -lf /var/lib/dhclient/dhclient--ens33.lease -pf /v...

7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists

7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists

7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists

7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists

7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists

7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists

7月 14 19:01:47 mini1 systemd[1]: network.service: control process exited, code=exited status=1

7月 14 19:01:47 mini1 systemd[1]: Failed to start LSB: Bring up/down networking.

7月 14 19:01:47 mini1 systemd[1]: Unit network.service entered failed state.

7月 14 19:01:47 mini1 systemd[1]: network.service failed.

network服务启动不了首先保证/etc/sysconfig/network-scripts目录下的ifcfg-xxx(每台机器不一定相同)没有错误(如果你改动过的话),这里的错误指的在更改过程中因为手误敲错字母之类的。

网上最常见的几种做法如下:

1.和 NetworkManager 服务有冲突,这个好解决,直接关闭 NetworkManger 服务就好了, service NetworkManager stop,并且禁止开机启动 chkconfig NetworkManager off 。之后重启就好了。

2和配置文件的MAC地址不匹配,这个也好解决,使用ip addr(或ifconfig)查看mac地址

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:b8:e7:21 brd ff:ff:ff:ff:ff:ff

inet 192.168.65.141/24 brd 192.168.65.255 scope global dynamic ens33

valid_lft 1193sec preferred_lft 1193sec

inet6 fe80::cca2:d835:f93:e637/64 scope link

00:0c:29:b8:e7:21这个就是MAC地址了,将/etc/sysconfig/network-scripts/ifcfg-xxx中的HWADDR(如果没有就添加上)改成这个MAC地址

3.设定开机启动一个名为NetworkManager-wait-online服务,命令为:

systemctl enable NetworkManager-wait-online.service

上面两个是我看到最多的解决方法,但是很遗憾,我的并没有解决。

有查看资料,发现了以下一些方法:

4.查看/etc/sysconfig/network-scripts下,将其余无关的网卡位置文件全删掉,避免不必要的影响,即只留一个以ifcfg开头的文件,

留的那一个应和使用ip addr命令查看ip第二条开头的名称一致(我的是ens33,参见上面我贴出的ip addr命令执行结果),所以我只留了一个ifcfg-ens33。(我的其中两台机器就是这么弄好的,因为我在修改前留了备份,把备份删掉就好了。。。)

5.将ifcfg-xxx文件中的DEVICE一行注释掉。

6.将ifcfg-xxx中的NAME改为和文件名一致。

7.在VMWare的编辑-虚拟网络编辑器中将网络模式改为桥接。

8.看VMWare右下角的网络适配器是否连接,如果没有连接则连接上。

补充:点击网络适配器-设置,将NAT模式改为桥接试试,我的改为桥接后可以重启network服务了但是上不了网,可以重启后

再将桥接模式改为NAT模式,发现既可以上网又可以重启network服务了)

9.查看下你电脑有没有禁用了VMware DHCP service和VMware NAT service 这几个vm服务,如果禁用则开启。

10 .如果你改成了静态ip别忘了将BOOTPROTO改为static。

11.如果以上都没有解决,还有最后一招-- 重启 看一看有没有奇迹发生!!(我的另外一台重启后莫名就好了)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。