bf bf film bf rajwap.biz tamil pussy fingering desi pron video coxhamster.mobi sexy girl video open xvideoimage pornfactory.info bihari sexy video download سكس كلاسيك مترجم pornclassic.info سكس عراقي hindixxvidio porno-zona.com dise murga indian old women nude rajwap.biz srxyvidio www sexy videoes com indiansexmms.me sxsi bf مصريات شراميط pornvuku.net نيك احلي كس malligi hotel donfreeporn.mobi bengalixxxvideo tsmil sex youjizz.sex perfect girl xxx hd any porn porntubemovs.info xxx thumbzilla نيك طيز مترجم 3gpjizz.info سكس فى السجن xossip bengali kamporn.mobi indian sex play forced indian sex video indiansexgate.mobi sleeping girl xnxx classic video com 2beeg.me indiangirlssexvideos
本文的目标是在三台虚拟机上搭建Ceph集群,其中一台作为整个集群的服务器,另外两台只安装ceph-client作为客户端,可以挂载CephFS。

虚拟机系统:CentOS 7.6  Ceph版本:Mimic

准备阶段

1.将Ceph存储库添加到ceph-deploy管理节点。然后,安装 ceph-deploy

安装并启用Extra Packages for Enterprise Linux(EPEL)存储库:

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

将Ceph存储库写入/etc/yum.repos.d/ceph.repo中。替换 {ceph-stable-release}为稳定的Ceph版本(例如,mimic。)

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-{ceph-stable-release}/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc

如果后面发现速度过慢,可换国内源:

[Ceph]
name=Ceph packages for $basearch
baseurl=http://mirrors.163.com/ceph/rpm-{ceph-stable-release}/el7/$basearch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1

[Ceph-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.163.com/ceph/rpm-{ceph-stable-release}/el7/noarch
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.163.com/ceph/rpm-{ceph-stable-release}/el7/SRPMS
enabled=1
gpgcheck=0
type=rpm-md
gpgkey=https://mirrors.163.com/ceph/keys/release.asc
priority=1

更新您的存储库并安装ceph-deploy

sudo yum update
sudo yum install ceph-deploy

如果搭建的是单节点Ceph集群,可以直接跳到5。

2.(推荐)安装NTP

sudo yum install ntp ntpdate ntp-doc

3.创建ceph-deploy用户

ceph-deploy实用程序必须以具有无密码sudo权限的用户身份登录到Ceph节点,因为它需要在不提示输入密码的情况下安装软件和配置文件。

在Ceph集群的所有节点上为ceph-deploy创建一个用户,并且不要使用“ceph”作为用户名。在集群使用统一的用户名可以提高易用性(不要求),但你应该避免使用明显的用户名,因为黑客通常使用暴力尝试它们(例如root, admin{productname})。以下过程(替换 {username}您定义的用户名)描述了如何使用无密码创建用户sudo

注意:从Infernalis版本开始,“ceph”用户名是为Ceph守护进程保留的。如果Ceph节点上已存在“ceph”用户,则必须在尝试升级之前删除该用户。

在每个Ceph节点上创建一个新用户。

ssh user@ceph-server
sudo useradd -d /home/{username} -m {username}
sudo passwd {username}

对于添加到每个Ceph节点的新用户,请确保该用户具有 sudo权限。

echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
sudo chmod 0440 /etc/sudoers.d/{username}

4.启用无密码SSH

由于ceph-deploy不会提示输入密码,因此必须在admin节点上生成SSH密钥,并将公钥分发给每个Ceph节点。ceph-deploy将尝试为初始监视器生成SSH密钥。

生成SSH密钥,但不要使用sudo或 root用户。将密码保留为空:

ssh-keygen

Generating public/private key pair.
Enter file in which to save the key (/ceph-admin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /ceph-admin/.ssh/id_rsa.
Your public key has been saved in /ceph-admin/.ssh/id_rsa.pub.

将密钥复制到每个Ceph节点,替换{username}为您上一步中创建的用户名。

ssh-copy-id {username}@node1
ssh-copy-id {username}@node2
ssh-copy-id {username}@node3

(推荐)修改管理节点的~/.ssh/config文件,以便ceph-deploy能够以您创建的用户身份登录Ceph节点,而无需在每次执行时指定。替换{username}为您上一步中创建的用户名。

Host node1
   Hostname node1
   User {username}
Host node2
   Hostname node2
   User {username}
Host node3
   Hostname node3
   User {username}

5.确保网络连接

确保能ping通短主机名(hostname -s),做好主机名的解析(写入/etc/hosts)。

注意:必须被解析到网络ip,不能是环回地址(127.0.0.1)。

6.打开相关端口

这里我为了省事直接关闭了防火墙。

systemctl stop firewalld
systemctl disable firewalld

7.SELinux

在CentOS上,SELinux默认是Enforcing状态,为了简化安装,我们建议将它设置为Permissive或彻底关闭。

执行以下命令以将其设置为Permissive:

sudo setenforce 0

8.安装EPEL

sudo yum install yum-plugin-priorities

存储集群搭建阶段

在管理节点上创建一个目录,以维护为集群生成的配置文件和密钥。

mkdir my-cluster
cd my-cluster

ceph-deploy将把输出文件存放在当前目录,所以确保在这个文件夹中执行ceph-deploy

重要:不要使用root或sudo运行ceph-deploy。

0.从头再来。

如果您遇到麻烦并且想要重新开始,请执行以下操作以清除Ceph软件包,并清除其所有数据和配置:

ceph-deploy purge {ceph-node} [{ceph-node}]
ceph-deploy purgedata {ceph-node} [{ceph-node}]
ceph-deploy forgetkeys
rm -rf *

如果执行purge,则必须重新安装Ceph。最后一个rm 命令删除在先前安装期间由本地ceph-deploy写出的所有文件。

1.创建一个集群

ceph-deploy new {initial-monitor-node(s)}

将node(s)替换成主机名,例如:

ceph-deploy new node1

使用 lscat检查ceph-deploy在当前目录中的输出。您应该看到Ceph配置文件(ceph.conf),监视器密钥环(ceph.mon.keyring)和新集群的日志文件。

为了省事,确保只有一个网络接口,(所有安装完成后)关闭ipv6。如有需要请参考官方文档

2.安装Ceph

ceph-deploy install {ceph-node} [...]

例如:

ceph-deploy install node1

ceph-deploy将在列出的每个节点上安装Ceph。

不出意外,在这一步将发生报错。如果发生,请执行:

sudo yum remove ceph-release.noarch

之后在/etc/yum.repo.d/中将ceph.repo.rpmnew重命名为ceph.repo。

重新尝试安装可能会因为网速过慢而导致超时,所以我们提前手动安装。

sudo yum install ceph

然后再尝试安装应该就可以成功了。

3.部署初始mon并收集密钥

ceph-deploy mon create-initial

使用ceph-deploy将配置文件和管理密钥复制到您的管理节点和Ceph节点。

ceph-deploy admin {ceph-node(s)}

例如:

ceph-deploy admin node1

4.添加mgr

ceph-deploy mgr create node1  *Required only for luminous+ builds, i.e >= 12.x builds*

仅适用于luminous以上版本。

5.添加三个OSD

我们假设您在每个节点中都有一个未使用的磁盘/dev/vdb 确保设备当前未使用且不包含任何重要数据。

ceph-deploy osd create --data {device} {ceph-node}

本例中:

ceph-deploy osd create --data /dev/sdb node1
ceph-deploy osd create --data /dev/sdc node1
ceph-deploy osd create --data /dev/sdd node1

6.检查群集的运行状况

sudo ceph health

您的集群应该报告HEALTH_OK。您可以使用以下命令查看更完整的集群状态:

sudo ceph -s

7.添加MDS

要使用CephFS,您至少需要一个元数据服务器。执行以下操作以创建元数据服务器:

ceph-deploy mds create {ceph-node}

例如:

ceph-deploy mds create node1

因为我们是单节点Ceph集群,所以不需要更多mon,也没有mgr备份。

8.添加RGW

要使用Ceph对象网关组件,必须部署RGW实例。执行以下命令以创建RGW的新实例:

ceph-deploy rgw create {gateway-node}

例如:

ceph-deploy rgw create node1

文件系统搭建阶段

确保存储集群运行在 active+clean 状态且至少有一个运行中的MDS。

1.在ceph-client节点上安装Ceph

使用ceph-deploy:

ceph-deploy install ceph-client

2.创建文件系统

上一步中,您已经创建了MDS,但在创建pool和文件系统之前它不会变为活动状态。

ceph osd pool create cephfs_data <pg_num>
ceph osd pool create cephfs_metadata <pg_num>
ceph fs new <fs_name> cephfs_metadata cephfs_data

例如:

sudo ceph osd pool create cephfs_data 8
sudo ceph osd pool create cephfs_metadata 8
sudo ceph fs new cephfs cephfs_metadata cephfs_data

这时候会发现100% pgs not active并且mds一直处于creating状态,执行以下命令:

cd /etc/ceph/
sudo ceph osd getcrushmap -o /etc/ceph/crushmap
sudo crushtool -d /etc/ceph/crushmap -o /etc/ceph/crushmap.txt
sudo sed -i 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' /etc/ceph/crushmap.txt
sudo grep 'step chooseleaf' /etc/ceph/crushmap.txt
/*出现step chooseleaf firstn 0 type osd*/
sudo crushtool -c /etc/ceph/crushmap.txt -o /etc/ceph/crushmap-new
sudo ceph osd setcrushmap -i /etc/ceph/crushmap-new

这时候再查看集群状态会发现HEALTH_OK,mds已经处于active状态,100% pgs active+clean

到这一步,基本可以宣告Ceph集群和CephFS搭建完毕。

要增加pool的pg_num,可使用ceph osd pool set {pool-name} pg_num {x}命令。(只能增加不能减少)

如果要减少pg_num,只能删除cephfs和pool重新再来,在ceph.conf里添加mon_allow_pool_delete = true,并重启。

然后执行以下命令删除cephfs和pool:(数据会销毁且不可撤销)

systemctl stop ceph-mds@node1
sudo ceph fs rm cephfs --yes-i-really-mean-it
sudo ceph osd pool rm cephfs_data cephfs_data --yes-i-really-really-mean-it
sudo ceph osd pool rm cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it
systemctl start ceph-mds@node1

3.身份验证

Ceph存储集群在默认情况下启用身份验证的情况下运行。为了省事,可以把my-cluster和/etc/ceph/中的ceph.conf中的cephx改成none来禁用它。

禁用后需要重启,否则可能会连不上集群。

如果需要启用身份验证,请参考官方文档

文件系统挂载阶段

作为内核驱动器挂载

sudo mkdir /mnt/mycephfs
sudo mount -t ceph {ip-address-of-monitor}:6789:/ /mnt/mycephfs

如果您没有禁用身份验证,保持默认开启,需要提供用户名和秘密文件,例如:

sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secretfile=admin.secret

将CephFS挂载为用户空间(FUSE)中的文件系统

sudo mkdir ~/mycephfs
sudo ceph-fuse -m {ip-address-of-monitor}:6789 ~/mycephfs

如果您没有禁用身份验证,保持默认开启,且密钥环不在默认位置(/etc/ceph),需要手动指定

sudo ceph-fuse -k ./ceph.client.admin.keyring -m 192.168.0.1:6789 ~/mycephfs
Latest posts by 青鸟千秋 (see all)

Ceph客户端缓存一致性分析

引子 在分布式系统中,保证客户端的缓存一致性非常重要。 假设有两个客户端Client A和Client B。集群的文件系统中有这么一个目录:/a/b/c/d/。 Client A创建...

阅读全文

CephFS:什么是CAPS?

在Ceph中,他们建立了一套独特的系统来管理客户端对Inode的操作权限,称为capabilities,简称CAPS。与其他网络文件系统(例如NFS或SMB)的主要区别之一是授予...

阅读全文

Win10 17074麦克风没声音bug解决方案

今天笔记本麦克风突然没声音重装声卡驱动也不好使 百度“win10麦克风没声音”无果,突发奇想:是不是微软这家伙的锅? 改成“win10 17074麦克风没声音”——竟然...

阅读全文

欢迎留言