龚哥哥 - 山里男儿 爱生活、做自己!
CentOS安装netdata监控服务器
发表于 2017-5-19 | 浏览(12924) | 服务器

效果图

Image

安装一些依赖包

yum -y install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig

安装netdata

mkdir -p /data/src
cd /data/src
git clone https://github.com/firehol/netdata.git
./netdata-installer.sh 

查看端口是否已经运行(如果存在netdata记录就不需要再次启动了)

netstat -ntlp | grep 19999

启动netdata(默认安装完成就已经启动了)

/usr/sbin/netdata

配置web访问,采用nginx反向代理(创建 netdata.conf 完成后重载nginx)

upstream backend {  
    server 127.0.0.1:19999;
    keepalive 64;
}

server {  
    listen      80;
    server_name netdata.gong.gg;

    location / {  
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

配置完成,访问查看监控信息

http://netdata.gong.gg/

1、放开防火墙 19999 端口,netdata会自动拉取该端口的服务器列表

2、netdata访问是没有限制的,我们使用htpasswd需要用户名和密码才能访问,参考博客中 htpasswd 的教程

阅读全文

一次服务器高峰期宕机排查经历
发表于 2016-12-14 | 浏览(10032) | 服务器

服务器配置与环境

系统:CentOS7
内存:16G
CPU:8核
磁盘:两块(100G, 1T)
mysql:MySQL5.7
php:PHP5.6
带宽:10兆

将近百万访问量,每天上午9点左右和晚上10点左右必定会宕机。每次重启服务器后问题都没有了,没法知道具体是那块所造成。开始仔细想问题在那边,H5新闻站点基本上都是使用搜索引擎运行的,包括后来我开发的PC站点全部采用搜索引擎运行,不会有任何数据库操作。以为是mysql配置需要优化,所以就开始做起了服务器优化。

1、第一看见就是服务器IO过高造成了宕机,经过排查是mysql所占用,开始调整H5项目把直接操作数据库的部分都改成搜索引擎。重启后通过mysql命令行 show processlist; 查看正常,怀疑这个时候是脚本没运行,所以查不到问题了。

2、为了不影响业务运作,把线上有收益的业务迁移到其它服务器。磁盘重新分布,图片,数据库,搜索引擎全部分开,发现mysql磁盘过高,由此可以完全定位IO过高和mysql脱不了一点干系。

3、开始做mysql配置优化,不能让服务器宕机,经过两天的调试,服务器不宕机了,IO还是能够达到80%以上。平时偶尔也发现IO也不小。开始头疼了应用程序和服务器都优化了还是不见有个好的效果。

4、持续观察IO状况,在IO高的时候排查mysql,发现有部分sql运行时间都是在30秒以上,IO都是读的负载过高,肯定是这个原因导致的,这条sql所使用的字段没有索引,加上索引后,IO明显下降到5%左右。

5、当时心里非常激动,花了两天调试服务器各种配置优化。结果发现饶了这么大一个弯。最终还是因为mysql索引优化问题,最终问题还是出现在爬虫上面,每次爬虫跑的时候都会比对数据,再数据表越来越大的时候,字段没有索引就慢如蜗牛。虽然绕弯了还是有很大的收获的,在各种配置优化上也更明白的认识到了很多场景的优化方式。

6、很多时候都是本地开发好的项目,怎么玩都正常,只要上线都会有点问题,运营一段时间后问题也越来越多,这都是没有考虑到很多因素的问题。

阅读全文

Linux监控http服务是否正常
发表于 2016-12-7 | 浏览(8529) | 服务器

使用定时任务定时校验是否正确,如果状态不正常,则发送邮件通知,邮件发送服务可以搜索本博客中的文章。

添加文件 vim http_mog.sh   内容如下

#!/bin/bash

#@author:Devil
#@desc:监控http服务是否正常
#@blog:http://gong.gg/
#@date:2016-12-07

HTTP_CODE=`curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" gong.gg`

# 不等于200则发送邮件
if [ $HTTP_CODE != 200 ]
then
    echo "亲^_^!你的服务器好像不乖了哦,状态码:[${HTTP_CODE}] ,请尽快处理哦~" | mail -v -s '服务器HTTP监控' devil@gong.gg
fi

阅读全文

Linux上排查IO使用过高的进程
发表于 2016-12-7 | 浏览(8106) | 服务器

iotop 命令

CentOS7以下使用yum安装
    yum -y install iotop
    iotop
CentOS7由于yum源没有包
    git clone git://repo.or.cz/iotop.git
        cd iotop
        python iotop.py

iostat 命令

iostat -x 1 10

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.48    0.00    1.24   10.22    4.28   78.78

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              0.37     3.00   27.30    5.47   722.00   173.14    54.64     0.78   23.81    9.61   94.70   1.40   4.58
xvdb              0.00     0.00    0.32    0.00     2.19     0.00    13.75     0.00    5.39    5.30   31.00   2.73   0.09
xvdc              1.29    21.12  130.74   13.60  3575.35   175.45    51.97     2.97   20.55   21.01   16.15   4.78  69.03

%idle小于70% IO压力就较大了,一般读取速度有较多的%wait.
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

dstat 命令

dstat --top-io -d --top-bio -l
dstat -t --top-io-adv -d -l

监控工具,根据系统类型选择脚本然后直接运行即可,以下是centos

centos下直接
  yum -y install nmon

其它linux系统可以下载包使用
wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz
tar -zxvf http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz
./nmon_x86_64_centos6

阅读全文

Linux内核参数优化
发表于 2016-10-16 | 浏览(8538) | 服务器

1、修改   vim /etc/sysctl.conf   文件

# 值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开
net.ipv4.ip_forward = 0

# 多网卡接收多播
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0

# 验证设置
kernel.sysrq = 0
kernel.core_uses_pid = 1

# 开启SYN Cookies,当出现SYN 等待队列溢出时,启用cookies 来处理
net.ipv4.tcp_syncookies = 1

# 确定一个消息队列的容量。该参数的取值存储在消息队列标识符结构的某个域中,用于确定是否存在着对新消息进行排队的空间。msgmnb 值可以动态修改,默认为16384。修改其取值会影响到所有新的消息队列的容量。用户可以通过 Msgctl()系统调用来增加现有消息队列的容量
kernel.msgmnb = 65536

# 限制进程可以发送的消息长度。该参数由 Msgsnd()函数加以应用。如果待发送消息的长度超过该值,则返回一个错误。该参数可以在运行时调整
kernel.msgmax = 65536

# 最大共享内存段大小。取物理内存大小的一半,单位为字节(此处为8G)
kernel.shmmax = 8589934592

# 整个系统共享内存段的最大数目
kernel.shmmni = 4096

# 可以使用的共享内存的总量
kernel.shmall = 4294967296

# 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数
kernel.sem = 250 32000 100 128

# timewait 的数量,默认是180000
net.ipv4.tcp_max_tw_buckets = 204800

# web 应用中listen 函数的backlog 默认会给我们内核参数的net.core.somaxconn 限制到128,而nginx 定义的NGX_LISTEN_BACKLOG 默认为511,所以有必要调整这个值
net.core.somaxconn = 262144

# 该参数标识是否启用选择性确认SACKS选项。默认值为1(true)
net.ipv4.tcp_sack = 1

# 设置tcp/ip会话的滑动窗口大小是否可变。参数值为布尔值,为1时表示可变,为0时表示不可变。tcp/ip通常使用的窗口最大可达到 65535 字节,对于高速网络,该值可能太小,这时候如果启用了该功能,可以使tcp/ip滑动窗口大小增大数个数量级,从而提高数据传输的能力
net.ipv4.tcp_window_scaling = 1

# tcp_rmem:min表示为TCP socket预留用于接收缓冲的最小内存数量,default为TCP socket预留用于接收缓冲的缺省内存数量,max用于TCP socket接收缓冲的内存最大值
net.ipv4.tcp_rmem = 4096 87380 4194304

# tcp_wmem:min表示为TCP socket预留用于发送缓冲的内存最小值,default为TCP socket预留用于发送缓冲的缺省内存值,max用于TCP socket发送缓冲的内存最大值
net.ipv4.tcp_wmem = 4096 16384 4194304

# 系统套接字写默认缓冲区
net.core.wmem_default = 8388608

# 系统套接字读默认缓冲区
net.core.rmem_default = 8388608

# 系统套接字读最大缓冲区
net.core.rmem_max = 16777216

# 系统套接字写最大缓冲区
net.core.wmem_max = 16777216

# 每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 262144

# 统中最多有多少个TCP 套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤儿连接将即刻被复位并打印出警告信息。这个限制仅仅是为了防止简单的DoS 攻击,不能过分依靠它或者人为地减小这个值,更应该增加这个值(如果增加了内存之后)
net.ipv4.tcp_max_orphans = 3276800

# 记录的那些尚未收到客户端确认信息的连接请求的最大值。对于有128M 内存的系统而言,缺省值是1024,小内存的系统则是128
net.ipv4.tcp_max_syn_backlog = 262144

# 时间戳可以避免序列号的卷绕。一个1Gbps 的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种“异常”的数据包。这里需要将其关掉
net.ipv4.tcp_timestamps = 0

# 为了打开对端的连接,内核需要发送一个SYN 并附带一个回应前面一个SYN 的ACK。也就是所谓三次握手中的第二次握手。这个设置决定了内核放弃连接之前发送SYN+ACK 包的数量
net.ipv4.tcp_synack_retries = 1

# 在内核放弃建立连接之前发送SYN 包的数量
net.ipv4.tcp_syn_retries = 1

# 启用timewait 快速回收
net.ipv4.tcp_tw_recycle = 1

# 开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接
net.ipv4.tcp_tw_reuse = 1

# 确定 TCP 栈应该如何反映内存使用;每个值的单位都是内存页(通常是 4KB)
net.ipv4.tcp_mem = 94500000 915000000 927000000

# 如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2 状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60 秒。2.2 内核的通常值是180 秒,3你可以按这个设置,但要记住的是,即使你的机器是一个轻载的WEB 服务器,也有因为大量的死套接字而内存溢出的风险,FIN- WAIT-2 的危险性比FIN-WAIT-1 要小,因为它最多只能吃掉1.5K 内存,但是它们的生存期长些
net.ipv4.tcp_fin_timeout = 15

# 当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时
net.ipv4.tcp_keepalive_time = 15

# 允许系统打开的端口范围
net.ipv4.ip_local_port_range = 1024 65000

# 系统中所允许的文件句柄最大数目
fs.file-max = 204800

1.1、让参数生效

/sbin/sysctl -p

2、修改文件句柄数量,修改   vim /etc/security/limits.conf

* soft nofile 204800
* hard nofile 204800

2.1、重启生效,查看参数

ulimit -a

阅读全文

CentOS安装Munin监控服务器
发表于 2016-10-13 | 浏览(7874) | 服务器

效果图


作为一个网络资源监控工具,Munin能够帮助分析资源趋势和查看薄弱环节以及导致产生性能问题的原因。开发此软件的团队希望它能够易用和用户体验友好。该软件是用Perl开发的,并采用rrdtool来绘制图形,使用了web界面进行呈现。开发人员推广此应用时声称当前已有500多个监控插件可以“即插即用*”。

一、安装web服务器 nginx或apache都可以(搜索本博客中有nginx的安装教程)

服务器列表
Master  192.168.1.100
Node1   192.168.1.200
Node2   192.168.1.201

二、Master安装Munin

1、安装EPEL源(已安装可跳过)

rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm

2、Master 安装munin服务

yum -y install munin

3、修改配置文件  vim /etc/munin/munin.conf

将以下几行的注释去掉(分别是 数据路径,wab路径,日志路径,运行run路径,模板文件路径)
dbdir  /var/lib/munin
htmldir /var/www/html/munin
logdir /var/log/munin
rundir  /var/run/munin
tmpldir /etc/munin/templates

将以下监控本机的代码注释掉
#[localhost]
#    address 127.0.0.1
#    use_node_name yes
同时添加被监控机地址
[node1]
    address 192.168.1.200
    use_node_name yes
[node2]
    address 192.168.1.201
    use_node_name yes

use_node_name命令控制munin命名节点的方式,如果后面跟的参数为yes就是用括号中的值来命名,如果是no则将执行一个DNS查询。

4、配置服务需要用户名和密码才能访问,apache中自带htpasswd,nginx中没,可以搜索本博客中的教程

htpasswd -c /etc/munin/munin-htpasswd 用户名
然后输入密码

5、在nginx中或apache中添加htpasswd用户认证(这里nginx做演示 server中)

auth_basic "Authorized users only";
auth_basic_user_file /etc/munin/munin-htpasswd;

6、安装完munin服务端后,程序会自动创建一个计划任务,可以看到是每5分钟获取一次数据(可以根据自己的需求修改定时任务时间)

cat /etc/cron.d/munin

*/5 * * * * munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron

7、启动crond服务

service crond start

三、Node服务器安装Munin

1、安装EPEL源(已安装可跳过)

rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm

yum -y install munin-node

2、修改配置文件   vim /etc/munin/munin-node.conf

找到 allow ^127\.0\.0\.1$
这里是表示允许谁来获取信息,在下面加上监控机IP:
allow ^192\.168\.1\.100$

3、防火墙配置   vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT

4、启动munin-node

service munin-node start

四、进入Master测试看看

telnet 192.168.1.200 4949

访问Master配置的尾部服务器查看节点服务的监控数据

阅读全文

CentOS编译安装MySQL5.7
发表于 2016-10-12 | 浏览(9375) | 数据库

1、准备

mkdir /data
cd /data
mkdir soft src dbdata
cd soft
mkdir mysql

2、安装cmake

cd /data/src
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
gmake
gmake install

3、下载boost源码包,从5.7开始boost包是必须的

cd /data/src
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
mkdir /usr/local/boost
tar -zxvf boost_1_59_0.tar.gz -C /usr/local/boost

4、安装mysql

cd /data/src
wget http://dev.mysql.com/get/archives/mysql-5.7/mysql-5.7.15.tar.gz
tar -zxvf mysql-5.7.15.tar.gz
cd mysql-5.7.15
cmake . -DCMAKE_INSTALL_PREFIX=/data/soft/mysql -DMYSQL_DATADIR=/data/dbdata -DSYSCONFDIR=/data/soft/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DMYSQL_TCP_PORT=3306 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=yes -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
make
make install

5、初始化操作

cd /data/soft/mysql
bin/mysqld --initialize --user=mysql --basedir=/data/soft/mysql --datadir=/dbdata --explicit_defaults_for_timestamp=1
/data/soft/mysql/support-files
这里会给出默认的随机密码,请一定要记下来一会儿登录使用(mysql从5.7开始密码不再默认空了)

6、mysql配置文件

cd support-files
cp my-default.cnf /etc/my.cnf

7、配置mysql服务开机自动启动

cp mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql

8、检查自启动项列表中没有mysql这个,如果没有就添加mysql

chkconfig --list mysql
chkconfig --add mysql

9、设置MySQL在345等级自动启动

chkconfig --level 345 mysql on
chkconfig mysql on

10、创建mysql命令路径

ln -s /data/soft/mysql/bin/mysql /usr/bin

11、mysql操作命令

service mysql start
service mysql stop
service mysql restart

12、登录mysql

mysql -uroot -p
输入安装完成的时候给的随机密码,如:123456

13、修改root的密码

alter user 'root'@'localhost' identified by '123456';

退出后重新登录使用新密码即可

阅读全文

CentOS使用Keepalived搭建双机热备
发表于 2016-8-23 | 浏览(7296) | 服务器

1、环境

CentOS6.5
keepalived-1.2.23

2、准备两台服务器和一个VIP IP

Master      192.168.0.109
Backup      192.168.0.110
VIP         192.168.0.200

3、安装gcc编译器,openssl,wget,如果已经安装则跳过

yum -y install openssl-devel ncurses-devel gcc gcc-c++ make rpm-build wget

4、目录创建

mkdir /data/soft
mkdir /data/nginx
mkdir /data/www

6、安装keepalived

cd /data/soft
wget http://www.keepalived.org/software/keepalived-1.2.23.tar.gz
tar -zxvf keepalived-1.2.23.tar.gz
cd keepalived-1.2.23
./configure --prefix=/usr/local/keepalived
make
make install

7、将keepalived做成启动脚务

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
chmod +x /etc/init.d/keepalived

8.1、MASTER配置文件,位置 /etc/keepalived/keepalived.conf

global_defs {
    notification_email
    {
        fuxiang.gong@qq.com
    }
    notification_email_from 17091959688@163.com
    smtp_server smtp.163.com
    stmp_connect_timeout 30
    router_id lnmp_node1
}

# 服务
vrrp_instance LNMP {
    state MASTER    #设置为主服务器
    interface eth0  #监测网络接口
    virtual_router_id 51  #主、备必须一样
    priority 100   #主机级别,值越大优先级越高
    advert_int 1   #VRRP Multicast广播周期秒数

    authentication {
        auth_type PASS  #VRRP认证方式,主备必须一致
        auth_pass 1111  #密码
    }
    virtual_ipaddress {
        192.168.0.200  #VRRP HA虚拟地址
    }
}

8.2、BACKUP配置文件

global_defs { 
    notification_email
    {
        fuxiang.gong@qq.com
    }
    notification_email_from 17091959688@163.com
    smtp_server smtp.163.com
    stmp_connect_timeout 30
    router_id lnmp_node2
}

# 服务
vrrp_instance LNMP {
    state BACKUP    #设置为备用服务器
    interface eth0  #监测网络接口
    virtual_router_id 51  #主、备必须一样
    priority 90   #主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高 
    advert_int 1   #VRRP Multicast广播周期秒数
    authentication {
        auth_type PASS  #VRRP认证方式,主备必须一致
        auth_pass 1111  #密码
    }
    virtual_ipaddress {
        192.168.0.200  #VRRP HA虚拟地址
    }
}

8.3、允许两台服务器vrrp包通过防火墙,如果关闭防火墙则跳过(两台服务器上都配置)

MASTER
  vim /etc/sysconfig/iptables
  -A INPUT -i eth0 -p vrrp -s 192.168.0.111 -j ACCEPT

BACKUP
  vim /etc/sysconfig/iptables
  -A INPUT -i eth0 -p vrrp -s 192.168.0.110 -j ACCEPT

重启防火墙
service iptables restart

9、keepalived操作,这里做启动操作

service keepalived start      启动
service keepalived stop       停止
service keepalived restart    重启

10、查看已经成功添加虚拟网卡

主服务器  ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d9:a8:bd brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.109/24 brd 192.168.0.255 scope global eth0
    inet 192.168.0.200/32 scope global eth0
    inet6 fe80::20c:29ff:fed9:a8bd/64 scope link 
       valid_lft forever preferred_lft forever

BACKUP服务器  ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d9:8f:72 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.110/24 brd 192.168.0.255 scope global eth0
    inet6 fe80::20c:29ff:fed9:8f72/64 scope link 
       valid_lft forever preferred_lft forever

11、安装nginx,详细步骤查看博客中其它nginx安装方法文章

12、把nginx访问指向 /data/www目录,在 /data/www 目录中创建index.html内容分别写 MASTER, BACKUP(通过浏览器访问 192.168.0.200 ),默认MASTER,如果关闭MASTER keepalived服务,BACKUP服务器将自动升级为MASTER提供服务。开启MASTER keepalived服务,自动切换MASTER服务器来服务,BACKUP降级为备用服务。

13、查看日志

tail -f /var/log/messages

阅读全文

Linux下一个网卡配置多个ip(虚拟ip)
发表于 2016-8-23 | 浏览(8802) | 服务器

临时设置,关机失效

在同一个网段的虚拟ip(本机,同网段的电脑可以ping通)以下192.168.0.100只能在本机ping通

ifconfig eth0:1 10.0.82.200 netmask 255.255.255.0
ifconfig eth0:1 192.168.0.100 netmask 255.255.255.0

设置永久ip

1、设置子ip配置文件

cd /etc/sysconfig/network-scripts

2、创建新文件 vim ifcfg-eth0:0,添加以下内容,保存退出

DEVICE=eth0:0  # 虚拟网络接口,随意    
ONBOOT=yes  # 系统启动时激活
BOOTPROTO=static  # 使用静态ip地
IPADDR=10.0.82.200  # 该虚拟网络接口的ip别名,随意
NETMASK=255.255.255.0  # 子网掩码,对应ip别名
GATEWAY=10.0.82.1  # 网关,对应ip别名
HWADDR=00:0c:29:d9:a8:bd  # 网卡MAC地址,与 eth0 相同
USERCTL=yes  # 是否给予非root用户设备管理权限

3、重启网卡

service network restart

4、临时清除ip别名

ifconfig eth0:0 down

阅读全文

VMware完整克隆虚拟机后连不上网络
发表于 2016-8-19 | 浏览(7518) | 服务器

完整克隆之后却不能连接到虚拟机了,产生这个问题的原因是克隆之后,新的克隆副本的网卡信息被修改了,所以需要手动设置下。原先使用的eth0网卡已经被使用了所以不能使用。

1、修改 70-persistent-net.rules 文件(删除旧网卡信息,使用新网卡信息)

vi /etc/udev/rules.d/70-persistent-net.rules

上面就是克隆后的文件信息,如果不是克隆的,红色部分没有。因为克隆了,所以就多出来红色部分的了。因为使用的还是旧网卡信息,所以导致了xshell连接不上。这里我们删除黄色框中东西,并将红色最后的eth1改成eth0。同时记住 ATTR{address}的值。

1.jpg

2、修改 ifcfg-eth0文件(将原来的旧网卡的HWADDR改成新网卡的HWADDR)

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

HWADDR的值就是上图中ATTR{addres}的值,然后设置一下想要的IP。reboot重启后就可以使用xshell连接了,注释黄色一行,红色一行为新添加。

2.jpg

3、重启服务器即可

init 6

阅读全文

TOP