- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 ceph集群与openstack对接
存储池 images 作为 Glance 的后端存储池,vms 作 为 Nova 的后端存储池,volumes 作为 Cinder 的后端存储池,三个池名可以自定义,对接时注意输入正确的存储池名即可。假如 nova 不使用 Ceph 存储,使用计算节点本地资源创建虚拟机,但需要挂载 Cinder 提供的云盘(使用 Ceph 存储)到虚拟机上,则 nova 也需要对接,不过只需执行以下命令即可。(以下操作,如无特别说明,均在计算节点执行,其中第2-4步需在所有计算节点执行)
2025-06-04 10:16:01
497
原创 Rust中的循环引用和弱引用
循环引用(Cyclic Reference)是指在一个数据结构中,元素之间相互引用,形成一个环。例如,A 引用 B,B 引用 C,C 又引用 A,这样就构成了一个循环引用。在普通的引用计数管理(如Arc或Rc)下,循环引用会导致内存泄漏问题。因为所有对象都有一个强引用计数,如果两个对象相互持有强引用,它们的引用计数永远不会降到 0,导致内存不能被释放。
2025-06-04 10:12:15
409
原创 Arc指针
Arc是一种用于跨线程共享数据的智能指针,它通过原子引用计数确保线程安全。你可以将任何类型的数据包装在Arc中,并在多个线程中共享它。与Rc不同,Arc可以在多个线程之间共享所有权,而Rc只能在单线程中使用。为了修改共享数据,通常会将Arc与Mutex或RwLock配合使用。Arc是 Rust 中处理并发和共享数据时的一个强大工具,能够帮助开发者在保证安全性的同时,轻松管理多线程环境中的数据。
2024-12-23 10:25:25
795
原创 什么是原子操作?
原子操作(Atomic Operation)是一种不可分割的操作,要么完全执行,要么完全不执行,不会被其他线程中断。在多线程环境中,原子操作能够确保操作的完整性和一致性,避免线程间的干扰。Arc允许多个线程共享对数据的所有权,它通过原子操作管理内部的引用计数。在多线程环境中使用Arc时,如果需要修改共享数据,通常会将Arc与Mutex结合使用,确保线程安全。原子操作是指一种保证操作不可分割的技术,用于多线程环境中保证数据的同步和一致性,而不需要显式的锁。通过Arc和Mutex。
2024-12-23 10:21:21
382
原创 Rust语言中的闭包
闭包是 Rust 中的强大工具,它可以捕获外部环境的变量,并且像函数一样使用。FnFnMut和FnOnce,它们的区别在于闭包如何捕获并使用外部变量。闭包广泛应用于高阶函数、集合操作和事件处理等场景,是函数式编程的重要工具。
2024-12-06 14:11:52
641
原创 ceph集群与openstackt通过rbd方式对接
存储池 images 作为 Glance 的后端存储池,vms 作 为 Nova 的后端存储池,volumes 作为 Cinder 的后端存储池,三个池名可以自定义,对接时注意输入正确的存储池名即可。假如 nova 不使用 Ceph 存储,使用计算节点本地资源创建虚拟机,但需要挂载 Cinder 提供的云盘(使用 Ceph 存储)到虚拟机上,则 nova 也需要对接,不过只需执行以下命令即可。(以下操作,如无特别说明,均在计算节点执行,其中第2-4步需在所有计算节点执行)
2024-01-26 15:32:42
1085
1
原创 centos7安装zsh和自动补全插件
zsh是一个非常好用的shell,可以根据使用者的喜好和习惯来选择shell结构,让你的shell更美观。
2024-01-22 16:47:37
724
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人