Ceph Start ISCSI Daemon
Ceph Start ISCSI Daemon查文档查看ceph orch命令的帮助文档1ceph orch --help 查询到有关ISCSI的命令: 12345678910111213orch apply iscsi <pool> <api_user> <api_password> Scale an iSCSI service [<trusted_ip_list>] [<placement>] [--unmanaged] [--dry- run] [--format {plain|json|json-pretty|yaml|xml-pretty| xml}] [--no-overwrite] orch daemon add iscsi <pool> <api_user> <api_password> Start iscsi daemon(s) [<trusted_ip_list>]...
Ubuntu Export Offline Packages
Ubuntu 离线包制作创建保存目录1mkdir /root/offline-depends 安装工具包apt-rdepends apt-rdepends 是一个用于查看软件包依赖关系的工具,它可以帮助你理解一个软件包安装时需要哪些其他软件包作为依赖。 1sudo apt install apt-rdepends 下载包 使用以下命令下载主包(我们以 Vim为例子)以及所有依赖项。 1sudo apt-rdepends vim | grep -v "^ " | xargs -r sudo apt-get download **| grep -v "^ "**: 用于过滤掉^开头的依赖包 |:管道符号,用于将前一个命令的输出作为后一个命令的输入。 grep -v "^ ":grep 是一个文本搜索工具,-v 选项用于反转匹配,即选择不匹配给定模式的行。"^ " 是一个正则表达式,匹配任何以空格开头的行。 **| xargs -r sudo apt-get...
Ceph 存储引擎—OSD 类型
Ceph 存储引擎—OSD 类型 Ceph 是一个分布式存储系统,它可以提供多种存储服务,包括块存储 (RBD), 对象存储 (RADOS Gateway) 和文件系统 (CephFS)。Ceph的存储后端使用 RADOS (Reliable Autonomic Distributed Object Store) 来管理数据。在 RADOS 层面,有两种不同的存储引擎可以用来存储数据:FileStore和 BlueStore。 FileStoreFileStore 是 Ceph 较早版本中默认的存储引擎。在 FileStore 中,每个对象存储设备 (OSD) 使用一个标准的文件系统(通常是XFS)来保存数据。这意味着每个对象都被存储为一个文件,而元数据和日志则存储在单独的文件中。这种实现方式简单并且易于理解,但有一些局限性,比如写入放大问题(因为数据首先需要写入日志文件再写入数据文件),以及依赖于文件系统的性能。 BlueStoreBlueStore 是 Ceph 从 Luminous 版本开始引入的新存储引擎,旨在解决 FileStore 的一些限制。BlueStore...
Ubuntu Install Ceph ISCSI
Ubuntu 在线安装 Ceph-ISCSI服务前提 正常的Ceph集群环境 有rbd类型名称是rbd的存储池 添加源拷贝以下内容到/etc/apt/sources.list 1234deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiversedeb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiversedeb http://security.ubuntu.com/ubuntu focal-security main restricted universe multiverse 或者执行以下命令 123456sudo printf '%s\n' \'deb...
Kotlin整合SpringBoot后Jackson序列化问题
问题使用kotlin作为SpringBoot的开发语音后,由于Kotlin语音的特性(自定义的类有主构造器的没有无参构造器),会造成Jackson在序列化JSON的时候报错。 1(No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator 解决方案其实只需要配置Jackson支持kotlin的序列化就可以了,并且jackson提供了kotlin-module依赖 依赖jackson-module-kotlin gradle(kotlin)1implementation("com.fasterxml.jackson.module:jackson-module-kotlin:last-version") gradle(groovy)1implementation group: 'com.fasterxml.jackson.module', name:...
SpringBoot接收前端Date类型参数转换LocalDate或LocalDateTime类型
问题SpringBoot默认是不支持将时间类型转换成LocalDate类型的 解决方案1:(添加 Jackson 的 @JsonFormat 注解) 不推荐java12345@Datapublic class Obj { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime time;} kotlin12345@Data class Obj ( @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") var time:LocalDateTime, ) 解决方案2:(@JsonSerialize、@JsonDeserialize 自定义序列化器和反序列化器) 不推荐@JsonSerialize、@JsonDeserialize 可分别指定序列化、反序列化时的格式: java123456789101112131415161718public class...
JVM
JVM 体系结构模型灰色线程私有,亮色线程共享! ClassLoad(类加载器) 负责加载class文件,class 文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。 虚拟机自带的加载器 启动类加载器(Bootstrap) C++ java自带的类使用BootstrapClassLoader,由c++编写,加载java核心库 java.*,构造ExtClassLoader和AppClassLoader。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。 扩展类加载器(Extension) Java jdk扩展的类使用ExtensionClassLoader,由java编写,加载扩展库,如classpath中的jre ,javax.*或者java.ext.dir...
创建线程那么容易,为什么非要让我使用线程池?
一、概述1、问题 先看我们遇到的问题:我们创建线程的方式很简单,new Thread(() ->...
并发编程
并发编程进程和线程进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的 当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。 进程就可以视为程序的一个实例。大部分程序可以同时运行多个实例进程(例如记事本、画图、 浏览器等),也有的程序只能启动一个实例进程(例如网易云音乐、360 安全卫士等) 线程 一个进程之内可以分为-到多个线程。 一个线程就是一个指令流,将指令流中的一条条指令以一定的顺序交给CPU执行。 Java中,线程作为最小调度单位,进程作为资源分配的最小单位。 在windows中进程是不活动的,只是作为线程的容器。 二者对比 进程基本上相互独立的,而线程存在于进程内,是进程的一个子集。 进程拥有共享的资源,如内存空间等,供其内部的线程共享。 进程间通信较为复杂 同一台计算机的进程通信称为IPC (Inter-process...