DRBD数据镜像与搭建

一、数据安全工具DRDB

1. 数据镜像软件DRDB介绍

分布式块设备复制,是基于软件、基于网络的块复制存储解决方案

作用:用于服务器之间的磁盘、分区、逻辑卷等进行数据镜像。

例如:当用户将数据写入本地磁盘时,数据也将会同步到同一网络的另一台主机的磁盘上,实现了本地与备机的实时同步。

当本地数据出现问题,备机还保留着同一份相同的数据,  保证了数据的安全。

基本功能:

数据镜像类似网络的RAID1功能

特点:实时性、透明性、同步镜像、异步镜像。

2.DRBD的组成

一个DRBD有两个以上节点构成,分为主用节点和备用节点

在主用节点上:

DRBD设备不受限制的读写操作,可以用来初始化、创建、挂载文件系统。

在备用节点上:

DRBD无法挂载只能用来接收主用节点发送过来的数据(备用节点不能用于读写访问)

两个节点之间是可以实现之间切换的

DRBD负责接收数据,把数据写到本地磁盘,然后把数据发送给另外一台主机,另外一台主机将数据保存到自己的磁盘中。

DRBD经常用于高可用集群和负载均衡集群系统中作为共享存储设备。

DRBD系统是在IP网络中运行,所以在集群中作为共享存储,不需要其他硬件投资,节约资金

DRBD用于数据备份,数据容灾等方面

3.DRBD主要特性

单主模式:使用比较频繁的一种模式,主用于高可用集群的数据存储方面,解决集群中的共享问题,此模式下,集群中只有一个主用节点可以对数据进行读写操作。   文件系统有ext3,4  xfs等

双主模式:只能在DRBD8.0以后版本中使用,主要用于负载均衡集群中,解决数据共享和一致性问题。

这种模式,集群中存在两个集群节点   文件系统有GFS、OCFS2

复制模式:

传输完整性校验

脑列通知和自动修复

由于集群节点间的网络连接临时故障、集群软件管理干预或者人为错误,导致DRBD两个节点切换为主用节点而断开连接。即脑列问题。

二、DRBD安装和测试

1.实验要求

DRBD(Distributed Replicated Block Device)安装测试

2.架构拓扑

网络要求:所有服务器位于同一VLan

3.系统环境

操作系统:Centos6.5

相关软件:drbd-8.4.6.tar.gz                  drbd-utils-8.9.6.tar.gz

网络要求:/etc/hosts 之间相互解析 需要手动添加

主用节点和备用节点/dev/sdb1是未经格式化的物理磁盘分区,空间大小相同(推荐)

4.地址规划

名称   角色 IP地址 虚拟IP地址 镜像磁盘分区
ser5.hyzc.com 主服务器 192.168.2.10 192.168.2.15 /dev/sdb1
ser6.hyzc.com 从服务器 192.168.2.11 192.168.2.15 /dev/sdb1

5.软件安装

1>、安装依赖的软件

#在编译安装之前,必须安装内核开发包,以及支持库

# yum -y install gcc kernel-devel kernel-headers

# yum -y install perl perl-libs

# yum -y install flex libxslt libxslt-devel

2>、编译安装DRBD

安装drbd内核模块

## Linux Kernel 2.6.32 起已包含DRBD内核模块,无需再安装。核心版本与DRBD版本对应关系详情参见:http://drbd.linbit.com/download/mainline/

[[email protected] Desktop]# uname -r    
2.6.32-431.el6.x86_64

[[email protected] Desktop]# tar xf drbd-8.4.6.tar.gz    
[[email protected] Desktop]# cd drbd-8.4.6    
[[email protected] drbd-8.4.6]# make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64

[[email protected] drbd-8.4.6]# cp drbd/drbd.ko /lib/modules/`uname -r`/kernel/lib/    
[[email protected] drbd-8.4.6]# depmod                    ## 更新内核包关联文件modules.dep

[[email protected] drbd-8.4.6]# modprobe drbd             ## 安装内核模块

[[email protected] drbd-8.4.6]# modinfo drbd              ## 查看drbd内核模块是否加载成功

## KDIR= 指定的系统内核源码路径,根据实际情况设置

3>. 安装drbd管理工具

安装依赖工具:

# yum -y install docbook-style-xsl

安装软件drbd-utils

[[email protected] Desktop]# tar xf drbd-utils-8.9.6.tar.gz    
[[email protected] Desktop]# cd drbd-utils-8.9.6    
[[email protected] drbd-utils-8.9.6]# ./configure --prefix=/usr/local/drbd --sysconfdir=/etc/ --localstatedir=/var/ --with-pacemaker

[[email protected] drbd-utils-8.9.6]#make && make install

## --with-pacemaker,启用pacemaker集群支持,会创建ocf格式资源文件:/usr/lib/ocf/resource.d/linbit/drbd 及(drbddisk、drbdupper)二个服务脚本。

4>.链接文件/启动服务

[[email protected] drbd-utils-8.9.6]# ln -s /usr/local/drbd/sbin/drbdadm /usr/sbin/drbdadm    
[[email protected] drbd-utils-8.9.6]# ln -s /usr/local/drbd/sbin/drbdmeta /usr/sbin/drbdmeta    
[[email protected] drbd-utils-8.9.6]# ln -s /usr/local/drbd/sbin/drbdsetup /usr/sbin/drbdsetup

5>.启动软件

[[email protected] drbd-utils-8.9.6]# /etc/rc.d/init.d/drbd start

## 为方便管理,可配置为系统服务自动启动

6.软件配置

1>.DRBD主配置文件(/etc/drbd.conf):

# vim  /etc/drbd.conf

# You can find an example in /usr/share/doc/drbd.../drbd.conf.example

include "/etc/drbd.d/global_common.conf";

include "/etc/drbd.d/*.res";

## global_common.conf文件包含global和common的DRBD全局配置部分;

## *.res文件包含DRBD资源的配置信息。

## 编辑全局配置文件(global_common.conf):    
# vim /etc/drbd.d/global_common.conf

# DRBD is the result of over a decade of development by LINBIT.      
# In case you need professional services for DRBD or have      
# feature requests visit http://www.linbit.com

global {      
        usage-count  no;      # 是否加入DRBD官方统计      
}

common {

syncer {      
                verify-alg sha1;                 # 定义网络传输速率,一般传输速度的30%      
                rate 200M;   }

}      
resource r0 {      
        # 公用相同部分可以放到顶部,各节点会自动继承      
  protocol  C;          # 使用drbd的第三种同步协议,表示收到远程主机的写入确认后,则认为写入完成

handlers {      
                # 定义处理机制程序,/usr/lib/drbd/ 里有大量的程序脚本。

pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f"; 
                   pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f"; 
                   local-io-error "echo o > /proc/sysrq-trigger ; halt -f"; 
                   fence-peer "/usr/lib64/heartbeat/drbd-peer-outdater -t 5";  
                   pri-lost "echo pri-lost. Have a look at the log files. | mail -s ‘DRBD Alert‘ [email protected]";  
                   split-brain "/usr/lib/drbd/notify-split-brain.sh [email protected]";  
                   out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh [email protected]";          
        }

startup {      
                       wfc-timeout  120;      
                      degr-wfc-timeout    120; 
        }

options {      
                # cpu-mask on-no-data-accessible      
        }

disk {                         # 磁盘相关公共设置,比如I/O、数据状态      
                on-io-error detach;   # 配置I/O错误处理策略为分离      
                fencing  resource-only;      
        }

net {      
                # 设置DRBD同步时使用的验证方式和密码信息。      
                cram-hmac-alg sha1;      
                shared-secret "drbd";      
        }

device    /dev/drbd0;   # DRBD逻辑设备的路径      
        meta-disk internal;      # drbd的元数据存放方式,DRBD磁盘内部。

# 每个主机的说明以"on"开头,后面是主机名.在后面的{}中为这个主机的配置.      
        on ser5.hyzc.com {                                            # 此处是节点的主机名‘uname -n’      
                address         192.168.2.10:7788;            # 设置DRBD的监听端口      
                disk            /dev/sdb1;                               # 节点物理设备

meta-disk internal;  
        }      
        on ser6.hyzc.com {      
                address         192.168.2.11:7788;      
                disk            /dev/sdb1;

meta-disk internal;                               #DRBD的元数据存储方式      
        }      
}

3>.启用DRBD资源

a.在两个节点执行      
## 创建设备元数据。这一步必须仅在创建初始化设备时完成。它初始化DRBD元数据。    
# drbdadm create-md r0

initializing activity log      
NOT initializing bitmap      
Writing meta data...      
New drbd meta data block successfully created.

b.在两个节点执行启动服务

# /etc/init.d/drbd start

# /etc/init.d/drbd start

最好在两个节点同时启动DRBD服务。

# netstat -anptul | grep :7788

c.在任意节点查看节点状态

登录任意drbd节点,然后执行”cat  /proc/drbd”命令,输出结果如下:

[[email protected] Desktop]# cat /proc/drbd    
version: 8.4.6 (api:1/proto:86-101)    
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2016-08-05 02:12:56    
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----    
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:20980176    
输出的含义解释:

ro表示角色信息,第一次启动drbd时,两个drbd节点默认都处于Secondary状态,    
ds是磁盘状态信息,“Inconsistent/Inconsisten”,即为“不一致/不一致”状态,表示两个节点的磁盘数据处于不一致状态。    
Ns表示网络发送的数据包信息。    
Dw是磁盘写信息    
Dr是磁盘读信息

d.设置主用节点

由于默认没有主用节点和备用节点之分,所以需要手动设置两个主机的主次节点。选择需要设置为主用节点的主机,然后执行如下命令:

[[email protected] drbd0]# drbdadm -- --overwrite-data-of-peer primary all

也可执行下边命令

# drbdsetup /dev/drbd1 primary -o

第一次执行完此命令后,如果需要设置那个为主用节点,就可以使下边的命令

# /sbin/drbdadm primary r0   或者  # /sbin/drbdadm primary all

执行完命令后,开始同步两台机器对应的数据:

从ser5的drbd状态看出:“ro状态现在变为“Primary/Secondary”,“ds”状态也变为“UpToDate/Inconsistent”,也就是“实时/不一致”状态,现在数据正在主备两个主机的磁盘间进行同步,且同步进度为14.6%,同步速度每秒8M左右。    
等一会在查看drbd的状态:

“ds”状态也变为“UpToDate/UpToDate”,也就是“实时/实时”状态

备注:

e.挂载DRBD设备

由于mount操作只能在主用节点上进行,所以只有设置了主用节点后才能格式化磁盘分区,同时,在两个节点中,同一时刻只能有一台处于primary状态,另一台处于secondary状态。

且处于secondary状态的节点上不能挂载DRBD设备,要在备用节点上挂载DRBD设备,要在备用节点上挂载DRBD设备,必须停用备用节点的DRBD服务或者将备用节点的服务提升为主用节点。

# mkfs.ext4 /dev/drbd0

# mount  /dev/drbd0/mnt

# df –hT

/dev/drbd0     ext4      20G  172M   19G   1% /mnt

# vim /etc/fstab

/dev/drbd0              /mnt                    ext4         defaults 0 0

完成挂载后,就可以在/mnt下面读写数据,且数据会自动同步到备用节点上。

6. 测试DRBD数据镜像

第一种方法:

[[email protected] Desktop]# cd /mnt/    
[[email protected] mnt]# ls    
lost+found    
[[email protected] mnt]# mkdir haha    
[[email protected] mnt]# cd haha/    
[[email protected] haha]# echo success > pjc.txt

[[email protected] /]# umount /mnt/

然后使用drbdadm secondary r0把ser5主机变为备机

[[email protected] /]# drbdadm secondary r0    
[[email protected] /]# cat /proc/drbd    
version: 8.4.6 (api:1/proto:86-101)    
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2016-08-05 02:12:56    
0: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r-----    
    ns:21444324 nr:0 dw:464148 dr:20981929 al:119 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

现在ser5变成了备机,我们接下来到ser6里操作,使用drbdadm primary r0,使ser6变成主机

[[email protected] mnt]# drbdadm primary r0    
[[email protected] mnt]# cat /proc/drbd    
version: 8.4.6 (api:1/proto:86-101)    
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2016-08-05 02:12:56    
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----    
    ns:0 nr:21444324 dw:21444324 dr:672 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

从ser6的drbd输出可以看到,ser6成为了主机    
然后把drbd挂载到mnt目录下,查看是否有ser5里建立的文件

[[email protected] mnt]# mount /dev/drbd0 /mnt/    
[[email protected] mnt]# cd /mnt/    
[[email protected] mnt]# ll    
total 20    
drwxr-xr-x 2 root root  4096 Aug  5 06:09 haha    
drwx------ 2 root root 16384 Aug  5 05:58 lost+found    
[[email protected] mnt]# cd haha/    
[[email protected] haha]# ls    
pjc.txt

可以看出,ser6成为主机时,收到了之前主机ser5建立的文件夹。

第二种方法:

停止备用节点ser6上面的DRBD服务        注:停用服务必须退出当前挂载的目录,不然报

r0: State change failed: (-12) Device is held open by someone      
additional info from kernel:      
failed to demote      
ERROR: Module drbd is in use

[[email protected] /]#  /etc/init.d/drbd stop    
[[email protected] /]# mount /dev/sdb1 /mnt/    
[[email protected] /]# df    
[[email protected] /]# cd /mnt/    
[[email protected] mnt]# ls    
[[email protected] haha]# ls    
haha  pjc.txt  tets

注:测试完后,要重新启动备用节点上面的DRBD服务,此时必须先卸载/dev/sdb1设备,然后才能成功启动DRBD服务

这里挂载的是/dev/sdb1设备,而不是DRBD设备,因为DRBD服务只有到DRBD服务启动的时候才能加载到系统中。

7.DRBD主备节点切换

在系统维护或者在高可用集群中,当主用节点出现故障,就需要主备节点的角色切换

A、停止DRBD服务切换

关闭主用节点服务,此时挂载的DRBD分区就自动在主用节点卸载了,操作如下:

[[email protected] /]# /etc/init.d/drbd stop    
Stopping all DRBD resources: .

查看备用节点DRBD状态

[[email protected] /]# cat /proc/drbd    
version: 8.4.6 (api:1/proto:86-101)    
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2016-08-05 02:12:56    
0: cs:WFConnection ro:Secondary/Unknown ds:UpToDate/DUnknown C r-----    
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

从标志unknown状态,然后在备用节点切换

[[email protected] /]# drbdadm primary all    
[[email protected] /]# cat /proc/drbd    
version: 8.4.6 (api:1/proto:86-101)    
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2016-08-05 02:12:56    
0: cs:WFConnection ro:Primary/Unknown ds:UpToDate/DUnknown C r-----    
    ns:0 nr:0 dw:0 dr:672 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

此时已变为primary状态,启动原来ser6主用节点服务后,处于unknown会自动变为secondary状态

然后挂载DRBD设备,完成主备切换      
[[email protected] /]# mount /dev/drbd0 /mnt/

B、正常切换

首先在主用节点卸载磁盘分区,后执行:

[[email protected] /]# umount /mnt/    
[[email protected] /]# drbdadm secondary all

此时查看ser5主状态

[[email protected] /]# cat /proc/drbd    
version: 8.4.6 (api:1/proto:86-101)    
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2016-08-05 02:12:56    
0: cs:Connected ro:Secondary/Secondary ds:UpToDate/UpToDate C r-----    
    ns:8 nr:0 dw:8 dr:1025 al:1 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

此时看到两个:Secondary/Secondary 状态,所以指定一个主状态,在备用节点执行以下命令:

[[email protected] /]# drbdadm primary all    
[[email protected] /]# cat /proc/drbd    
version: 8.4.6 (api:1/proto:86-101)    
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2016-08-05 02:12:56    
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----    
    ns:0 nr:8 dw:8 dr:672 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

然后挂载DRBD设备,完成主备切换    
[[email protected] /]# mount /dev/drbd0 /mnt/

8.drbd脑裂手动恢复过程(以ser6的数据位主,放弃ser5不同步数据):    
1)将ser6设置为主节点并挂载测试,r0为定义的资源名    
#drbdadm primary r0 
# mount /dev/drbd0 /mnt/

# ls -lh /mnt/   查看文件情况

2)将ser5设置为从节点并丢弃资源数据    
# drbdadm secondary r0    
# drbdadm -- --discard-my-data connect r0

3)在ser6主节点上手动连接资源    
# drbdadm connect r0

4)最后查看各个节点状态,连接已恢复正常    
#cat /proc/drbd

遇到的问题:

A、软件编译时,错误解决办法:

make[1]: *** [drbdsetup.8] Error 4      
make[1]: Leaving directory `/root/Desktop/drbd-utils-8.9.6/documentation/v9‘      
make: *** [doc] Error 2

解决办法:

# yum -y install docbook-style-xsl

configure: error: Cannot build utils without flex, either install flex or pass the --without-utils option.      
解决方式:yum install flex

B、软件运行时,错误解决办法:    
/etc/rc.d/init.d/drbd start    
Starting DRBD resources: no resources defined!      
解决办法:没有配置DRBD资源,或编译时没指定配置文件路径(/etc/drbd.conf)。

2、当执行命令”drbdadm create-md r0”时,出现以下错误信息。    
Device size would be truncated, which would corrupt data and result in      
‘access beyond end of device‘ errors.      
You need to either      
* use external meta data (recommended)      
* shrink that filesystem first      
* zero out the device (destroy the filesystem)      
Operation refused.      
Command ‘drbdmeta 0 v08 /dev/xvdb internal create-md‘ terminated with exit code 40      
drbdadm create-md r0: exited with code 40      
解决办法:初始化磁盘文件格式, dd if=/dev/zero of=/dev/sdXYZ bs=1M count=1

C、主备切换过程中遇到报错

时间: 2024-10-05 04:40:42

DRBD数据镜像与搭建的相关文章

GOLDENGATE安装与数据复制流搭建配置_不含DDL抽取版

GOLDENGATE安装与数据复制流搭建配置 (源库为实例,支持ASM,不含DDL抽取版) 1.配置场景 2.OGG软件安装 2.1 源端和目标端创建OGG安装目录与授权 #mkdir /u01/ogg #chown –R oracle:oinstall/u01/ogg #chmod –R 777/u01/ogg 2.2 源端和目标端配置环境变量 #su – oracle [[email protected]~]$ vi.bash_profile 添加以下内容: export OGG=/u01/

手把手教你Web数据可视化平台搭建

原文链接:http://www.jianshu.com/p/ad1a49375da4 ,源代码请访问原文 PS.想获取全部源代码或者有不懂的问题的感兴趣的同学,请访问原文- 一.项目展示 这个Web数据可视化平台的效果如下(没加样式,主要侧重功能) 效果演示 这个数据可视化Demo能够实现如下功能: 1.csv文件上传(其他格式文件也可以) 2.自定义想要显示的数据 2.nodejs搭建服务器,解析csv文件数据 3.使用Highcharts进行数据可视化 4.关键参数计算并展示 二.实现思路和

Ambari——大数据平台的搭建利器之进阶篇

前言 本文适合已经初步了解 Ambari 的读者.对 Ambari 的基础知识,以及 Ambari 的安装步骤还不清楚的读者,可以先阅读基础篇文章<Ambari--大数据平台的搭建利器>. Ambari 的现状 目前 Apache Ambari 的最高版本是 2.0.1,最高的 Stack 版本是 HDP 2.2.未来不久将会发布 Ambari 2.1 以及 HDP 2.3(本文也将以 Ambari 2.0.1 和 HDP 2.2 为例进行讲解).其实在 Ambari trunk 的 code

性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建

上Grafana官网下载Grafana,此产品只有64位的版本,没有32位的 Influxdb:InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据.而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便.上官网下载 因为jmeter要往infuxdb里面写数据,所以最好把这两个放在一台机器上,grafana只做展示infuxdb里面的数据,可以另外部署 jmeter实时数据展示系统

大数据伪分布式搭建

大数据伪分布式搭建 ***对于大数据这块相信大家对linux有一定的认识,所有对创建虚拟机那块就不给予详细的说明了. 基础环境的搭建 1.系统环境 平台:VMware Workstation pro 系统:centos 7 Hadoop版本: Apache Hadoop 3.0.0 本次实验是搭建一台master和两台node节点.因为我们主要的目的是想让大家了解一下Hadoop伪分布式的搭建流程,如果说大家的电脑小于8G的话,那就每台节点就大概开个1.5G左右,也是为了大家有一个好的体验. 修

第 3 章 镜像 - 020 - 搭建本地 Registry

Docker Hub 虽然非常方便,但还是有些限制,比如: 需要 internet 连接,而且下载和上传速度慢. 上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的. 安全原因很多组织不允许将镜像放到外网. 解决方案就是搭建本地的 Registry. 在 Docker Hub 上也有官方的镜像 registry.我们可以在 Docker 中运行自己的 registry. 启动 registry 容器 1 [email protected]:~

docker 私有镜像服务器搭建

1.准备一台服务器A(已安装docker, IP:192.168.39.111) 2.在服务器A上通过运行registry容器进行搭建 docker run -itd -v /my_registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest 参数说明-itd:在容器中打开一个伪终端进行交互操作,并在后台运行:-v:把宿主机的/data/registry目录绑定 到 容器/var/

(数据科学学习手札81)conda+jupyter玩转数据科学环境搭建

本文示例yaml文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们在使用Python进行数据分析时,很多时候都在解决环境搭建的问题,不同版本.依赖包等问题经常给数据科学工作流的搭建和运转带来各种各样令人头疼的问题,本文就将基于笔者自己摸索出的经验,以geopandas环境的搭建为例,教你使用conda+jupyter轻松搞定环境的搭建.管理与拓展. 图1 2 虚拟环境的搭建与使用 2.1 使用con

通过ISO镜像简单搭建本地yum仓库

在一次安装软件过程中,需要依赖包,但是这个依赖包没有在原先的ISO源里面.因为下载的系统包有CD1跟CD2,检查后发现所需的rpm包在CD2里面,直接配置CD2为yum源时缺需要CD1里面的rpm包.最后想了个办法,用软连接把两个ISO的包合并后得到一个完整的安装源. 在一台机器上配置后,可以在这台服务器上搭建http服务器,把它当作一个内网的yum仓库使用.通过目录区分不同版本的yum源,简化并统一内网服务器的yum源配置. 一.原始的yum配置. [[email protected] ~]#