??xml version="1.0" encoding="utf-8" standalone="yes"?>˾̳:C++博客 - ڲͼ//www.owiwv.icu/runsisi/zh-cnMon, 14 Oct 2019 02:56:52 GMTMon, 14 Oct 2019 02:56:52 GMT60博客已迁U至 https://runsisi.com/ - ڲͼ//www.owiwv.icu/runsisi/archive/2019/03/03/216282.htmlrunsisirunsisiSun, 03 Mar 2019 07:05:00 GMT//www.owiwv.icu/runsisi/archive/2019/03/03/216282.html//www.owiwv.icu/runsisi/comments/216282.html//www.owiwv.icu/runsisi/archive/2019/03/03/216282.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/216282.html//www.owiwv.icu/runsisi/services/trackbacks/216282.htmlhttps://runsisi.com/



runsisi 2019-03-03 15:05 发表评论
]]>
Zceph RBD的Iscsi target实现分析 - ڲͼ//www.owiwv.icu/runsisi/archive/2015/08/15/211568.htmlrunsisirunsisiSat, 15 Aug 2015 14:44:00 GMT//www.owiwv.icu/runsisi/archive/2015/08/15/211568.html//www.owiwv.icu/runsisi/comments/211568.html//www.owiwv.icu/runsisi/archive/2015/08/15/211568.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/211568.html//www.owiwv.icu/runsisi/services/trackbacks/211568.htmlZceph RBD?/span>Iscsi target实现分析

runsisi AT hust.edu.cn

2015/06/12

 

本文ȝZceph存储后端?/span>iSCSI target实现Q针对几U可能的实现思\q行分析Qƈ输出本文?Q本文内容组l结构如下?/span>

1. 描述本文的目的及内容Q?/span>

2. iSCSI使用ceph作ؓ存储后端的基本实现思\Q?/span>

3. 分别阐述几种可能的实现方式,分析其各自的特点和可能存在的一些技术障;

4. 最后简单ȝ全文?/span>

˾̳:1.        问题提出

ceph作ؓ一个真正意义上的统一存储pȝQ有着很好的应用前景,但到目前为止有多U原因限制了其在传统存储应用领域真正大范围的应用Q如客户端仅支持GNU/LinuxpȝQ内核态客L实现也仅会合入高版本的内怸{。而对?/span>iSCSIq种传统的存储应用而言Q由于客L配置单且_通用Q常见的各种pȝQ包括操作系l和应用pȝQ一般都?/span>iSCSI有很好的支持Q因此ؓ了扩?/span>ceph的应用范_特别是应对只支持iSCSI的系l,ceph必须通过某种途径实现?/span>iSCSI的支持?/span>

2.        基本思考方?/span>

ceph集群目前支持三种形式的存储接口:文g、对象、块Q其中块接口(?/span>RBD)?/span>SCSI块设备读写所要求的接口一_因此可以Zceph?/span>RBD提供SCSI存储pȝ后端Q当然如果有_信心的话也可以完全抛?/span>ceph提供的这三种基础接口Q而在原始?/span>RADOS接口上开发新的块接口Q当焉非原始的RBD接口有重要缺P否则暂时q看不到重新发明轮子的必要,注意后文的讨论都基于这一基本假设?/span>

/Files/runsisi/Zceph-RBD的iSCSI-target实现分析.pdf

runsisi 2015-08-15 22:44 发表评论
]]>
OpenStack学习 - ڲͼ//www.owiwv.icu/runsisi/archive/2015/08/02/211459.htmlrunsisirunsisiSun, 02 Aug 2015 14:38:00 GMT//www.owiwv.icu/runsisi/archive/2015/08/02/211459.html//www.owiwv.icu/runsisi/comments/211459.html//www.owiwv.icu/runsisi/archive/2015/08/02/211459.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/211459.html//www.owiwv.icu/runsisi/services/trackbacks/211459.html1. virtualization

虚拟化,与真实的、物理存在的对象相对应,用于隔离底层物理实现。其中计机g虚拟化是我们所熟知的虚拟化技术,如?/span>VirtualBox{虚拟机软g创徏多台x86虚拟机器Q?/span>qemu模拟多种gq_Q?/span>x86Q?/span>PPCQ等。其它常见类型的虚拟化技术包括:操作pȝ虚拟化(DockerQ?/span>FreeBSD jailQ,存储虚拟化(poolingQ,应用软g虚拟化(virtualenvQ等[1]?/span>



[1]本文只讨?/span>x86q_的硬件虚拟化Q?/span>


/Files/runsisi/openstack学习.pdf



runsisi 2015-08-02 22:38 发表评论
]]>
使用saltstack部vceph集群 - ڲͼ//www.owiwv.icu/runsisi/archive/2015/01/30/209679.htmlrunsisirunsisiFri, 30 Jan 2015 11:46:00 GMT//www.owiwv.icu/runsisi/archive/2015/01/30/209679.html//www.owiwv.icu/runsisi/comments/209679.html//www.owiwv.icu/runsisi/archive/2015/01/30/209679.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/209679.html//www.owiwv.icu/runsisi/services/trackbacks/209679.htmlrunsisi AT hust

//www.owiwv.icu/runsisi


[本文所提及的部|方法已不适用于新版的ceph-formula]
本文单描qC?/span>saltstack部vceph集群Q?/span>MON+OSDQ的Ҏ?/span>

1. saltstack基本概念

masterQ?/span>saltstack服务端,可执行程序ؓsalt-masterQ?/span>

minionQ?/span>saltstack客户端,可执行程序ؓsalt-minionQ?/span>

grainsQ客L节点自n所固有的静态数据,如节点的基本信息{;

pillarQ在服务端定义的、针对具体客L的数据?br />
/Files/runsisi/salt-ceph.pdf



runsisi 2015-01-30 19:46 发表评论
]]>
puppet ceph部v - ڲͼ//www.owiwv.icu/runsisi/archive/2014/12/04/209026.htmlrunsisirunsisiThu, 04 Dec 2014 12:57:00 GMT//www.owiwv.icu/runsisi/archive/2014/12/04/209026.html//www.owiwv.icu/runsisi/comments/209026.html//www.owiwv.icu/runsisi/archive/2014/12/04/209026.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/209026.html//www.owiwv.icu/runsisi/services/trackbacks/209026.html


runsisi AT hust

//www.owiwv.icu/runsisi

前言

本文对?/span>puppetq行ceph集群的部|流E进行简要ȝ。全文结构如下:W一、二节分别对puppet?/span>cephq行单介l;W三节分?/span>puppet-ceph模块的结构和实现Q第四节描述ceph集群部v的操作流E;W五节ȝ全文Q附录ؓ参考文献及代码?/span>

1.     puppet

puppet是一个开源的配置理工具(Puppet is an open source configuration management utility[1])Q同时也是当前最L的配|管理自动化工具之一?/span>

Puppet有自q立的语言[2]用于~写配置脚本Q但不同于一般的脚本语言Q该语言只描q被配置对象的状态(?/span>puppet中的资源Q,而不需要指定实现该配置所需要的操作步骤?/span>puppet自n定义了很多常见的资源cdQ但用户也可以自定义资源cdQ具体实现细节可以参?#8220;Puppet Types and Providers”一书?br />
/Files/runsisi/puppet-ceph部v.pdf

runsisi 2014-12-04 20:57 发表评论
]]>
iSCSI CHAP认证 - ڲͼ//www.owiwv.icu/runsisi/archive/2014/09/10/208267.htmlrunsisirunsisiWed, 10 Sep 2014 14:25:00 GMT//www.owiwv.icu/runsisi/archive/2014/09/10/208267.html//www.owiwv.icu/runsisi/comments/208267.html//www.owiwv.icu/runsisi/archive/2014/09/10/208267.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/208267.html//www.owiwv.icu/runsisi/services/trackbacks/208267.html

runsisi AT hust

//www.owiwv.icu/runsisi

前言

CHAP认证?/span>iSCSI协议中最主要的认证方式,现有的开?/span>iSCSI实现Q包?/span>initiator?/span>target实现Q基本上都只支持CHAP认证Q本文将?/span>CHAP认证及其?/span>iSCSI协议中的应用作一个简单的介绍?/span>

CHAP协议

CHAP[1]的全U是Challenge-Handshake Authentication ProtocolQ协议细节由RFC 1994q行定义?/span>CHAP最初应用在Point to Point ProtocolQ?/span>PPPQ中Q用于实?/span>PPP服务器对客户端的w䆾认证Q但也可以应用在其它需要对用户或主行n份认证的场合Q如iSCSI协议p定?/span>iSCSI协议q行通信的设备必(MUSTQ实?/span>CHAP认证?br />
注:附g中的压羃包ؓiSCSI discovery会话的抓包信息,两次抓包分别为单向CHAP认证和双向CHAP认证q程Q?br />iSCSI normal会话的CHAP认证q程和discovery会话是一LQ没有再单独抓包?br />
/Files/runsisi/iSCSI_CHAP认证.pdf
/Files/runsisi/iSCSI_CHAP_PCAP.7z



runsisi 2014-09-10 22:25 发表评论
]]>
centos6.x~译打包vim7.4 - ڲͼ//www.owiwv.icu/runsisi/archive/2014/09/06/208240.htmlrunsisirunsisiSat, 06 Sep 2014 02:30:00 GMT//www.owiwv.icu/runsisi/archive/2014/09/06/208240.html//www.owiwv.icu/runsisi/comments/208240.html//www.owiwv.icu/runsisi/archive/2014/09/06/208240.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/208240.html//www.owiwv.icu/runsisi/services/trackbacks/208240.html

runsisi AT hust

//www.owiwv.icu/runsisi

 

现在公司内部使用?/span>RPMpd行版应该多数q停留在Centos6.x?/span>RHEL6.x版本Q?/span>6.xpd的版本带?/span>vim好像都是7.2版本的,像我q种装了spf13提供?/span>vim插g包的TX比较郁闷了Q这个插件包只支?/span>7.3及以上的版本Q?/span>vim官方好像是没有提?/span>rpm包下载的Q我每次都是自己下来源代码进行编译,其实Z方便的,本来只需要进行一ơ的工作Q每ơ硬是要重新~译打包。让我想起了在学校维护系里的|站Ӟ需要添加一个生成本U毕业设计选题l计word文的功能,大概׃我两天的旉才把q个功能l实CQ每ơ老师们想要生成这个文?Q就在页面上点击一下按钮,然后E等一会Q网站后C实时生成一?/span>word文提供下蝲Q好久之后我才突然开H,其实只需要我自己生成一份然后挂到网站上p了的Q反正毕N题每年只有一ơ,哪用SB似的每次都去查数据库l生成一?/span>:)

google?/span>GFWl屏蔽了Q因?/span>vim的代码也取不下来了,只好?/span>Centos7?/span>yum源里取了一份,路径如下Q?/span>

//vault.centos.org/7.0.1406/os/Source/SPackages/


/Files/runsisi/centos6.x~译打包vim7.4.pdf



runsisi 2014-09-06 10:30 发表评论
]]>
ceph~译、打?/title><link>//www.owiwv.icu/runsisi/archive/2014/09/03/208223.html</link><dc:creator>runsisi</dc:creator><author>runsisi</author><pubDate>Wed, 03 Sep 2014 14:02:00 GMT</pubDate><guid>//www.owiwv.icu/runsisi/archive/2014/09/03/208223.html</guid><wfw:comment>//www.owiwv.icu/runsisi/comments/208223.html</wfw:comment><comments>//www.owiwv.icu/runsisi/archive/2014/09/03/208223.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>//www.owiwv.icu/runsisi/comments/commentRss/208223.html</wfw:commentRss><trackback:ping>//www.owiwv.icu/runsisi/services/trackbacks/208223.html</trackback:ping><description><![CDATA[<a href="mailto:runsisi@hust.edu.cn"><br /></a><p align="right" style="text-align:right"><a href="mailto:runsisi@hust.edu.cn" style="text-indent: 28px;">runsisi</a><span style="text-indent: 28px;"> AT hust</span></p> <p align="right" style="text-align:right"><a href="//www.owiwv.icu/runsisi"><span style="font-family:Consolas">//www.owiwv.icu/runsisi</span></a></p> <p style="text-indent:24.0pt;line-height:150%;"> </p> <p style="margin-left:0cm;text-indent:0cm;line-height:150%;"><strong class="oese"><span style="font-size:12.0pt; line-height:150%;">1Q?nbsp;</span></strong><strong class="oese"><span style="font-size:12.0pt;line-height: 150%;font-family:宋体;">获取源代?/span></strong><strong class="oese"></strong></p> <p style="text-indent:24.0pt;line-height:150%;"><span style="font-size:12.0pt;line-height:150%; font-family:宋体;">获取源代码有多种途径Q其?/span><span style="font-size:12.0pt;line-height:150%">ceph</span><span style="font-size: 12.0pt;line-height:150%;font-family:宋体;">官方发布的源代码路径如下Q?/span><span style="font-size:12.0pt;line-height:150%"> </span></p> <p style="line-height:150%;"><a ><span style="font-size:12.0pt; line-height:150%">//ceph.com/download/</span></a></p> <p style="text-indent:24.0pt;line-height:150%;"><span style="font-size:12.0pt;line-height:150%; font-family:宋体;">在该路径下下载相应发行版本的源代?/span><span style="font-size:12.0pt;line-height:150%">tar</span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">包即可,同时也可以?/span><span style="font-size:12.0pt;line-height:150%">git</span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">版本理工具获取最新的开发版本的源代?/span><sup><span style="font-size:12.0pt;line-height:150%">[1]</span></sup><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">Q?/span></p> <p style="text-indent:24.0pt;line-height:150%;"><span style="font-size:12.0pt; line-height:150%">git clone --recursive https://github.com/ceph/ceph.git</span></p> <p style="margin-left:0cm;text-indent:0cm;line-height:150%;"><strong class="oese"><span style="font-size:12.0pt; line-height:150%;">2Q?nbsp;</span></strong><strong class="oese"><span style="font-size:12.0pt;line-height: 150%;font-family:宋体;">建立~译环境</span></strong><strong class="oese"></strong></p> <p style="text-indent:24.0pt;line-height:150%;"><span style="font-size:12.0pt;line-height:150%; font-family:宋体;">~译打包</span><span style="font-size:12.0pt;line-height:150%">ceph</span><span style="font-size: 12.0pt;line-height:150%;font-family:宋体;">需要相应的工具链以及一pd的第三方库,Z</span><span style="font-size:12.0pt;line-height:150%">deb</span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">的发行版和基?/span><span style="font-size:12.0pt;line-height:150%">rpm</span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">的发行版所需要的依赖q不相同,如果使用</span><span style="font-size:12.0pt;line-height:150%">git</span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">?/span><span style="font-size:12.0pt;line-height:150%">github</span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">获取的源代码Q则在源代码的根目录有两个文Ӟ</span><span style="font-size:12.0pt;line-height:150%">deps.deb.txt, deps.rpm.txt</span><span style="font-size: 12pt; line-height: 150%; font-family: 宋体;">Q这两个文g分别记录了这两种cd的发行版建立~译环境所需的工具及W三方依赖库Q但是这两个文g所记录的依赖关pdƈ不一定完全准,如果有缺q依赖Q编译体p进行构建时会报错,再安装相应的依赖卛_?br /><a href="/Files/runsisi/ceph_build.pdf"><br />/Files/runsisi/ceph_build.pdf</a><br /></span></p><img src ="//www.owiwv.icu/runsisi/aggbug/208223.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="//www.owiwv.icu/runsisi/" target="_blank">runsisi</a> 2014-09-03 22:02 <a href="//www.owiwv.icu/runsisi/archive/2014/09/03/208223.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用ceph-deploy工具部v时出现错误:Unable to find /var/lib/ceph/bootstrap-osd/ceph.keyring - ڲͼ//www.owiwv.icu/runsisi/archive/2014/08/28/208168.htmlrunsisirunsisiThu, 28 Aug 2014 14:51:00 GMT//www.owiwv.icu/runsisi/archive/2014/08/28/208168.html//www.owiwv.icu/runsisi/comments/208168.html//www.owiwv.icu/runsisi/archive/2014/08/28/208168.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/208168.html//www.owiwv.icu/runsisi/services/trackbacks/208168.html

runsisi AT hust

//www.owiwv.icu/runsisi

 

该错误在执行命oQ?/span>ceph-deploy mon create-initial 时出玎ͼ说明?/span> monitor 节点曄部vq?/span> ceph 环境Q该问题的解x法很单,在执行该命o之前删除?/span> monitor 节点 /etc/ceph/ 下的{cluster}.client.admin.keyring 文gQ?/span>cluster名默认配|情况下?/span>cephQ?/span>

该错误的具体原因待会解释Q先单介l一下该命o执行q程中发生的事情Q?/span>

1Q?nbsp;启动 monitor 节点?/span> ceph monitor 守护q程Q?/span>

2Q?nbsp;monitor 节点执行 ceph-create-keys 命oQ?/span>

3Q?nbsp;ceph-create-keys创徏 {cluster}.client.admin.keyringQ?/span>

4Q?nbsp;ceph-create-keys创徏 bootstrap-{osd, mds}/{cluster}.keyringQ?/span>

5Q?nbsp;ceph-deploy 所在运行节点从 monitor 节点?/span> {cluster}.client.admin.keyring, {cluster}.mon.keyring, bootstrap-{osd, mds}/{cluster}.keyring 到当前\径;

6Q?nbsp;以上M一步如果文件已存在Q则不会新徏Q或?/span> monitor 节点取)文g?/span>

回到我们遇到的错误,׃ monitor 节点之前可能使用 ceph-deploy 工具q行q部|Ԍ再次部v时没有将 {cluster}.client.admin.keyring 原有的配|文件进行清理,因此W?/span>3步不会创建新?/span> keyring 文gQ仍然用上ơ部|用的keyringQ从而导致第4步操作会p|Q最l出错?/span>

从上面的介绍Q可以知道,如果要?/span> ceph-deploy 工具再次?/span> ceph 集群q行部vQ最好将各节点(包括 ceph-deploy 工具所在节点)上原有的配置文g清理之后再进行部|Ӏ?br />
/Files/runsisi/ceph_bootstrap_key_fail.pdf



runsisi 2014-08-28 22:51 发表评论
]]>
C++14 标准制定完成 - ڲͼ//www.owiwv.icu/runsisi/archive/2014/08/21/208074.htmlrunsisirunsisiWed, 20 Aug 2014 16:34:00 GMT//www.owiwv.icu/runsisi/archive/2014/08/21/208074.html//www.owiwv.icu/runsisi/comments/208074.html//www.owiwv.icu/runsisi/archive/2014/08/21/208074.html#Feedback0//www.owiwv.icu/runsisi/comments/commentRss/208074.html//www.owiwv.icu/runsisi/services/trackbacks/208074.html//www.cnbeta.com/articles/320875.htm

竟然q么快。?/span>

ڲͼ 2014-08-21 00:34 发表评论
]]>