CEPH分布式存储部署
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
添加
/dev/sdb1 /data/osd.0 xfs defaults0 0
#echo "ceph-osd-i 0" >> /etc/rc.local
2.4
创建mds
#ceph-mds -i node1 -n mds.node1 -c /etc/ceph/ceph.conf -m 192.168.100.101:6789
#vi /etc/ceph/ceph.conf
[mon.node1]
host =node1
mon addr = 192.168.100.101:6789
2.2.2创建一个mon keyring
#ceph-authtool/etc/ceph/ceph.mon.keyring --create-keyring --gen-key -n mon.
[ceph-extras-source]
name=Ceph Extras Sources
baseurl=http://ceph.com/packages/ceph-extras/rpm/centos6/SRPMS
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
#rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc'
添加ceph-extras库
#vi /etc/yum.repos.d/ceph-extras
[ceph-extras]
name=Ceph Extras Packages
#mkfs-t xfs /dev/sdb1
#mkdir /data/osd.0
#mount /dev/sdb1 /data/osd.0
#ceph-osd -i 0 --mkfs --mkkey
#ceph auth add osd.0 osd 'allow *' mon 'allow rwx' -i /data/osd.0/keyring
root 1364 10 08:42 ? 00:00:07 ceph-osd -i 0
2.3.7查看osd状态
#exit
#ceph osd stat
osd添加成功
[root@node1 ~]# ceph osd stat
osdmap e41:1osds:1up,1in
2.3.8开机自动启动
#vi /etc/fstab
baseurl=http://ceph.com/packages/ceph-extras/rpm/centos6/$basearch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
0 kB used, 0 kB / 0 kB avail
192 creating
2.3
首先为节点添加一块硬盘(这里是主机node2)
PS:硬件支持热插拔的情况下可以使用以下命令,在线检测新增硬盘
#echo "- - -" > /sys/class/scsi_host/host2/scan
2.3.1获取osd的ID
initrd /initramfs-3.10.29.img
[ceph-extras-noarch]
name=Ceph Extras noarch
baseurl=http://ceph.com/packages/ceph-extras/rpm/centos6/noarch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
由于CentOS6.5系统的内核为2.6.32,因此要关闭硬盘的写入缓存,若高于此版本不需要关闭。
#hdparm -W 0 /dev/sdb 0
本次部署一共有一个监控节点、一个元数据节点、两个数据节点,每个数据节点拥有两个硬盘作为数据盘。
1.2
1.3
添加ceph的rpm库key
#rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc'
vmlinuz-3.10.29
更改grub.conf
#vi /etc/grub.conf
添加
title CentOS (3.10.29)
root (hd0,0)
kernel /vmlinuz-3.10.29 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
[root@node1 linux-3.10.29]# ll /boot/|grep 3.10
initramfs-3.10.29.img
System.map -> /boot/System.map-3.10.29
System.map-3.10.29
vmlinuz -> /boot/vmlinuz-3.10.29
添加ceph库
#rpm -Uvh http://ceph.com/rpms/el6/noarch/ceph-release-1-0.el6.noarch.rpm
添加epel库
#rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#ceph osd crush add osd.0 0.2 root=default host=node2
2.3.5启动osd进程
#ceph-osd -i 0
2.3.6查看进程
#ps -ef|grep ceph-osd
以下提示启动成功
[root@node2 ~]# ps -ef|grep ceph-osd
#filestore_xattr_use_omap = true#该选项只针对ext4文件系统格式
auth_client_required = cephx
auth_cluster_required = cephx
auth supported = none
fsid = a500528d-fc02-464e-b944-bddacbb5c3d1#填入刚才获取到的uuid
安装ceph
#yum update-y&&yum install ceph -y
2.1
创建一个集群,集群名为ceph,在mon节点,这里是主机node1,执行以下操作
2.1.1获取一个uuid
#uuidgen
2.1.2编辑配置文件
#vi /etc/ceph/ceph.conf
[global]
auth_service_required = cephx
2.2.3创建mon数据目录
#mkdir-p /data/ceph-node1
#ceph-mon -inode1--mkfs --keyring/etc/ceph/ceph.mon.keyring
2.2.4启动并查看集群状态
#/etc/init.d/ceph start mon.node1
#ceph –s
#make menuconfig
依次选择下面选项,ceph必须编译为模块M
File systems-->Network File Systems--> Ceph distributed file system
保存并退出
#make
#make modules_install
#make install
确定boot木有下存在以下文件
public network= 192.168.100.0/24
cluster network =172.16.100.0/24
osd pool default size =2
osd pool default min size = 1
max open files= 65535
mon osd full ratio = .95
这里以升级到3.10.29为例
#wgethttps://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.29.tar.xz
#tar -Jxvf linux-3.10.29.tar.xz
#cd linux-3.10.29
#cp /boot/config-2.6.32-431.3.1.el6.x86_64 ./.config //将当前系统内核的配置文件复制到kernel源文件的目录内
#scp-r root@192.168.100.101:/etc/ceph/root@192.168.100.102:/etc/
2.3.4部署osd节点
#sshroot@192.168.100.102
#parted /dev/sdb mktable gpt
#parted /dev/sdb mkpart osd.0 1 20g //新加的硬盘为20g,并将所有空间划分为一个分区
出现以下提示,启动成功:
[root@node1 ~]# ceph -s
cluster a500528d-fc02-464e-b944-bddacbb5c3d1
health HEALTH_ERR 192 pgs stuck inactive; 192 pgs stuck unclean; no osds
##ceph osd create//记录得到的编号,该编号是下面创建的osd的ID
2.3.2编辑配置文件
#vi /etc/ceph/ceph.conf
添加
[osd.0]
public addr = 192.168.100.102
cluster addr = 172.16.100.102
2.3.3同步配置文档到节点node2
检查mds状态,成功启动如下
[root@node1 ~]# ceph mds stat
e19: 1/1/1 up {0=node1=up:active}
3.1确定操作系统内核
3.1.1查看内核版本
#uname -r
若内核版本低于2.6.32时,建议升级到2.6.34或以上
3.1.2更新内核,编译ceph模块
CEPH
PS:本文的所有操作均在mon节点的主机进行,如有变动另有注释
作者:网络技术部徐志权
日期:2014年2月10日
VERSION 1.0
更新历史:
2014.2.10:首次完成ceph部署文档,块设备及对象存储的配置随后添加。
1.1
主机名
公网IP(eth0)
私网IP(eth1)
操作系统
运行服务
node1
192.168.100.101
172.16.100.101
CentOS6.5
mon、mds
node2
192.168.100.102
172.16.100.102
CentOS6.5
osd
node3
192.168.100.103
172.16.100.103
CentOS6.5
osd
操作系统使用CentOS6.5,因为系统已经包含xfs的支持可以直接使用不需要再次编译。
mon osd nearfull ratio = .85
[mon]
mon data= /data/$cluster-$id
[osd]
osd journal size = 1024
osd journal = /data/$name/journal
osd data = /data/$name
源自文库2.2.1编辑配置文件,添加mon参数
monmap e1: 1 mons at {node1=192.168.100.101:6789/0}, election epoch 2, quorum 0 node1
osdmap e1: 0 osds: 0 up, 0 in
pgmap v2: 192 pgs, 3 pools, 0 bytesdata, 0 objects
/dev/sdb1 /data/osd.0 xfs defaults0 0
#echo "ceph-osd-i 0" >> /etc/rc.local
2.4
创建mds
#ceph-mds -i node1 -n mds.node1 -c /etc/ceph/ceph.conf -m 192.168.100.101:6789
#vi /etc/ceph/ceph.conf
[mon.node1]
host =node1
mon addr = 192.168.100.101:6789
2.2.2创建一个mon keyring
#ceph-authtool/etc/ceph/ceph.mon.keyring --create-keyring --gen-key -n mon.
[ceph-extras-source]
name=Ceph Extras Sources
baseurl=http://ceph.com/packages/ceph-extras/rpm/centos6/SRPMS
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
#rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc'
添加ceph-extras库
#vi /etc/yum.repos.d/ceph-extras
[ceph-extras]
name=Ceph Extras Packages
#mkfs-t xfs /dev/sdb1
#mkdir /data/osd.0
#mount /dev/sdb1 /data/osd.0
#ceph-osd -i 0 --mkfs --mkkey
#ceph auth add osd.0 osd 'allow *' mon 'allow rwx' -i /data/osd.0/keyring
root 1364 10 08:42 ? 00:00:07 ceph-osd -i 0
2.3.7查看osd状态
#exit
#ceph osd stat
osd添加成功
[root@node1 ~]# ceph osd stat
osdmap e41:1osds:1up,1in
2.3.8开机自动启动
#vi /etc/fstab
baseurl=http://ceph.com/packages/ceph-extras/rpm/centos6/$basearch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
0 kB used, 0 kB / 0 kB avail
192 creating
2.3
首先为节点添加一块硬盘(这里是主机node2)
PS:硬件支持热插拔的情况下可以使用以下命令,在线检测新增硬盘
#echo "- - -" > /sys/class/scsi_host/host2/scan
2.3.1获取osd的ID
initrd /initramfs-3.10.29.img
[ceph-extras-noarch]
name=Ceph Extras noarch
baseurl=http://ceph.com/packages/ceph-extras/rpm/centos6/noarch
enabled=1
priority=2
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
由于CentOS6.5系统的内核为2.6.32,因此要关闭硬盘的写入缓存,若高于此版本不需要关闭。
#hdparm -W 0 /dev/sdb 0
本次部署一共有一个监控节点、一个元数据节点、两个数据节点,每个数据节点拥有两个硬盘作为数据盘。
1.2
1.3
添加ceph的rpm库key
#rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc'
vmlinuz-3.10.29
更改grub.conf
#vi /etc/grub.conf
添加
title CentOS (3.10.29)
root (hd0,0)
kernel /vmlinuz-3.10.29 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
[root@node1 linux-3.10.29]# ll /boot/|grep 3.10
initramfs-3.10.29.img
System.map -> /boot/System.map-3.10.29
System.map-3.10.29
vmlinuz -> /boot/vmlinuz-3.10.29
添加ceph库
#rpm -Uvh http://ceph.com/rpms/el6/noarch/ceph-release-1-0.el6.noarch.rpm
添加epel库
#rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#ceph osd crush add osd.0 0.2 root=default host=node2
2.3.5启动osd进程
#ceph-osd -i 0
2.3.6查看进程
#ps -ef|grep ceph-osd
以下提示启动成功
[root@node2 ~]# ps -ef|grep ceph-osd
#filestore_xattr_use_omap = true#该选项只针对ext4文件系统格式
auth_client_required = cephx
auth_cluster_required = cephx
auth supported = none
fsid = a500528d-fc02-464e-b944-bddacbb5c3d1#填入刚才获取到的uuid
安装ceph
#yum update-y&&yum install ceph -y
2.1
创建一个集群,集群名为ceph,在mon节点,这里是主机node1,执行以下操作
2.1.1获取一个uuid
#uuidgen
2.1.2编辑配置文件
#vi /etc/ceph/ceph.conf
[global]
auth_service_required = cephx
2.2.3创建mon数据目录
#mkdir-p /data/ceph-node1
#ceph-mon -inode1--mkfs --keyring/etc/ceph/ceph.mon.keyring
2.2.4启动并查看集群状态
#/etc/init.d/ceph start mon.node1
#ceph –s
#make menuconfig
依次选择下面选项,ceph必须编译为模块M
File systems-->Network File Systems--> Ceph distributed file system
保存并退出
#make
#make modules_install
#make install
确定boot木有下存在以下文件
public network= 192.168.100.0/24
cluster network =172.16.100.0/24
osd pool default size =2
osd pool default min size = 1
max open files= 65535
mon osd full ratio = .95
这里以升级到3.10.29为例
#wgethttps://www.kernel.org/pub/linux/kernel/v3.x/linux-3.10.29.tar.xz
#tar -Jxvf linux-3.10.29.tar.xz
#cd linux-3.10.29
#cp /boot/config-2.6.32-431.3.1.el6.x86_64 ./.config //将当前系统内核的配置文件复制到kernel源文件的目录内
#scp-r root@192.168.100.101:/etc/ceph/root@192.168.100.102:/etc/
2.3.4部署osd节点
#sshroot@192.168.100.102
#parted /dev/sdb mktable gpt
#parted /dev/sdb mkpart osd.0 1 20g //新加的硬盘为20g,并将所有空间划分为一个分区
出现以下提示,启动成功:
[root@node1 ~]# ceph -s
cluster a500528d-fc02-464e-b944-bddacbb5c3d1
health HEALTH_ERR 192 pgs stuck inactive; 192 pgs stuck unclean; no osds
##ceph osd create//记录得到的编号,该编号是下面创建的osd的ID
2.3.2编辑配置文件
#vi /etc/ceph/ceph.conf
添加
[osd.0]
public addr = 192.168.100.102
cluster addr = 172.16.100.102
2.3.3同步配置文档到节点node2
检查mds状态,成功启动如下
[root@node1 ~]# ceph mds stat
e19: 1/1/1 up {0=node1=up:active}
3.1确定操作系统内核
3.1.1查看内核版本
#uname -r
若内核版本低于2.6.32时,建议升级到2.6.34或以上
3.1.2更新内核,编译ceph模块
CEPH
PS:本文的所有操作均在mon节点的主机进行,如有变动另有注释
作者:网络技术部徐志权
日期:2014年2月10日
VERSION 1.0
更新历史:
2014.2.10:首次完成ceph部署文档,块设备及对象存储的配置随后添加。
1.1
主机名
公网IP(eth0)
私网IP(eth1)
操作系统
运行服务
node1
192.168.100.101
172.16.100.101
CentOS6.5
mon、mds
node2
192.168.100.102
172.16.100.102
CentOS6.5
osd
node3
192.168.100.103
172.16.100.103
CentOS6.5
osd
操作系统使用CentOS6.5,因为系统已经包含xfs的支持可以直接使用不需要再次编译。
mon osd nearfull ratio = .85
[mon]
mon data= /data/$cluster-$id
[osd]
osd journal size = 1024
osd journal = /data/$name/journal
osd data = /data/$name
源自文库2.2.1编辑配置文件,添加mon参数
monmap e1: 1 mons at {node1=192.168.100.101:6789/0}, election epoch 2, quorum 0 node1
osdmap e1: 0 osds: 0 up, 0 in
pgmap v2: 192 pgs, 3 pools, 0 bytesdata, 0 objects