部署ceph分布式文件系统集群

部署ceph集群

  • 一.为什么要部署ceph集群?
    • 1 随着服务器的增加客户访问数据的一致性、管理的便利性成为了新的问题,因此就需要增加统一的存储服务器,实现数据的同步一致
  • 二.环境准备
    • 1、禁用selinux、firewall
    • 2、部署8台虚拟主机
      • ==拓扑图如下==
    • 3 配置无密码连接(包括远程自己时也不需要密码)
    • 4.修改/etc/hosts并同步到所有主机
    • 5.配置yum源并同步到所有节点
      • 官网下载相关软件包并把软件包共享给所有节点各节点根据这些软件包配置yum源所有节点yum源配置相同这里就不展示了
    • 6.所有节点主机服务器时间同步物理机上
    • 7.为node4、node5、node6准备2块20G磁盘
  • 三.部署ceph集群
    • 1.配置ceph-deploy(node1)
    • 2.node1、node2、node3上安装监控软件
    • 3.初始化监控服务器
    • 4.给磁盘分区
    • 5.为node4、node5、node6安装osd软件
    • 6.修改磁盘的权限
    • 7.初始化磁盘数据
    • 8.初始化化osd集群
    • 9.部署ceph文件系统
      • 1.创建文件存储池
      • 2.创建文件系统
      • 3.查看账户名和密码任意节点
    • 10 客户端挂载使用
      • (1)客户端创建一个空的文件夹挂载到ceph集群上就能使用ceph集群的空间了

一.为什么要部署ceph集群?

1 随着服务器的增加客户访问数据的一致性、管理的便利性成为了新的问题,因此就需要增加统一的存储服务器,实现数据的同步一致

二.环境准备

1、禁用selinux、firewall

2、部署8台虚拟主机

节点 ip
node1 192.168.1.1
node2 192.168.1.2
node3 192.168.1.3
node4 192.168.1.4
node5 192.168.1.5
node6 192.168.1.6
node7 192.168.1.7
client 192.168.1.8

拓扑图如下

部署ceph分布式文件系统集群_第1张图片

3 配置无密码连接(包括远程自己时也不需要密码)

[root@node1 ~] ssh-keygen -f /root/.ssh/id_rsa -N ''
[root@node1 ~] for i in 1 2 3 4 5 6 7; do ssh-copy-id 192.168.1.$i; done

4.修改/etc/hosts并同步到所有主机

[root@node1 ~] vim /etc/hosts
......
192.168.1.1  node1
192.168.1.2  node2
192.168.1.3  node3
192.168.1.4  node5
192.168.1.5  node5
192.168.1.6  node6
192.168.1.7  node7
[root@node1 ~] for i in node2 node3 node4 node5 node6 node7; do scp /etc/hosts $i:/etc/; done

5.配置yum源并同步到所有节点

官网下载相关软件包并把软件包共享给所有节点各节点根据这些软件包配置yum源所有节点yum源配置相同这里就不展示了

6.所有节点主机服务器时间同步物理机上

7.为node4、node5、node6准备2块20G磁盘

三.部署ceph集群

1.配置ceph-deploy(node1)

[root@node1 ~] yum -y install ceph-deploy
[root@node1 ~] mkdir ceph-cluster
[root@node1 ~] cd ceph-cluster

2.node1、node2、node3上安装监控软件

[root@node1 ceph-cluster]# for i in node1 node2 node3
do
     ssh $i "yum -y install ceph-mon "
done

3.初始化监控服务器

[root@node1 ceph-cluster] ceph-deploy new node1 node2 node3
[root@node1 ceph-cluster] ceph-deploy mon create-initial

4.给磁盘分区

[root@node1 ceph-cluster] for i in node4 node5 node6
do
     ssh $i "parted /dev/vdb mklabel gpt"
     ssh $i "parted /dev/vdb mkpart primary 1 50%"
     ssh $i "parted /dev/vdb mkpart primary 50% 100%"
 done

5.为node4、node5、node6安装osd软件

[root@node1 ceph-cluster]# for i in node4 node5 node6
do
     ssh $i "yum -y install ceph-osd "
done

6.修改磁盘的权限

[root@node1 ceph-cluster] for i in node4 node5 node6; do ssh $i "chown ceph.ceph /dev/vdb1"; done

7.初始化磁盘数据

[root@node1 ceph-cluster] ceph-deploy disk  zap  node4:vdc 
[root@node1 ceph-cluster] ceph-deploy disk  zap  node5:vdc
[root@node1 ceph-cluster] ceph-deploy disk  zap  node6:vdc

8.初始化化osd集群

[root@node1 ceph-cluster] ceph-deploy new node4 node5 node6
[root@node1 ceph-cluster] ceph-deploy osd create \
 node4:vdc:/dev/vdb1  node4:vdd:/dev/vdb2
[root@node1 ceph-cluster] ceph-deploy osd create \
 node5:vdc:/dev/vdb1 node5:vdd:/dev/vdb2
[root@node1 ceph-cluster] ceph-deploy osd create \
 node6:vdc:/dev/vdb1 node6:vdd:/dev/vdb2 

9.部署ceph文件系统

1.创建文件存储池

[root@node1 ceph-cluster] ceph-deploy mds create node7
[root@node1 ceph-cluster] ceph osd pool create cephfs_data 128
[root@node1 ceph-cluster] ceph osd pool create cephfs_metadata 128
[root@node1 ceph-cluster] ceph osd lspools

2.创建文件系统

[root@node1 ceph-cluster] ceph fs new myfs1 cephfs_metadata cephfs_data

3.查看账户名和密码任意节点

[root@node1 ceph-cluster] cat ceph.client.admin.keyring
......
[client.admin]
	key = AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==

10 客户端挂载使用

(1)客户端创建一个空的文件夹挂载到ceph集群上就能使用ceph集群的空间了

mkdir /dvd
[root@client ~]  mount -t ceph 192.168.2.41:6789:/ /usr/local/nginx/html/ \
-o name=admin,secret=AQA0KtlcRGz5JxAA/K0AD/uNuLI1RqPsNGC7zg==

你可能感兴趣的:(笔记)