温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

KVM和GFS搭建部署集群

发布时间:2020-06-16 16:27:26 来源:亿速云 阅读:633 作者:元一 栏目:云计算

简介

KVM,是Keyboard Video Mouse的缩写,KVM 通过直接连接键盘、视频和鼠标 (KVM) 端口,能够访问和控制计算机。KVM 技术无需目标服务器修改软件。这就意味着可以在BIOS环境下,随时访问目标计算机。KVM 提供真正的主板级别访问,并支持多平台服务器和串行设备。KVM 技术已经从最初的基础SOHO办公型,发展成为企业 IT 基础机房设施管理系统。可以从kvm 客户端管理软件轻松的直接访问位于多个远程位置的服务器和设备。KVM over IP 解决方案具备完善的多地点故障转移功能、符合新服务器管理标准 (IPMI) 的直接界面,以及将本地存储媒体映射至远程位置的功能。

GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。

实验拓扑图:

KVM和GFS搭建部署集群

实验需求

为了搭建KVM虚拟平台,我们需要创建一个条带复制卷,为虚拟主机提供搭建环境和分布式存储功能,

GFS 群集的搭建

KVM和GFS搭建部署集群
在GFS上我们需要为每个node添加一块硬盘,将他们作为条带复制卷的加载空间。

环境搭建

1、为4台node节点,每台添加一块20G的移动硬盘,并且在客户端上开启虚拟化引擎

KVM和GFS搭建部署集群

2、修改node节点的名称

分别修改为node1、node2、node3、node4

[root@localhost ~]#hostnamectl set-hostname node1
[root@localhost ~]# su
3、将四台服务器上的磁盘格式化,并挂载

在这里我们使用脚本执行挂载

#进入opt目录
[root@node1 ~]# cd /opt
#磁盘格式化、挂载脚本
[root@node1 opt]# vim a.sh
#! /bin/bash
echo "the disks exist list:"
fdisk -l |grep '磁盘 /dev/sd[a-z]'
echo "=================================================="
PS3="chose which disk you want to create:"
select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit
do
    case $VAR in
    sda)
        fdisk -l /dev/sda
        break ;;
    sd[b-z])
        #create partitions
        echo "n
                p

                w"  | fdisk /dev/$VAR

        #make filesystem
        mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null
    #mount the system
        mkdir -p /data/${VAR}"1" &> /dev/null
        echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab
        mount -a &> /dev/null
        break ;;
    quit)
        break;;
    *)
        echo "wrong disk,please check again";;
    esac
done
#给于脚本执行权限
[root@node1 opt]# chmod +x a.sh

将脚本通过scp推送到其他三台服务器上

scp a.sh root@192.168.45.134:/opt
scp a.sh root@192.168.45.130:/opt
scp a.sh root@192.168.45.136:/opt

这个只是样本

[root@node1 opt]# ./a.sh
the disks exist list:
==================================================
1) sdb
2) quit
chose which disk you want to create:1      //选择要格式化的盘
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x37029e96.

Command (m for help): Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): Partition number (1-4, default 1): First sector (2048-41943039, default 2048): Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
4、设置hosts文件

在第一台node1上修改

#在文件末尾添加
vim /etc/hosts
192.168.45.133 node1
192.168.45.130 node2
192.168.45.134 node3
192.168.45.136 node4

通过scp将hosts文件推送给其他服务器和客户端

#将/etc/hosts文件推送给其他主机
[root@node1 opt]# scp /etc/hosts root@192.168.45.130:/etc/hosts
root@192.168.45.130's password: 
hosts                                      100%  242    23.6KB/s   00:00    
[root@node1 opt]# scp /etc/hosts root@192.168.45.134:/etc/hosts
root@192.168.45.134's password: 
hosts                                      100%  242   146.0KB/s   00:00    
[root@node1 opt]# scp /etc/hosts root@192.168.45.136:/etc/hosts
root@192.168.45.136's password: 
hosts              

在其他服务器上查看推送情况
KVM和GFS搭建部署集群

关闭所有服务器和客户端的防火墙
[root@node1 ~]# systemctl stop firewalld.service 
[root@node1 ~]# setenforce 0

在客户端和node服务器上搭建yum仓库

#进入yum文件路径
[root@node1 ~]# cd /etc/yum.repos.d/
#创建一个空文件夹
[root@node1 yum.repos.d]# mkdir abc
#将CentOS-文件全部移到到abc下
[root@node1 yum.repos.d]# mv CentOS-* abc
#创建私有yum源
[root@node1 yum.repos.d]# vim GLFS.repo
[demo]
name=demo
baseurl=http://123.56.134.27/demo
gpgcheck=0
enable=1

[gfsrepo]
name=gfsrepo
baseurl=http://123.56.134.27/gfsrepo
gpgcheck=0
enable=1

#重新加载yum源
[root@node1 yum.repos.d]# yum list
安装必要软件包
[root@node1 yum.repos.d]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
在四台服务器上启动glusterd,并设置为开机自启动
[root@node1 yum.repos.d]# systemctl start glusterd.service 
[root@node1 yum.repos.d]# systemctl enable glusterd.service
添加节点信息
[root@node1 yum.repos.d]# gluster peer probe node2
peer probe: success. 
[root@node1 yum.repos.d]# gluster peer probe node3
peer probe: success. 
[root@node1 yum.repos.d]# gluster peer probe node4
peer probe: success. 

在其他服务器上查看节点信息

[root@node1 yum.repos.d]# gluster peer status

创建分布式复制卷

#创建分布式复制卷
[root@node2 yum.repos.d]# gluster volume create dis-rep replica 2 node1:/data/sdb1 node2:/data/sdb1 node3:/data/sdb1 node4:/data/sdb1 force
volume create: dis-rep: success: please start the volume to access data
#开启复制卷
[root@node2 yum.repos.d]# gluster volume start dis-rep 
volume start: dis-rep: success

KVM虚拟主机操作

1、将我们需要安装的系统镜像包挂载到虚拟机上
#挂载软件包
mount.cifs //192.168.100.3/lzp /mnt
#先将安装镜像包复制到/opt/目录下
cp -r /mnt/CentOS-7-x86_64-DVD-1708.iso /opt/ &

2、配置自己的源

#进入yum文件路径
[root@node1 ~]# cd /etc/yum.repos.d/
#删除刚才在客户端上创建的私有源
[root@node1 yum.repos.d]# rm -rf GLFS.repo
#将CentOS-文件全部移到到yum.repos.d下
[root@node1 abc]# mv CentOS-* ../
# 重新加载公有源
root@node1 yum.repos.d]# 
3、配置KVM必须环境包
#安装桌面环境
yum groupinstall "GNOME Desktop" -y

#KVM模块
yum install qemu-kvm -y

# 调试工具
yum install qemu-kvm-tools -y

#构建虚拟主机的命令工具
yum install virt-install -y

#qemu组件,创建磁盘,启动虚拟机
yum install qemu-img -y

#网络支持工具
yum install -y bridge-utils

#虚拟机管理工具
 yum install libvirt -y

#图形化管理虚拟机
yum install virt-manager -y
4、判断cpu是否支持虚拟化。并查看虚拟机模块
egrep '(vmx|svm)' /proc/cpuinfo

#查看,模块
lsmod | grep kvm
5、开启服务,并设置开机自启动
#开启服务
systemctl start libvirtd
#开机自启动
systemctl enable libvirtd
移动软件包,将挂载的软件包移动到/data/目录下
#创建挂载点
 mkdir /data/
 #将刚才创建好的条带复制卷挂碍到data目录下
 mount.glusterfs node3:dis-rep /data/
#创建两个文件
mkdir vdisk viso
#复制并调到后台运行
cp -r /mnt/CentOS-7-x86_64-DVD-1708.iso /data/viso &

配置虚拟机的桥接网卡

#进入网卡文件
cd /etc/sysconfig/network-scripts/
#复制创建br0网卡
cp -p ifcfg-ens33 ifcfg-br0
#进入ens33网卡,设置桥接命令
vim ifcfg-ens33
#桥接命令
BRIDGE=br0

#配置桥接网卡,将桥接网卡设置为静态的地址
vim ifcfg-br0
TYPE=bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.45.140
NETMASK=255.255.255.0
GATEWAY=192.168.45.2

#重启网卡
service network restart 
查看网卡信息

KVM和GFS搭建部署集群

进入图像化管理界面
virt-manager

KVM和GFS搭建部署集群
选择存储,单击选择,进入存储控制界面

KVM和GFS搭建部署集群
选择创建新的存储池,然后输入名称
KVM和GFS搭建部署集群
然后选择前进,然后在里边跳出的页面,单击浏览。进入下列界面
点击,该图标
KVM和GFS搭建部署集群
进入选择data目录下的vdisk文件夹,然后选择点击打开
KVM和GFS搭建部署集群
退出界面后点击完成,就完成新的存储池的创建

在dis上选择添加新加卷,点击进入后输入名称,并且在下边的存储卷配额上输入要分配的区间大小
KVM和GFS搭建部署集群

跟上边一样的步骤,创建一个iso存储池
KVM和GFS搭建部署集群
在这里选择/data/z中的viso/中的/镜像,然后点击打开
KVM和GFS搭建部署集群
然后点击完成,就完成了地址池的添加,查看创建好的存储池,创建好之后,点击文件中的退出。
KVM和GFS搭建部署集群
点击文件,选择生成新的虚拟主机
KVM和GFS搭建部署集群
在上述选择前进,之后,在选择要安装的系统镜像的时候,选择iso中的镜像
KVM和GFS搭建部署集群
镜像选择完成,点击前进
KVM和GFS搭建部署集群
分派内存的大小,一般根据自己的实际内存的大小分派
KVM和GFS搭建部署集群
选择创建自定义存储,选择自己刚才的vdisk中创建的Centos7文件
KVM和GFS搭建部署集群
KVM和GFS搭建部署集群
点击选择,在安装前自定义配置,然后点击完成
KVM和GFS搭建部署集群
在引导选项中,选择主机引导时启动虚拟机
KVM和GFS搭建部署集群
点击开始安装,后边就跟我们安装CentOS的步骤一样了
KVM和GFS搭建部署集群
然就就开始了自动安装,可以在虚拟机管理器上查看到虚拟的使用情况
KVM和GFS搭建部署集群

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI