云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志

简介: 云原生-云应用挂载持久化存储卷NAS及通过NAS实现批量机器并发查找日志

需求


先说明需求,为什么要用NAS?

1.因为之前机器都是在ECS模式下,日志都可以持久化存储在ECS机器上,但是一旦应用上云部署为云应用了,那么云应用机器的扩缩容会导致POD的销毁和创建,这种情况下日志会随着POD而销毁,因此需要有一个持久化的存储


2.再者就是实现批量机器查找日志,之前在ECS模式下可以使用集团内部的pgm命令,一把梭哈就可以在上千台机器中定位查找的日志在哪台机器,但云原生POD模式就咩有这种功能了,通过NAS最后也实现了。


NAS


我也是第一次知道有NAS这款产品,那就先为阿里云的兄弟打一波广告:文件存储 (NAS),不了解什么是NAS的同学可以先了解一下,再继续下面。


购买及配置NAS


工欲善其事,必先购买NAS

这里先说明一下,不同环境可能操作步骤有不同


由于我的是有状态云应用,用到yaml配置文件,因此需要用到NAS的话,需要先在yaml中配置好NAS挂载信息,又因为我的上千个云应用共用NAS,要实现每个应用的日志在NAS下要有所区分,又在NAS上区分了挂载目录。

大致的yaml配置脱敏示例如下:

     # nas挂载
      - name: "nasName"
        flexVolume:
          driver: "alicloud/nas"
          options:
            server: "file-system-id.region.nas.aliyuncs.com"
            path: "当前服务器上待挂载的本地路径"
            vers: "3" #文件系统版本,vers=3:使用NFS v3协议挂载文件系统。
            options: "*"


其实到这里NAS挂载和配置就已经结束了,不懂的可以私戳我协助!


通过NAS实现批量机器并发查找日志


我们可以把NAS理解为一个磁盘,我的每个云应用会在磁盘上创建对应的目录,想在所有应用上查询同一个字段信息,相当于在NAS磁盘查询就好了,但是NAS没有办法直接登录啊!

这里给到一个解法:将NAS挂载到一台ECS机器,这样相当于给ECS机器挂载了一个磁盘,就可以查询NAS了。


ECS机器挂载NAS


说干就干,买ECS机器就不说了

买完之后跟着下面这里操作新购ECS时挂载NAS文件系统

一路向西就操作完毕

下面可以检查挂载结果了

使用VNC连接ECS实例,执行df -h命令,即可查看挂载的NAS文件系统信息

类似下图:

2021032621220883.png


使用SSH密钥对连接Linux实例


使用VNC连接实例太不方便了,那是阿里云多少年前的东西了,也一直没有优化,用户体验极差


这里可以参考使用SSH密钥对连接Linux实例


1.由于前面买机器的时候没有创建公网固定IP或EIP,也没有创建密钥对,所以需要绑定EIP,创建密钥对

参考创建SSH密钥对

参考绑定SSH密钥对

2.我这里目前是通过:在支持SSH命令的环境中使用密钥对(通过命令配置信息)


(1)修改私钥文件的属性

chmod 400 [.pem私钥文件在本地机上的存储路径]


例如

chmod 400 /Users/kunzhi/**.pem

(2)连接实例

ssh -i [.pem私钥文件在本地机上的存储路径] root@[公网IP地址]


(3)输入密码登录即可


20210326213310810.png


日志搜索

成功连接到实例后,需要进入对应的路径进行日志搜索

如下命令是对当前目录及子目录进行文件搜索关注字,并且每个文件只展示最新一条

find -name "文件名" | xargs -I file sh -c 'grep  "关键字" file|tail -1 ;grep -l  "关键字" file'

查找当前目录及子目录下包含"关键字”的文件名

find . -name "文件名" | xargs grep -l "关键字"


xargs,这个确实是一个好东西,后面会专门写一篇博客来记录一下

这里先给大家分享一个链接,可以先自己了解下xargs 命令教程


并发日志搜索


前面说了xargs好,但是GNU Parallel更香

这里是使用Linux 并行处理器 GNU Parallel

先安装

yum install parallel


安装完毕后直接在shell环境执行并行命令即可

#parallel 默认并发执行,每个CPU执行一条,当前机器是8核,即8个线程同:-j 8
#并发查找当前目录及子目录下的文件,包含"关键字"的第一条匹配的内容
#-I% 占位符
#-m1 取第一条
find -name 文件 |parallel -I% grep -m1 "关键字" 文件


其实xargs 也可以并发执行 参数是-P,但xargs的查询不保证顺序,有兴趣的同学可以执行下面的语句验证一下


#并发查找当前目录及子目录下的文件,包含"关键字"关键字的最新一条匹配的内容
find -name 文件 | xargs -P 8  -I file sh -c 'grep  "关键字" file|tail -1 ;grep -l  "关键字" file'


⚠️nas挂载找不到解决方案

NAS挂载找不到了,我们不可能再买一台ECS机器去操作,只需要进行重新配置即可,这里通过Linux系统挂载NFS文件系统解决

进行配置实例、手动挂载、自动挂载都走一遍,然后还原挂载。


通过命令:df -h

查看挂载情况即可了

好了,这次可以跑路了。。。。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。
392 0
|
存储 人工智能 Cloud Native
NAS深度解析:面向云原生应用的文件存储
本文深入解析了面向云原生应用的文件存储NAS,由阿里云专家分享。内容涵盖Cloud Native与AI浪潮下的技术创新,包括高性能、弹性伸缩、成本优化及数据安全等方面。针对云原生应用的特点,NAS在Serverless生态中不断演进,提供多种产品规格以满足不同需求,如极速型NAS、归档存储等,确保用户在高并发场景下获得稳定低延时的存储体验。同时,通过优化挂载参数和容器访问策略,提升整体性能与可用性。
716 11
|
存储 运维 Serverless
函数计算产品使用问题之遇到NAS已经挂载但显示未挂载的情况时,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
311 3
函数计算产品使用问题之遇到NAS已经挂载但显示未挂载的情况时,该怎么办
|
存储 Kubernetes 网络安全
[k8s]使用nfs挂载pod的应用日志文件
[k8s]使用nfs挂载pod的应用日志文件
717 1
|
存储 Serverless Linux
函数计算产品使用问题之如何设置两个SD AIGC应用搭载同一个NAS
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
326 1
|
运维 Serverless 文件存储
Serverless 应用引擎产品使用合集之如何将nas挂载到fc目录中
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
存储 运维 Serverless
Serverless 应用引擎产品使用合集之部署SD界面没有看见NAS启用的选项,是什么原因
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
存储 运维 Serverless
Serverless 应用引擎产品使用合集之在FC中挂载NAS到函数上,该如何操作
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
人工智能 运维 Serverless
函数计算产品使用问题之如何实现NAS的挂载
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
335 0
|
运维 Serverless 文件存储
函数计算产品使用问题之在利用Docker镜像部署应用时,容器内的应用如何能访问函数计算配置的NAS挂载
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
362 0