实施高级存储功能

news/2025/1/31 10:48:05/

实施高级存储功能

使用Stratis管理分层存储

Stratis

适用于Linux的本地存储管理解决方案。旨在提供更便利的方式执行存储的初始配置,对存储配置进行修改,并使用高级存储功能。

Stratis以管理物理存储设备池的服务形式运行,并透明地为新创建地文件系统创建和管理卷。

在这里插入图片描述

使用Stratis存储

使用Stratis存储管理解决方案来管理文件系统,请安装stratis-cli和stratisd软件包。

查看块设备

[root@clear ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    252:0    0   10G  0 disk 
├─vda1 252:1    0    1M  0 part 
├─vda2 252:2    0  100M  0 part /boot/efi
└─vda3 252:3    0  9.9G  0 part /
vdb    252:16   0   10G  0 disk 
vdc    252:32   0   10G  0 disk 
vdd    252:48   0   10G  0 disk 

安装并启用

[root@clear ~]# yum install stratis-cli stratisd -y
[root@clear ~]# systemctl enable --now stratisd

将块存储组装到Stratis池中

#创建一个池
[root@clear ~]# stratis pool create pool1 /dev/vdb

每个池都是/stratis目录下的子目录

查看可用池列表

[root@clear ~]# stratis pool list
Name                  Total Physical
pool1  10 GiB / 37.63 MiB / 9.96 GiB

向池中添加额外的块设备

[root@clear ~]# stratis pool add-data pool1 /dev/vdc

查看池中块设备

[root@clear ~]# stratis blockdev list pool1
Pool Name  Device Node  Physical Size  Tier
pool1      /dev/vdb            10 GiB  Data
pool1      /dev/vdc            10 GiB  Data

管理Stratis文件系统

为池创建文件系统

[root@clear ~]# stratis filesystem create pool1 fs1

Stratis文件系统链接位于/stratis/pool1

查看可用文件系统列表

[root@clear ~]# stratis filesystem list
Pool Name  Name  Used     Created            Device              UUID                            
pool1      fs1   546 MiB  Aug 06 2023 11:50  /stratis/pool1/fs1  649e6e0f7ddd41cd8e7312536d99ee3c

创建文件系统的快照

[root@clear ~]# stratis filesystem snapshot pool1 fs1 snapshot1

持久挂载Stratis文件系统

为确保持久挂载Stratis文件系统,请编辑/etc/fstab并指定文件系统信息。

[root@clear ~]# lsblk --output=UUID /stratis/pool1/fs1
UUID
649e6e0f-7ddd-41cd-8e73-12536d99ee3c

持久挂载示例

[root@clear ~]# cat /etc/fstab | grep stratis
UUID=649e6e0f-7ddd-41cd-8e73-12536d99ee3c	/dir1	xfs	defaults,x-systemd.requires=stratisd.service	0	0

x-systemd.requires=stratisd.service 选项可延迟挂载 知道systemd在启动过程中启动stratisd.service为止

[root@clear ~]# mkdir /dir1
[root@clear ~]# mount -a
[root@clear ~]# df -h
Filesystem                                                                                       Size  Used Avail Use% Mounted on
devtmpfs                                                                                         887M     0  887M   0% /dev
tmpfs                                                                                            914M     0  914M   0% /dev/shm
tmpfs                                                                                            914M   17M  897M   2% /run
tmpfs                                                                                            914M     0  914M   0% /sys/fs/cgroup
/dev/vda3                                                                                        9.9G  1.9G  8.1G  19% /
/dev/vda2                                                                                        100M  6.8M   94M   7% /boot/efi
tmpfs                                                                                            183M     0  183M   0% /run/user/0
/dev/mapper/stratis-1-5ef6680b3e394818a4338f650e374f0b-thin-fs-649e6e0f7ddd41cd8e7312536d99ee3c  1.0T  7.2G 1017G   1% /dir1

df命令会将Stratis管理的任何新xfs文件系统大小均报告为1TiB,无论当前分配给文件系统的物理存储量是多少。

查看实际存储

[root@clear ~]# stratis pool list
Name                  Total Physical
pool1  20 GiB / 1.11 GiB / 18.89 GiB

使用VDO压缩存储和删除重复数据

虚拟数据优化器

VDO可以优化块设备上数据的空间占用。VDO是一个Linux设备映射器驱动程序,可以减少块设备上磁盘空间的使用,同时最大限度减少数据的重复,从而节省磁盘空间甚至提高数据吞吐量。VDO内核模块:kvdo用于透明方式控制数据压缩,uds用于重复数据删除。

VDO位于块设备(RAID或本地磁盘)的顶部。

在这里插入图片描述

实施寻数据优化器

利用VDO创建的逻辑设备被称为VDO卷。VDO卷与磁盘分区类似;可以将卷格式化为所需要的文件系统,并挂载,也可以将VDO卷作为LVM物理卷。

启用VDO

#安装VDO和kmod-kvdo软件包
[root@clear ~]# yum install vdo kmod-kvdo -y

创建VDO卷

[root@clear ~]# vdo create --name=vdo1 --device=/dev/vdd --vdoLogicalSize=5G
Creating VDO vdo1The VDO volume can address 6 GB in 3 data slabs, each 2 GB.It can grow to address at most 16 TB of physical storage in 8192 slabs.If a larger maximum size might be needed, use bigger slabs.
Starting VDO vdo1
Starting compression on VDO vdo1
VDO instance 0 volume is ready at /dev/mapper/vdo1

你可以将其格式化为需要的文件系统并挂载

分析VDO卷

[root@clear ~]# vdo status --name=vdo1
VDO status:Date: '2023-08-06 12:45:25-04:00'Node: clear.domain250.example.com
Kernel module:Loaded: trueName: kvdoVersion information:kvdo version: 6.2.2.117
Configuration:File: /etc/vdoconf.ymlLast modified: '2023-08-06 12:42:31'
VDOs:vdo1:Acknowledgement threads: 1Activate: enabledBio rotation interval: 64Bio submission threads: 4Block map cache size: 128MBlock map period: 16380Block size: 4096CPU-work threads: 2Compression: enabledConfigured write policy: autoDeduplication: enabledDevice mapper status: 0 10485760 vdo /dev/vdd normal - online online 1049638 2621440
...output omitted...

http://www.ppmy.cn/news/1011025.html

相关文章

【开源项目--稻草】Day05

【开源项目--稻草】Day05 1. 显示问题列表1.1 显示问题持续时间 2. 显示问题的标签列表2.1 实现过程 3.显示问题的图片4. 实现分页功能4.1 为什么需要分页(翻页)4.2 实现分页的sql语句4.3 PageHelper的使用控制器的调用和VUE代码的重构分页导航条的配置 1. 显示问题列表 上次课…

dynamic_cast

dynamic_cast 是 C 中用于处理对象多态性的一种类型转换操作符。它在运行时执行安全的向下转型或交叉转型,主要应用于类层次结构中的对象之间。下面是对 dynamic_cast 的详细解释: 1. 何时使用 dynamic_cast: 你可能会使用 dynamic_cast 当…

高斯牛顿(非线性最小二乘优化方法)

1 原理 2 实例 3 代码 #include <iostream> #include <chrono> #include <opencv2/opencv.hpp> #include <Eigen/Core> #include <Eigen/Dense>using namespace std; using namespace Eigen;int main(int argc, char **argv) {double ar = 1…

7.1.tensorRT高级(2)-使用openvino进行onnx的模型推理过程

目录 前言1. openvino2. 补充知识总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 tensorRT 高级-使用 openvino 进行 onnx…

Mysql底层重点

索引分类&#xff1a; 按物理存储分类&#xff1a;聚簇索引&#xff08;主键索引&#xff09;、二级索引&#xff08;辅助索引&#xff09; 按字段特性分类&#xff1a;主键索引&#xff0c;普通索引&#xff0c;唯一索引&#xff0c;前缀索引 按字段个数分类&#xff1a;单…

Shell脚本实现mysqldump数据备份

1.编写shell脚本实现使用mysqldump进行分库分表备份 2.查看数据库原有数据 3.运行脚本文件进行备份数据&#xff0c;查看备份文件是否存在 4.删除原有数据 5.可以单独恢复某个表的数据&#xff0c;也可以直接恢复数据内所有的数据&#xff0c;恢复前先解压 1.编写shell脚本…

java-hashcode,equals,getclass

如果隐式和显式参数不属于同一个类&#xff0c;对于equals函数&#xff0c;有些采用instanceof方法&#xff0c;这回忽略子类的情况&#xff1a; instanceof是Java中的一个运算符&#xff0c;用于判断一个对象是否是某个类的实例或者是其子类的实例。它的语法是&#xff1a;对象…

BClinux8.6 制作openssh9.2p2 rpm升级包和升级实战

一、背景说明 BClinux8.6 安装的openssh 版本为9.3p1&#xff0c;经绿盟扫描&#xff0c;存在高危漏洞&#xff0c;需要升级到最新。 OpenSSH 命令注入漏洞(CVE-2020-15778) OpenSSH 安全漏洞(CVE-2023-38408) 目前官网只提供编译安装包&#xff0c;而BClinux8.6 为rpm方…