1.å¦ä¹ linuxç³»ç»åè½ä»äºåªäºå·¥ä½ï¼
2.在Kubernetes上运行一个 Python 应用程序
3.Ceph集群详细部署配置图文讲解(二)
4.BlueStore源码分析之Cache
5.国内有哪些软件定义存储厂商?
å¦ä¹ linuxç³»ç»åè½ä»äºåªäºå·¥ä½ï¼
å¦ä¹ linuxç³»ç»åè½ä»äºç½ç»åºç¨æ¹åãç³»ç»ç»´æ¤æ¹å以å驱å¨å¼åç±»çå·¥ä½ãLinuxçç®ä»ï¼
Linuxæ¯ä¸å¥å 费使ç¨åèªç±ä¼ æçç±»Unixæä½ç³»ç»ï¼æ¯ä¸ä¸ªåºäºPOSIXåUNIXçå¤ç¨æ·ãå¤ä»»å¡ãæ¯æå¤çº¿ç¨åå¤CPUçæä½ç³»ç»ãå®è½è¿è¡ä¸»è¦çUNIXå·¥å ·è½¯ä»¶ãåºç¨ç¨åºåç½ç»åè®®ãå®æ¯æä½åä½ç¡¬ä»¶ãLinux继æ¿äºUnix以ç½ç»ä¸ºæ ¸å¿ç设计ææ³ï¼æ¯ä¸ä¸ªæ§è½ç¨³å®çå¤ç¨æ·ç½ç»æä½ç³»ç»ã
Linuxæä½ç³»ç»è¯çäº å¹´ æ5 æ¥ï¼è¿æ¯ç¬¬ä¸æ¬¡æ£å¼åå¤å ¬å¸æ¶é´ï¼ãLinuxåå¨ç许å¤ä¸åçLinuxçæ¬ï¼ä½å®ä»¬é½ä½¿ç¨äºLinuxå æ ¸ãLinuxå¯å®è£ å¨åç§è®¡ç®æºç¡¬ä»¶è®¾å¤ä¸ï¼æ¯å¦ææºãå¹³æ¿çµèãè·¯ç±å¨ãè§é¢æ¸¸ææ§å¶å°ãå°å¼è®¡ç®æºã大åæºåè¶ çº§è®¡ç®æºã
ä¸¥æ ¼æ¥è®²ï¼Linuxè¿ä¸ªè¯æ¬èº«åªè¡¨ç¤ºLinuxå æ ¸ï¼ä½å®é ä¸äººä»¬å·²ç»ä¹ æ¯äºç¨Linuxæ¥å½¢å®¹æ´ä¸ªåºäºLinuxå æ ¸ï¼å¹¶ä¸ä½¿ç¨GNUå·¥ç¨åç§å·¥å ·åæ°æ®åºçæä½ç³»ç»ã
Linuxç³»ç»ç主è¦ç¹æ§ï¼
1ãåºæ¬ææ³
Linuxçåºæ¬ææ³æ两ç¹ï¼ç¬¬ä¸ï¼ä¸åé½æ¯æ件ï¼ç¬¬äºï¼æ¯ä¸ªè½¯ä»¶é½æç¡®å®çç¨éãå ¶ä¸ç¬¬ä¸æ¡è¯¦ç»æ¥è®²å°±æ¯ç³»ç»ä¸çææé½å½ç»ä¸ºä¸ä¸ªæ件ï¼å æ¬å½ä»¤ã硬件å软件设å¤ãæä½ç³»ç»ãè¿ç¨çç对äºæä½ç³»ç»å æ ¸èè¨ï¼é½è¢«è§ä¸ºæ¥æåèªç¹æ§æç±»åçæ件ãè³äºè¯´Linuxæ¯åºäºUnixçï¼å¾å¤§ç¨åº¦ä¸ä¹æ¯å 为è¿ä¸¤è çåºæ¬ææ³ååç¸è¿ã
2ãå®å ¨å è´¹
Linuxæ¯ä¸æ¬¾å è´¹çæä½ç³»ç»ï¼ç¨æ·å¯ä»¥éè¿ç½ç»æå ¶ä»éå¾å è´¹è·å¾ï¼å¹¶å¯ä»¥ä»»æä¿®æ¹å ¶æºä»£ç ãè¿æ¯å ¶ä»çæä½ç³»ç»æåä¸å°çãæ£æ¯ç±äºè¿ä¸ç¹ï¼æ¥èªå ¨ä¸ççæ æ°ç¨åºååä¸äºLinuxçä¿®æ¹ãç¼åå·¥ä½ï¼ç¨åºåå¯ä»¥æ ¹æ®èªå·±çå ´è¶£åçµæå¯¹å ¶è¿è¡æ¹åï¼è¿è®©Linuxå¸æ¶äºæ æ°ç¨åºåçç²¾åï¼ä¸æ壮大ã
3ãå®å ¨å ¼å®¹POSIX1.0æ å
è¿ä½¿å¾å¯ä»¥å¨Linuxä¸éè¿ç¸åºç模æå¨è¿è¡å¸¸è§çDOSãWindowsçç¨åºãè¿ä¸ºç¨æ·ä»Windows转å°Linuxå¥ å®äºåºç¡ã许å¤ç¨æ·å¨èè使ç¨Linuxæ¶ï¼å°±æ³å°ä»¥åå¨Windowsä¸å¸¸è§çç¨åºæ¯å¦è½æ£å¸¸è¿è¡ï¼è¿ä¸ç¹å°±æ¶é¤äºä»ä»¬ççèã
4ãå¤ç¨æ·ãå¤ä»»å¡
Linuxæ¯æå¤ç¨æ·ï¼å个ç¨æ·å¯¹äºèªå·±çæ件设å¤æèªå·±ç¹æ®çæå©ï¼ä¿è¯äºåç¨æ·ä¹é´äºä¸å½±åãå¤ä»»å¡åæ¯ç°å¨çµèæ主è¦çä¸ä¸ªç¹ç¹ï¼Linuxå¯ä»¥ä½¿å¤ä¸ªç¨åºåæ¶å¹¶ç¬ç«å°è¿è¡ã
5ãè¯å¥½ççé¢
Linuxåæ¶å ·æå符çé¢åå¾å½¢çé¢ãå¨å符çé¢ç¨æ·å¯ä»¥éè¿é®çè¾å ¥ç¸åºçæ令æ¥è¿è¡æä½ãå®åæ¶ä¹æä¾äºç±»ä¼¼Windowså¾å½¢çé¢çX-Windowç³»ç»ï¼ç¨æ·å¯ä»¥ä½¿ç¨é¼ æ å¯¹å ¶è¿è¡æä½ãå¨X-Windowç¯å¢ä¸å°±åå¨Windowsä¸ç¸ä¼¼ï¼å¯ä»¥è¯´æ¯ä¸ä¸ªLinuxççWindowsã
6ãæ¯æå¤ç§å¹³å°
Linuxå¯ä»¥è¿è¡å¨å¤ç§ç¡¬ä»¶å¹³å°ä¸ï¼å¦å ·æxãx0ãSPARCãAlphaçå¤çå¨çå¹³å°ãæ¤å¤Linuxè¿æ¯ä¸ç§åµå ¥å¼æä½ç³»ç»ï¼å¯ä»¥è¿è¡å¨æä¸çµèãæºé¡¶çæ游ææºä¸ãå¹´1æ份åå¸çLinux 2.4çå æ ¸å·²ç»è½å¤å®å ¨æ¯æIntel ä½è¯çæ¶æãåæ¶Linuxä¹æ¯æå¤å¤çå¨ææ¯ãå¤ä¸ªå¤çå¨åæ¶å·¥ä½ï¼ä½¿ç³»ç»æ§è½å¤§å¤§æé«ã
在Kubernetes上运行一个 Python 应用程序
在Kubernetes上部署Python应用程序
Kubernetes是源码一个开源平台,用于部署、安装维护和扩展容器化应用程序。源码它提供了一个简单且强大的安装框架,帮助用户管理容器化Python应用,源码同时保持可移植性、安装vin查询 php源码可扩展性和自我修复能力。源码
不论Python应用的安装复杂度如何,Kubernetes都能高效地部署和伸缩它们,源码并在资源有限的安装环境中进行滚动升级。本文将引导你完成在Kubernetes上部署简单Python应用的源码过程,包括必需条件、安装容器化Python应用、源码创建容器镜像、安装发布镜像、源码使用持久卷等步骤。
部署前,试客软件源码确保你已安装Docker和kubectl,并准备好源代码。Docker是一个构建和承载已发布应用的平台,通过其官方文档进行安装验证。kubectl是用于在Kubernetes集群上运行命令的命令行工具。
部署应用至Kubernetes要求应用为容器化形式。本文将回顾Python应用的容器化过程,解释容器化及其优势,并参考Roman Gaponov的文章为Python代码创建容器。
接下来,我们将通过Dockerfile构建Python容器镜像。Dockerfile包含运行示例Python代码的指令,使用Python 3.5作为开发环境。使用命令构建镜像,然后发布到私有或公共云仓库,如Docker Hub。式app源码平台
在发布镜像前,为它添加版本号。对于使用不同云注册中心的情况,可参考其相关信息。在本教程中,我们将使用Docker Hub。
使用Docker命令将镜像推送到云仓库。对于Kubernetes,将使用CephFS作为持久卷提供商。创建文件以配置CephFS存储,并使用kubectl将持久卷添加到Kubernetes集群。
部署Python应用至Kubernetes的最后一步是创建服务文件和部署文件。使用提供的内容创建这些文件,然后通过kubectl将应用部署到Kubernetes集群。
验证应用是否成功部署,通过检查运行的寸土吧漫画源码服务。Kubernetes可简化未来应用部署的复杂性。
欲深入了解Python知识,推荐Nanjekye的书,包含在Python 2和3上编写可靠代码的完整方法,以及如何转换Python 2代码以在Python 2和3上稳定运行的详细示例。
本文由Joannah Nanjekye撰写,是一位充满激情的飞行员,专注于用代码解决问题。本文译者为qhwdw,校对由wxy完成。
了解更多关于作者的信息
来源:opensource.com/article/...
作者:Joannah Nanjekye
译者:qhwdw
校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
Ceph集群详细部署配置图文讲解(二)
部署Ceph集群时,首先创建三台虚拟机,使用CentOS 7.6,IP网段为...2/。三台主机命名如下:
CENTOS7-1: IP ...,kjd指标公式源码作为管理节点和子节点。
CENTOS7-2: IP ...,作为子节点。
CENTOS7-3: IP ...,作为子节点。
系统配置涉及修改主机名称、编辑hosts文件、确保时区正确并设置开机启动NTP同步。使用清华镜像源配置yum源,并安装所需组件。
为实现免密码SSH登陆,创建名为ceph_user的用户,并设置密码。修改sudo权限,生成并分发SSH密钥至各机器节点,简化SSH远程连接。
开放端口,禁用防火墙,设置SELinux为禁用。创建集群配置目录,执行ceph-deploy新创建集群,并进行安装。同步管理信息至各节点,安装mgr与OSD。
安装管理后台,开启dashboard模块,生成签名,创建目录并生成密钥对。设置IP与PORT,关闭HTTPS,查看服务信息,设置管理用户与密码,访问管理界面。
创建Cephfs文件系统,执行ceph-deploy创建mds节点,并创建两个存储池。创建fs,通过ceph fs ls验证状态,必要时删除并重新创建。
采用fuse挂载方式,确保ceph-fuse命令可用,创建挂载目录,挂载cephfs,并查看磁盘挂载信息。
客户端连接验证使用Rados Java,需安装JDK、GIT和MAVEN。下载并安装rados java客户端源码,执行MAVEN安装,忽略测试用例。
创建软链接加入CLASSPATH,安装jna,创建JAVA测试类CephClient。运行验证确保成功与ceph建立连接。
BlueStore源码分析之Cache
BlueStore通过DIO和Libaio直接操作裸设备,放弃了PageCache,为优化读取性能,它自定义了Cache管理。核心内容包括元数据和数据的Cache,以及两种Cache策略,即LRU和2Q,2Q是默认选择。
2Q算法在BlueStore中主要负责缓存元数据(Onode)和数据(Buffer),为提高性能,Cache被进一步划分为多个片,HDD默认5片,SSD则默认8片。
BlueStore的元数据管理复杂,主要分为Collection和Onode两种类型。Collection存储在内存中,Onode则对应对象,便于对PG的操作。启动时,会初始化Collection,将其信息持久化到RocksDB,并为PG分配Cache。
由于每个BlueStore承载的Collection数量有限(Ceph建议每个OSD为个PG),Collection结构设计为常驻内存,而海量的Onode则仅尽可能地缓存在内存中。
对象的数据通过BufferSpace进行管理,写入和读取完成后,会根据特定标记决定是否缓存。同时,内存池机制监控和管理元数据和数据,一旦内存使用超出限制,会执行trim操作,丢弃部分缓存。
深入了解BlueStore的Cache机制,可以参考以下资源:
国内有哪些软件定义存储厂商?
超融合作为近年来最热门的软件定义存储方式,如果对厂商感兴趣,国外的可以看下VMware,Nutanix,国内的可以看下官方报告:Gartner超融合中国区市场格局竞争报告,里面对主流的国内超融合厂商都有点评与介绍。