IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 单台宿主机内通过两台docker容器配置glusterfs集群 -> 正文阅读

[系统运维]单台宿主机内通过两台docker容器配置glusterfs集群

本文主要内容为:在一台Centos7.9虚拟机(模拟物理机)内通过两台docker容器构建glusterfs集群并实现在虚拟机上的挂载,由于虚拟机可以虚拟硬盘,方便操作,所以本文没有选择在物理机上搭建。

一、配置虚拟机硬盘和网络

首先要保证虚拟机能够和外网联通,如果想配置外网和内网,可以在虚拟机内添加两个虚拟网卡,一个为桥接模式,另一个为NAT模式。然后在虚拟机上虚拟两个20G的硬盘。下图为虚拟机配置:

第一块硬盘为操作系统硬盘,主要是网络和硬盘需要配置好,其他参数酌情配置。

二、安装docker

接下来是进入虚拟机内安装docker,docker容器的安装,本人是按照菜鸟docker教程中采用手动方式安装的,由于本文不是主要讲解docker的安装,所以详细的步骤可以参考:CentOS Docker 安装 | 菜鸟教程 (runoob.com)??????

安装完docker后启动docker,?

systemctl start docker 

三、容器启动和网络配置

可以去docker hub查找一下centos官方镜像然后拉取,我来取的是官方centos7.9的镜像.

docker pull centos:centos7.9.2009

通过docker images命令可以查看到我来取的镜像。

接下来是配置容器网络,我采用的是桥接网络:

docker network create mynet --subnet 192.168.4.0/24 --gateway 192.168.4.1

通过docker network ls可以查看到我创建的网络mynet:

?配置好网络后,就可以启动容器并绑定网络,分别启动两台docker容器server1和server2:

docker run -it -d --restart=always --network mynet --name server1 --privileged=true  eeb6 /sbin/init

docker run -it -d --restart=always --network mynet --name server2 --privileged=true  eeb6 /sbin/init

?参数介绍:-it交互模式,-d后台守护进程,--restart随docker守护进程启动而启动,--privileged特权模式,由于我要在容器内启动服务,挂载硬盘,所以需要特权模式,注意后面一定是/sbin/init或者/usr/sbin/init,我容器的tag是以eeb6打头,实际运行时要运行你们本地镜像的名字。使用docker ps可以查看到我创建的两个容器:

然后检查一下两台容器的网络:

server1为4.2,server2为4.3,由于我在创建容器时没有指定容器IP,所以该IP为docker自动分配的。然后检查一下容器之间的网络连接和容器和虚拟机的网络连接,我这里是正常的,由于我要挂载,所以我修改了一下宿主机的/etc/hosts文件,?

?四、容器内安装glusterfs-server

?接下来就是glusterfs的安装,我已server1为例来讲解:

?首先在虚拟机上下载yum源:(由于我下载的centos7.9镜像没有wget命令,只能拷贝了)

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
docker cp CentOS7-Base-163.repo server1:/etc/yum.repos.d/

?将163的源拷贝到容器中并替换容器原来的源。

docker exec -it /bin/bash    //进入容器
cd /etc/yum.repo.d/
mv CentOS-Base.repo CentOS-Base.repo.bak   //备份旧配置文件
mv CentOS7-Base-163.repo CentOS-Base.repo  //替换

然后在server1容器内安装glusterfs:

yum install centos-release-gluster
yum clean all&&yum makecache
yum install glusterfs-server
//启动glusterd服务
systemctl start glusterd

server2也按照server1这样安装glusterfs。

五、硬盘格式化挂载

接下来就是硬盘格式化挂载:

正常我们在server1容器内能看到两块磁盘,server1对/dev/sdb进行格式化挂载:

# mkfs.xfs -i size=512 /dev/sdb
# mkdir -p /data/brick1
# echo '/dev/sdb /data/brick1 xfs defaults 1 2' >> /etc/fstab
# mount -a && mount

然后在server2上执行同样的操作:

# mkfs.xfs -i size=512 /dev/sdc
# mkdir -p /data/brick1
# echo '/dev/sdc /data/brick1 xfs defaults 1 2' >> /etc/fstab
# mount -a && mount

server2挂载的是/dev/sdc,挂载后我们可以看到server1为:

六、glusterfs分布式文件系统集群搭建?

然后构建glusterfs集群:

gluster peer probe server2   //该命令在server1上执行
gluster peer probe server1   //该命令在server2上执行

在server1上执行命令查看集群状态:?

gluster peer status

在每个节点上执行:

mkdir -p /data/brick1/gv0

然后创建分布式复制卷,在任意一个节点上执行:

//创建卷
gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0  
//启动卷
gluster volume start gv0

?任一节点执行以下命令,查看卷是否正常启动

gluster volume info

?卷正常启动后,我们就可以在虚拟机上挂载该卷,执行命令如下:

//安装文件系统接口
yum -y install glusterfs-fuse
//挂载
mount -t glusterfs server2:/gv0 /mnt

挂载后执行df -hT就可以看到挂载的盘了:

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:28:46  更:2022-04-06 16:32:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:33:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码