ceph安装记录.docx
《ceph安装记录.docx》由会员分享,可在线阅读,更多相关《ceph安装记录.docx(17页珍藏版)》请在冰豆网上搜索。
ceph安装记录
注意:
红色字体是配置过程中需要注意的,不同的机器可能不一样。
1、关闭BIOS中的节能模式即可,如—Advanced—>CPUConfiguration—>CPUPowerManagementConfiguration按照如下设置,其他主板BIOS参
照设置,一般是关闭c-state并且将energy模式改为performance:
2、关闭内存numa-disable:
3、修改主机名称。
本次安装主机名称是cs211-08
vi/etc/hostname
4、添加yum代理,以便安装需要的依赖包
cat>>/etc/yum.conf
proxy=http:
//10.154.88.88:
3128
安装依赖包:
5、yum-yinstallepel-release
6、yum-yinstalllibuuid-devellibblkid-devellibattr-develzlib-devellzo-devellibacl-develasciidocxmltoe2fsprogs-develtmux
7、yum-yinstallmakebisonflexautomakeautoconfboost-develfuse-develgcc-c++libtoollibuuid-devellibblkid-develkeyutils-libs-develcryptopp-develfcgi-devellibcurl-develexpat-develgperftools-devellibedit-devellibatomic_ops-develsnappy-develleveldb-devellibaio-develxfsprogs-develgitlibudev-develgperftoolsredhat-lsbbzip2
8、上传源码包到/opt(linux-3.18.16.tar.xz(查看线上的linux内核,保持和线上的一样),ceph-0.80.10.tar.bz(和线上保持一致),btrfs-progs-v3.18.2.tar.xz(和线上保持一致),.config)
注:
查看线上的linux内核(name-a),保持和线上的一样,一样则不需要执行9~12
9、解压内核到/usr/src/下。
tarJxvflinux-3.18.16.tar.xz-C/usr/src/
10、拷贝编译配置文件到内核目录下
cp/opt/.config/usr/src/linux-3.18.16/
11、进到内核目录
cd/usr/src/linux-3.18.16
12、编译。
48=核心数×2
make-j48
make-j48modules_install&&makeinstall
13、修改默认启动项
grub2-set-default'CentOSLinux(3.18.16)7(Core)'
grub2-editenvlist
启动后重新登录
注:
查看线上的btrfs版本(btrfs--version),保持和线上的一样,一样则不需要执行14~17
14、cd/opt
15、解压btrfs
tarJxvfbtrfs-progs-v3.18.2.tar.xz
16、进入到btrfs目录
cd/opt/btrfs-progs-v3.18.2
17、编译
make
makeinstall
ln-s/usr/local/bin/btrfs*/usr/bin/
注:
ceph版本保持和生产环境一致
编译完成后,解压ceph源码包
18、cd/opt
19、tarjxvfceph-0.80.10.tar.bz2
20、cdceph-0.80.10
21、编译ceph
CXXFLAGS="-g-O2"./configure--prefix=/usr--sbindir=/sbin--localstatedir=/var--sysconfdir=/etc&&make-j48&&makeinstall
22、加载模块
ldconfig
23、重启
reboot
重启后登录系统
24、拷贝osd,mon启动脚本
cp/opt/ceph-0.80.10/src/init-ceph/etc/init.d/ceph
25、对系统进行设置
关闭selinux
sed-i's/\(SELINUX=\)enforcing/\1disabled/g'/etc/selinux/config
调整最大打开文件数
echo'*hardnofile131072'>>/etc/security/limits.conf
echo'*hardnoproc131072'>>/etc/security/limits.conf
echo'ulimit-n131072'>>/etc/profile&&ulimit-n131072
echo'vm.swappiness=1'>>/etc/sysctl.conf
sysctl-p
加速ssh登录速度
sed-i's/GSSAPIAuthenticationyes/GSSAPIAuthenticationno/g'/etc/ssh/sshd_config
sed-i's/#UseDNSyes/UseDNSno/g'/etc/ssh/sshd_config
servicesshdrestart
停止防火墙
systemctlstopfirewalld
systemctldisablefirewalld
26、安装ntp服务,用于同步时间
yum-yinstallntp
修改时间服务器
sed-i's/server0.centos.pool.ntp.orgiburst/server10.154.88.88/g'/etc/ntp.conf
systemctlenablentpd&&systemctlrestartntpd
先手动同步一下时间
ntpdate-u10.154.88.88
27、配置集群的数据网络
nmclicmodp2p1+ipv4.addresses192.192.213.5/16+ipv4.methodstatic802-3-ethernet.mtu9000
nmclideviceconnectp2p1
nmcliconupp2p1
nmclicmodp2p2+ipv4.addresses172.172.213.5/16+ipv4.methodstatic802-3-ethernet.mtu9000
nmclideviceconnectp2p2
nmcliconupp2p2
28、登录主控节点cs210-1-1
vi/etc/hosts
添加host记录192.192.213.5cs213-1-5
同步hosts文件
配置主控节点到新节点之间的免密码登录(ssh-keygen)
Cd
ssh-copy-id-i.ssh/id_rsa.pubroot@cs211-08
29、数据盘分区,
用到的命令有:
1、parted/dev/sdbmklabelgpt#创建分区表
2、parted/dev/sdbmkpartprimary2048s100%#创建分区
3、partprobe#重新扫描磁盘分区信息
下边是用for循环一次处理多个数据盘
foriin/dev/sd{b..k};doparted$imklabelgpt;done
foriin/dev/sd{b..k};doparted$imkpartprimary2048s10G;done
foriin/dev/sd{b..k};doparted$imkpartprimary10G100%;done
partprobe
30、编写配置文件,先在本地将配置文件组织好(ls/dev/disk/by-id/-l|grepwwn)。
uuid代表osd的uuid,为方便起见,可以用uuidgen工具生成。
devs代表该osd数据存储使用的磁盘设备。
最好通过/dev/disk/by-uuid/下的路径指定。
可以直接使用上一步uuidgen生成的uuid来表示这块磁
盘,在格式化的时候,可以指定uuid(btrf文件系统可以指定)。
###cs211-08###
[osd.100]
host=cs211-08
uuid=f8d3e969-dba1-4f04-9300-13ec5343c1bd
devs=/dev/disk/by-uuid/f8d3e969-dba1-4f04-9300-13ec5343c1bd#/dev/sdb1
[osd.101]
host=cs211-08
uuid=c926cbec-4177-4bde-8140-871fbc93bb11
devs=/dev/disk/by-uuid/c926cbec-4177-4bde-8140-871fbc93bb11#/dev/sdc1
[osd.102]
host=cs211-08
uuid=036456dc-4e45-409d-8e8c-2be90afa86a1
devs=/dev/disk/by-uuid/036456dc-4e45-409d-8e8c-2be90afa86a1#/dev/sdd1
[osd.103]
host=cs211-08
uuid=d6a270e9-c155-43f3-9d42-2d6dad7b15be
devs=/dev/disk/by-uuid/d6a270e9-c155-43f3-9d42-2d6dad7b15be#/dev/sde1
[osd.104]
host=cs211-08
uuid=afa686af-bfcb-4446-a78d-a6695f1c61e8
devs=/dev/disk/by-uuid/afa686af-bfcb-4446-a78d-a6695f1c61e8#/dev/sdf1
[osd.105]
host=cs211-08
uuid=0df15da6-e71c-4c70-9660-a6006a97390e
devs=/dev/disk/by-uuid/0df15da6-e71c-4c70-9660-a6006a97390e#/dev/sdg1
[osd.106]
host=cs211-08
uuid=2c39914f-de29-41c2-a757-8a0410ad376c
devs=/dev/disk/by-uuid/2c39914f-de29-41c2-a757-8a0410ad376c#/dev/sdh1
[osd.107]
host=cs211-08
uuid=fab7bba2-9feb-4aae-945b-6f10ae46783e
devs=/dev/disk/by-uuid/fab7bba2-9feb-4aae-945b-6f10ae46783e#/dev/sdi1
[osd.108]
host=cs211-08
uuid=113943ea-3652-4e43-9b10-01fd18bcac2c
devs=/dev/disk/by-uuid/113943ea-3652-4e43-9b10-01fd18bcac2c#/dev/sdj1
[osd.109]
host=cs211-08
uuid=44d697de-76b6-480b-b93b-ae60a92e2e9e
devs=/dev/disk/by-uuid/44d697de-76b6-480b-b93b-ae60a92e2e9e#/dev/sdk1
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31、登录主控节点cs211-03
vi/etc/ceph/ceph.conf
将上边编辑好的osd配置文件添加到配置文件中。
注意:
ceph.conf最后必须要有个空行
添加后,需要将配置文件同步到集群中其他机器上。
用到的命令:
scp/etc/ceph/ceph.confcs211-08:
/etc/ceph/ceph.conf
********************************************************************************此步和29差不多*
*******************************************************************************
创建journal存放的分区和mon数据存放的分区
fdisk对sda进行分区,分出一个100G的,剩余的分成一个。
可以用fdisk进行分区。
(本环境下,sda是两块ssd做的raid,如果有专门的日志
盘,需要根据实际情况调整需要操作的磁盘)
本处用的是fdisk命令进行的分区
用到的参数有:
n新添加一个分区
d删除一个分区
e指定新添加分区的类型为扩展分区
l指定新添加分区的类型为逻辑分区
p指定新添加分区的类型为主分区
直接回车,代表采用默认值
+100G代表分区的大小
w代表保存分区信息并退出
partprobe重新扫描新的分区表,避免重启系统
以下是操作过程
fdisk/dev/sda
n
e
n
l
+100G
n
l
w
partprobe
分区完成后,需要对这两个分区进行格式化,挂载
mkfs.btrfs-f/dev/sda5
mkfs.btrfs-f/dev/sda6
mkdir-p/data/admin
mkdir-p/data/journal
mkdir-p/var/run/ceph/
mount/dev/sda5/data/admin
mount/dev/sda6/data/journal
添加日志分区的挂载信息,重要,如果重启系统后,找不到这些日志信息,会导致osd启动失败
vi/etc/fstab
添加以下两行挂载信息
/dev/sda5/data/adminbtrfsrw,noatime,nodiratime,relatime,ssd,space_cache00
/dev/sda6/data/journalbtrfsrw,noatime,nodiratime,relatime,ssd,space_cache00
*******************************************************************************
*完*
*******************************************************************************
35、添加buckt,用来组织osd
添加普通osd对应的host
cephosdtree
cephosdcrushadd-bucketcs211-08host
cephosdtree
36、执行osd创建命令
格式化磁盘分区并指定分区的uuid
mkfs.btrfs-f-Uf8d3e969-dba1-4f04-9300-13ec5343c1bd/dev/sdb1
ls/dev/disk/by-uuid/-lh
创建osd数据存放目录
mkdir-p/data/osd.100
挂载数据盘到目录下
mount-tbtrfs-onoatime,nodiratime/dev/disk/by-uuid/c60a3732-a655-4a61-8ac1-c6e3f10a40f6/data/osd.65
创建osd
cephosdcreatef8d3e969-dba1-4f04-9300-13ec5343c1bd
初始化osd
ceph-osd-i100--mkfs--mkkey--osd-uuidf8d3e969-dba1-4f04-9300-13ec5343c1bd--mkjournal
注:
(100为osd.100)
添加osd的身份认证信息到集群
cephauthaddosd.100osd'allow*'mon'allowprofileosd'-i/data/osd.100/keyring
将osd添加到相应的host下。
注意weight(以1T=1为基准例如:
500G就是0.5;2T就是2.0)
cephosdcrushaddosd.1002.0host=cs211-08
以下是重复上述过程,将其他的osd创建出来
mkfs.btrfs-f-Uc926cbec-4177-4bde-8140-871fbc93bb11/dev/sdc1
mkdir-p/data/osd.101
mount-tbtrfs-onoatime,nodiratime/dev/disk/by-uuid/c926cbec-4177-4bde-8140-871fbc93bb11/data/osd.101
cephosdcreatec926cbec-4177-4bde-8140-871fbc93bb11
ceph-osd-i101--mkfs--mkkey--osd-uuidc926cbec-4177-4bde-8140-871fbc93bb11--mkjournal
cephauthaddosd.101osd'allow*'mon'allowprofileosd'-i/data/osd.101/keyring
cephosdcrushaddosd.1012.0host=cs211-08
37、启动创建好的osd
servicecephstartosd
38、创建ceph运行时,需要的目录(这个目录如果不存在,ceph-s会报错)
mkdir-p/var/run/ceph/
39、修改开启启动osd
vi/etc/rc.d/rc.local
添加以下两条命令:
servicecephstartmon
servicecephstartosd
40、添加可执行权限,保证开机运行该脚本
chmod+x/etc/rc.d/rc.local
ceph-s查看集群状态,如果集群状态不正常,则根据具体情况进行调整。
如果正常,进行下一步操作
根据生产需求,进行host适当的移动
ceph osd crush move cs213-1-5 rack=sata-rack-e213
比如,将这个host移动到root:
default下
cephosdcrushmovecs211-08root=default
如果不出意外,移动过去之后,就开始均衡数据了。
等数据均衡完成后,集群新加节点就完成了。
安装mon
磁盘分配,挂载完毕后进行第一个mon初始化
ceph-authtool--create-keyring/etc/ceph/ceph.mon.keyring--gen-key-nmon.--capmon'allow*'
ceph-authtool--create-keyring/etc/ceph/ceph.client.admin.keyring--gen-key-nclient.admin--set-uid=0--capmon'allow*'--caposd'allow*'--capmds'allow'
ceph-authtool/etc/ceph/ceph.mon.keyring--import-keyring/etc/ceph/ceph.client.admin.keyring
monmaptool--create--addceph-1(hostName)192.192.211.3(ip地址)--fsida7f64266-0894-4f1e-a635-d0aeaca0e993(集群的id,就是第11步用uuidgen生成的那个uuid)/etc/ceph/monmap
ceph-mon--mkfs-iceph-1--monmap/etc/ceph/monmap--keyring/etc/ceph/ceph.mon.keyring
经过以上步骤,如果准备工作没有问题,配置文件编写正确,那么mon就已经创建成功了。
启动第一个mon节点servicecephstartmon
将文件init-ceph从原码文件夹src文件夹中拷贝出来。
cp-rdpf/opt/ceph-0.87/src/init-ceph/etc/init.d/ceph
启动第一个mon节点:
/etc/init.d/cephstartmon.0或者/etc/init.d/cephstartmon
如果需要配置多个mon节点,可以再第一个节点启动后,逐一添加其他节点。
需要将ceph.mon.keyring、ceph.client.admin.keyting和monmap拷贝到其他mon上。
拷贝方法有很多,scp是比较方便的。
例如:
在第一个mon主机上执行:
scp/etc/ceph/ceph.mon.keyringceph-2:
/etc/ceph/
在副mon上进行osd创建。
以ceph-2节点为例,添加副mon。
登录到ceph-2主机上:
sshceph-2
登录之后执行以下命令进行mon创建:
cephauthgetmon.-o/etc/ceph/ceph.mon.keyring
cephmongetmap-o/etc/ceph/monmap
ceph-mon-iceph-2--mkfs--monmap/etc/ceph/monmap--keyring/etc/ceph/ceph.mon.keyring
至此,使用ceph-s命令查看ceph状态的时候,应该可以看到有两个mon了。
通过同样的方法,添加其他副mon节点。
创建OSD节点
创建osd之前要确保osd日志存放路径存在。
日志存放路径可以用默认的也可以在配置文件中配置。
本例中日志