本文共 5930 字,大约阅读时间需要 19 分钟。
一、准备环境
4台adminos7环境,存储节点上两块磁盘(sda操作系统,sdb数据盘)
172.16.8.91 client
172.16.8.92 admin172.16.8.93 storage1172.16.8.94 storage2172.16.8.95 storage3二、配置环境
1、修改主机名(对应节点上执行)
2、配置hosts文件(每个节点上均执行)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.16.8.91 client 172.16.8.92 admin172.16.8.93 storage1172.16.8.94 storage2172.16.8.95 storage3EOF3、修改sudo配置文件,注释下面行(每个节点上均执行)
执行visudo命令注释下面一行#Defaults requiretty
4、ceph的官方源在国外,网速比较慢,此处添加ceph源为阿里源(每个节点上均执行)
[Ceph]
name=Ceph packages for $basearchbaseurl=enabled=1gpgcheck=1type=rpm-mdgpgkey=[Ceph-noarch]
name=Ceph noarch packagesbaseurl=enabled=1gpgcheck=1type=rpm-mdgpgkey=[ceph-source]
name=Ceph source packagesbaseurl=enabled=1gpgcheck=1type=rpm-mdgpgkey=END5、关闭selinux和firewall(各个节点)
6、各个节点更新系统(各个节点)
7、创建用户并设置密码为Changeme_123(各个节点)
8、配置sudo权限(各个节点)
9、安装NTP(各个节点)
修改配置文件/etc/ntp.conf
server NTP-server
注意:NTP-server修改为自己的NTP服务器,如果局域网内无NTP服务器,此处可以用默认配置,采用centos官方ntp服务器
启动服务并设置开机启动
查看ntp状态
注意:
如果ntp时钟不同步,后面ceph服务起不来!
9、重启(各个节点)
1
三、安装和配置ceph(以下操作均在admin节点上执行)1、配置互信
$ ssh-keygen -t dsa -f ~/.ssh/id_dsa -N ""
$ ssh-copy-id 172.16.8.91$ ssh-copy-id 172.16.8.92$ ssh-copy-id 172.16.8.93$ ssh-copy-id 172.16.8.94$ ssh-copy-id 172.16.8.95exit2、安装ceph-deploy包
$ sudo yum -y install ceph-deploy
3、创建配置文件目录$ sudo mkdir /etc/ceph
$ cd /etc/ceph $ ceph-deploy new storage14、在各个节点上安装ceph包
$ ceph-deploy install admin client storage1 storage2 storage35、设置monitor和key
$ ceph-deploy mon create-initial6、启动osd,如果磁盘比较多,安装规划磁盘名称,重复执行即可
$ ceph-deploy disk zap storage1:sdb $ ceph-deploy disk zap storage2:sdb $ ceph-deploy disk zap storage3:sdb$ ceph-deploy --overwrite-conf osd create storage1:sdb$ ceph-deploy --overwrite-conf osd create storage2:sdb$ ceph-deploy --overwrite-conf osd create storage3:sdb7、将配置文件拷贝到各个节点上
$ ceph-deploy admin client storage1 storage2 storage3
$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring8、创建mon(一般为奇数个,此处为三个)$ ceph-deploy --overwrite-conf mon create storage1
$ ceph-deploy --overwrite-conf admin storage1$ ceph-deploy --overwrite-conf mon create storage2
$ ceph-deploy --overwrite-conf admin storage2$ ceph-deploy --overwrite-conf mon create storage3
$ ceph-deploy --overwrite-conf admin storage39、验证
$ ceph health HEALTH_OK四、ceph集群对外提供块存储服务(均在client上执行) 1、通过admin用户登录client节点[admin@client ~]$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring
2、创建一个存储池[admin@client ~]$ ceph osd pool create test 128
注意:创建pool 通常在创建pool之前,需要覆盖默认的pg_num,官方推荐:
若少于5个OSD, 设置pg_num为128。5~10个OSD,设置pg_num为512。10~50个OSD,设置pg_num为4096。超过50个OSD,可以参考pgcalc计算3、创建一个10G的块
[admin@client ~]$ rbd create --size 10G disk01 --pool test4、查看rbd
[admin@client ~]$ rbd ls -l NAME SIZE PARENT FMT PROT LOCKdisk01 10240M 25、将10G的块映射到本地
[admin@client ~]$ sudo rbd map disk01 /dev/rbd0注意:
因为adminos7默认内核版本比较低,ceph的一些特性无法使用,需要手动禁用才能map成功。命令如下$ rbd feature disable test/rbd exclusive-lock object-map fast-diff deep-flatten
6、查看映射
[admin@client ~]$ rbd showmapped id pool image snap device0 rbd disk01 - /dev/rbd07、格式化为xfs格式
[admin@client ~]$ sudo mkfs.xfs /dev/rbd08、挂载rbd0到本地的目录中
[admin@client ~]$ sudo mount /dev/rbd0 /mnt[admin@client ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/cl-root xfs 26G 1.8G 25G 7% /devtmpfs devtmpfs 2.0G 0 2.0G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 8.4M 2.0G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/vda1 xfs 1014M 231M 784M 23% /boottmpfs tmpfs 396M 0 396M 0% /run/user/0/dev/rbd0 xfs 10G 33M 10G 1% /mnt五、使用ceph集群提供cephfs文件系统
1、在admin节点上执行如下命令,启用storage1上的mds服务[admin@admin ceph]$ ceph-deploy mds create storage12、在storage1节点上进行如下操作
[admin@storage1 ~]$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring创建名为cephfs_data的pool
[admin@storage1 ~]$ ceph osd pool create cephfs_data 128 pool 'cephfs_data' created3、创建名为cephfs_metadata的pool
[admin@storage1 ~]$ ceph osd pool create cephfs_metadata 128 pool 'cephfs_metadata' created4、启用pool
[admin@storage1 ~]$ ceph fs new cephfs cephfs_metadata cephfs_data new fs with metadata pool 2 and data pool 15、查看
[admin@storage1 ~]$ ceph fs ls name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]6、查看mds状态
[admin@storage1 ~]$ ceph mds stat e4: 1/1/1 up {0=storage1=up:creating}以下操作在client节点上
7、安装rpm包
[root@client ~]# yum -y install ceph-fuse8、获取admin的key
[root@client ~]# ssh admin@storage1 "sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key [root@client ~]# chmod 600 admin.key9、挂载
[root@client ~]# mount -t ceph storage1:6789:/ /mnt -o name=admin,secretfile=admin.key [root@client ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on/dev/mapper/cl-root xfs 26G 1.9G 25G 7% /devtmpfs devtmpfs 2.0G 0 2.0G 0% /devtmpfs tmpfs 2.0G 0 2.0G 0% /dev/shmtmpfs tmpfs 2.0G 8.4M 2.0G 1% /runtmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup/dev/vda1 xfs 1014M 231M 784M 23% /boottmpfs tmpfs 396M 0 396M 0% /run/user/0172.16.8.94:6789:/ ceph 78G 21G 58G 27% /mnt附录:
卸载
在admin节点上执行卸载所以节点的rpm包$ ceph-deploy purge admin storage1 storage2 storage3
1在admin节点上执行,删除所以节点的配置$ ceph-deploy purgedata admin storage1 storage2 storage3
$ ceph-deploy forgetkeys
转载于:https://blog.51cto.com/leekel/2163400