1.概述

由于在单台服务器上搭建灾备环境需要KVM和NFS的支持,下面先列出KVM的搭建流程,再列出使用NFS实现单台服务器灾备的流程。

A.搭建KVM环境

1>.主机环境准备

Linux System:CentOS6.5

ISO:CentOS-6.5-x86_64-bin-DVD1.iso

2>.配置本地YUM源

CentOS服务器上YUM源配置可能已经失效,需要手动配置(若YUM源可用,则忽略该步骤)

首先将镜像文件拷贝到服务器的桌面上,进入root账户下:

 mkdir -p /media/iso
mkdir -p /media/cdrom

将CentOS-6.5-x86_64-bin-DVD1.iso移动到/media/iso目录下

 mv /home/user/CentOS-6.5-x86_64-bin-DVD1.iso /media/iso

 然后挂载到/media/cdrom目录下

 mount -o loop /media/iso/CentOS-6.5-x86_64-bin-DVD1.iso /media/cdrom

然后使用df -h查看挂载状态(出现箭头处信息即挂载成功)

备份repo文件

 cd /etc/yum.repos.d/
ls

不建议直接删除该文件夹下的文件,虽然这样做是可行的,在这里,我们给这些文件改名全部加上.bak的后缀,这样使用yum命令的时候就不会读取到这些配置文件了,能读取到的配置文件一定是以.repo结束

 mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-Debuginfo.repo CentOS-Base.repo.bak
mv CentOS-Vault.repo CentOS-Base.repo.bak

编辑CentOS-Media.repo文件

 vi CentOS-Media.repo
将enabled=0(禁用本地源)改为1(开启本地源)
将baseurl改为你镜像文件所在的挂载目录,baseurl=file:///media/cdrom
x保存退出

检验YUM源是否安装成功

 yum clean all
yum make cache
yum -y install git(安装一个软件测试yum是否安装成功)

3>.配置KVM虚拟化

安装插件及工具

 yum install -y \
qemu-kvm.x86_64 \
qemu-kvm-tools.x86_64 \
python-virtinst.noarch \
qemu-img.x86_64 \
bridge-utils.x86_64 \
libvirt \
virt-manager

验证当前主机是否满足kvm的运行条件

 grep -E -o ‘vmx|svm’/proc/cpuinfo //如果有输出就支持虚拟化,intel cpu过滤vmx,amd cpu过滤svm
modprobe kvm //加载KVM模块
lsmod | grep kvm

创建桥接网卡

ifconfig查看当前主机所使用的网卡及ip信息,修改该网卡的配置文件

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

只需在末尾处添加Bridge=”br0”即可,同时注释到网卡的ip相关参数

x保存退出

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

x保存退出

 service network restart

ifconfig查看桥接是否设置成功

在kvm虚拟环境中安装CentOS6.5系统

注意:硬盘中要留两个目录给数据存储池与镜像存储池,大小自己设置

数据存储池用来存放安装的系统文件;镜像存储池用来存放iso镜像。

 virt-manager //启动virt-manager管理工具

创建数据存储池

                                                                                                                                               

                                                                                                                                                                                                                             

创建镜像存储池,与上同。创建完成后,我们将准备好的镜像文件拷贝到镜像存储池所在的目录。刷新一下管理器

                                                                                                                                       安装系统

右击QEMU/KVM,新建

                                                                                  

                                                                                                                                     

                                                                                  

配置完成后,即可安装虚拟机。

克隆

安装完成后,我们开始配置该台虚拟机的IP

 vi /etc/sysconfig/network-scripts/ifcfg-eth0,添加开机自启网卡和配置好IP和网卡等相关信息
ONBOOT=yes
IPADDR=192.168.2.83
NETMASK=255.255.255.0
BOOTPROTO=static

x保存退出

 service network restart
ping 真机ip//查看能否与真机通信

关闭防火墙

 service iptables status//查看防火墙状态
service iptables stop//临时关闭防火墙
chkconfig iptables off//永久关闭防火墙

关闭完成后,记得重启

设置普通用户拥有root操作不需要密码

进入root账户,visudo,找到如下命令

                                                                                                                                                                                                                                  在后面添加你的用户名,如下

User   ALL=(ALL)NOPASSWD:       ALL

                                                                                                                                                                 在红箭头处添加注释

修改完一系列的配置后,开始克隆

                                                                                      

克隆完成后,由于该系统是克隆另一个系统,所有的信息都是一样的,需修改以下配置:

主机名、IP地址、MAC地址,UUID删除掉

 vi /etc/sysconfig/network //永久更改主机名,重启后生效
ifconfig –a //查看网络信息

 vi /etc/sysconfig/network-scripts/ifcfg-eth0 //将UUID删除,修改名称、MAC地址、IP地址
x保存退出
service network restart //重启网络服务
ping 真机ip //查看通信情况

根据灾备机器的数量情况,选择克隆机器台数,到这里,kvm的搭建流程就完成了,接下来开始搭建nfs的环境

B.搭建NFS环境

1>.主机环境准备

Linux System:CentOS6.5

2>.NFS安装及配置

由于NFS安装需要yum源支持,若本地服务器的yum源不可用,参照A.2>配置本地yum源即可,若yum源可用,则直接yum安装nfs即可

首先,查看系统是否已安装NFS

 rpm -qa|grep nfs
rpm -qa|grep rpcbind

安装NFS

 yum -y install nfs-utils rpcbind

配置服务端

由于我们是在单台服务器上模拟灾备效果,我们采用的是将kvm中的虚拟机当作客户端,包含kvm的虚拟机当作服务端。若是两台或是多台机器,同理配置即可。

在NFS服务端上创建共享目录/data/lys/,并设置权限

 mkdir -p /data/lys
chmod 666 /data/lys/

编辑export文件

 vim /etc/exports
/data/lys 192.168.2.0/24(rw,no_root_squash,no_all_squash,sync)

sync  async    sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘

配置生效

 exportfs -r

启动rpcbind、nfs服务

 service rpcbind start
service nfs start

查看RPC 服务的注册状况

 rpcinfo -p localhost

在你的 NFS 服务器设定妥当之后,我们可以在 server 端先自我测试一下是否可以联机!就是利用 showmount 这个指令来查阅!

 showmount -e localhost

出现如上信息,即表示可以联机

客户端配置

安装nfs-utils客户端

 yum -y install nfs-utils

创建挂载目录

 mkdir /lys

查看服务器抛出的共享目录信息.

 showmount -e 服务器端的IP

为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议

 mount -t nfs 服务器ip:/data/lys /lys -o proto=tcp -o nolock(Tips:由于nfs版本过高,跟Centos版本不匹配,可能会出现挂载后目录出现nobody的情况,降低nfs版本即可,解决版本参照如下命令:mount -t nfs -o vers=3 服务器ip:/data/lys /lys -o proto=tcp -o nolock)

查看挂载结果

dh -h查看挂载状态,如下图,则挂载成功

测试

  服务端

 echo “test” > test.txt

客户端

 cat /lys/test.txt
test
echo “ 1024” > /lys/test.txt

服务端

 cat /data/lys/test.txt
test
1024

从上述信息中,我们已经发现,文件信息已经通过nfs这个简单的文件服务器开始进行传递,接下来,解挂nfs,开始进行其他补充设置

解挂nfs

 umount /lys
df -h//解挂完成之后,查看下挂载状态,确保已经解挂

固定NFS服务端口

因为NFS启动时会随机启动多个端口并想RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。

rpcinfo -p localhost//查看NFS端口相关信息

 vim /etc/sysconfig/nfs//分配端口,编辑配置文件
添加:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
service nfs restart//重启nfs服务
rpcinfo -p localhost//再次查看NFS端口相关信息,确保端口信息已修改

至此,kvm和nfs的环境就搭建完成了。接下来,就可以在单台服务器上做灾备了。

Centos服务器上NFS灾备环境及KVM的搭建及使用的更多相关文章

  1. CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3

    CentOS7服务器上部署深度/机器学习环境推荐首选anaconda3,亲测~~ 因为可以创建不同的环境版本或虚拟环境 CentOS7服务器安装anaconda3后,CentOS7服务器开启后自动将a ...

  2. 在centos服务器上启用ipv6地址

    随着互联网世界日新月异的发展,ipv6好像已经成为一种必不可少的趋势,但是当前国内机房大部分还不能支持ipv6,腾讯云亦如此.同时,现在有部分程序在服务器上运行的时候,需要服务器能监听一个ipv6地址 ...

  3. 记 CentOS 服务器上安装 neo4j 图数据库及本地访问

    下载 去官网下载压缩包放到服务器上.地址为neo4j 下载中心,我这里选择的是 Neo4j 3.5.25 (tar).具体如何做呢?我这里使用的是土方法,即先压缩包下载到本地电脑(win 10系统), ...

  4. CentOS服务器上的 git 包版本控制

    本文衔接上文"记录一次无聊的(经历了Nodejs -> Shell -> C)的探索问题过程",服务器上git版本是1.8.3.1,使用的pm2来管理nodejs进程, ...

  5. Linux学习2-在阿里云服务器上部署禅道环境

    前言 以前出去面试总会被问到:测试环境怎么搭建?刚工作1-2年不会搭建测试环境还可以原谅自己,工作3-5年后如果还是对测试环境搭建一无所知,面试官会一脸的鄙视. 本篇以最简单的禅道环境搭建为例,学习下 ...

  6. CentOS 6上安装xfce桌面环境

    [日期:2012-01-30]   在新的CentOS 6上默认没有包含xfce的桌面环境,使用yum也找不到这些包,但是自己又喜欢这种简单的桌面环境,此时可以使用下面的方法来安装 [plain] $ ...

  7. 在centos服务器上配置gitlab钩子引发的一系列问题

    为了给公司的服务器上搭建gitlab环境并且配置钩子(实现在本地git push之后服务器自动git pull),整了好久,最后终于把问题解决了,下面是记录安装gitlab之后引发的一系列问题: 首先 ...

  8. centos服务器上部署javaweb项目(转)

    本文总体参照http://blog.csdn.net/u011019141(然后更据自己情况进行更改) 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG_ ...

  9. CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

    一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7centos6 ...

随机推荐

  1. 【转载】大白话Docker入门(二)

    原文:https://yq.aliyun.com/articles/63517?spm=a2c4e.11153940.blogcont63035.15.12011c3fddklk0 上篇的大白话Doc ...

  2. Mask_RCNN学习记录(matterport版本)

    资源链接 Mask R-CNN论文 matterport版本的GitHub 基于Keras和Tensorflow GitHub上还有Facebook的官方实现版本:Detectron maskrcnn ...

  3. codeforces gym 101611C 重链剖分构造

    给一棵树 要求在一个20*1e6的矩阵上放下这棵树,每个点的坐标都是整数且所有边都不相叉 题解 按照重链遍历,先给轻儿子坐标,然后沿着重儿子向下走即可 #include <bits/stdc++ ...

  4. 前端笔记知识点整合之JavaScript(二)关于运算符&初识条件判断语句

    运算符 数学运算符的正统,number和number的数学运算,结果是number.出于面试的考虑,有一些奇奇怪怪的数学运算: 数学运算中:只有纯字符串.布尔值.null能够进行隐式转换.   //隐 ...

  5. 帆软报表(finereport)实现自动滚屏效果

    例如Demo:IOS平台年度数据报表. 展示内容丰富,一个页面中存在多个图表.内容,超出了浏览器窗口的大小导致内容展示不全. 为了能够预览这个报表的全部内容,可以使用JS滚屏效果来实现. 操作步骤: ...

  6. Django组件-中间件

    1.中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影 ...

  7. 前端angular使用crypto-js进行加密

    首先下载大包 npm install crypto-js 然后下载ts版本的包 npm install --save @types/crypto-js 接着在头部导入crypto-js模块 impor ...

  8. Mysql-表的完整性约束

    一.概述 为了约束用户对数据增,删,改,以确保数据正确,有效,合规. 有以下几种约束 not null 非空 指定某列不能为空 unique 唯一 指定某列或某几列的组合不能重复 primary ke ...

  9. .net core Swagger 过滤部分Api

    因为场景需要,要把某些特定的api过滤掉,不允许显示在swaggerui里, 具体操作步骤: 分为三步 步骤1: 创建Attribute    /// <summary> /// igno ...

  10. 002 html总结

    1.题目 每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗? div+css的布局较table布局有什么优点? strong与em的异同? 你能描述一下渐进增强和优雅降级之 ...