Linux下的stratis高级存储

2023-05-16

Linux下的stratis高级存储

  • 一、stratis存储介绍
    • 1.stratis存储简介
    • 2.stratis的架构图
    • 3.stratis存储的高级特性
    • 4.stratis的专业术语
    • 5.stratis支持的设备
  • 二、配置stratis精简池
    • 1.系统版本
    • 2.安装stratis包
    • 3.开启服务
    • 4.创建精简池
    • 5.查看所有精简池信息
    • 6.查看单个精简池详细信息
  • 三、配置stratis文件系统
    • 1.创建文件系统
    • 2.查看文件系统
  • 四、挂载stratis文件系统
    • 1.查看uuid
    • 2.配置自动挂载
    • 3.挂载目录
    • 4.查看磁盘
  • 五、向精简池添加设备
  • 六、stratis的快照设置
    • 1.创建快照
    • 2.恢复快照
      • ①删除文件系统
      • ②还原文件系统
      • ③查看文件系统
  • 七、startis的基本管理
    • 1.查看文件系统
    • 2.查看精简池
    • 3.删除文件系统
    • 4.删除精简池
    • 5.关于快照相关命令
    • 6.关于文件系统相关命令

一、stratis存储介绍

1.stratis存储简介

Stratis将磁盘设备放置于一个精简配置的共享池中,stratis 文件系统没有固定大小,也不
会预分配未使用的块空间。
一个共享池中可以创建多个文件系统,文件系统类型为xfs.

2.stratis的架构图

在这里插入图片描述

3.stratis存储的高级特性

1.自动精简配置Thin provisioning
2.文件系统快照File system snapshots
3.基于池的存储管理Pool-based management
4.存储监控Monitoring

4.stratis的专业术语

blockdev:这是一个块设备,例如磁盘或磁盘分区
Pool池:一个池由一个或多个具有固定总大小的块设备组成,其大小等于块设备的总大小。
filesystem文件系统:每个池可以包含一个或多个文件系统,用于存储文件。
文件系统没有固定的总大小,如果数据的大小接近文件系统的虚拟大小,分层就会自动增加卷和文件系统空间大小,只要池的物理空间充够大,就不用担心文件系统空间会爆掉

5.stratis支持的设备

iSCSI
LVM逻辑卷
Device Mapper Multipath设备多路径
硬盘驱动器
LUKS
SSDs
NVMe存储设备
mdraid软件Raid

二、配置stratis精简池

1.系统版本

[root@node2 ~]# cat /etc/os-release 
NAME="Red Hat Enterprise Linux"
VERSION="8.0 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.0"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.0 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.0:GA"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.0
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.0"

2.安装stratis包

[root@node2 ~]# yum -y install stratis-cli.noarch stratisd

3.开启服务

[root@node2 ~]# systemctl enable --now stratisd

4.创建精简池

[root@node2 ~]# stratis pool create pool01 /dev/sda /dev/sdb

5.查看所有精简池信息

[root@node2 ~]# stratis pool list
Name      Total Physical Size  Total Physical Used
pool01                 40 GiB               72 MiB

6.查看单个精简池详细信息

[root@node2 ~]# stratis  blockdev list pool01
Pool Name  Device Node    Physical Size   State  Tier
pool01     /dev/sda              20 GiB  In-use  Data
pool01     /dev/sdb              20 GiB  In-use  Data

三、配置stratis文件系统

1.创建文件系统

[root@node2 ~]# stratis filesystem create pool01 fs01

2.查看文件系统

[root@node2 ~]# stratis filesystem list 
Pool Name  Name  Used     Created            Device                UUID                              
pool01     fs01  546 MiB  Jun 22 2022 15:14  /stratis/pool01/fs01  3f5b31456c4348e29a11a628ec08dc2a 

四、挂载stratis文件系统

1.查看uuid

[root@node2 ~]# lsblk --output=UUID /stratis/pool01/fs01
UUID
3f5b3145-6c43-48e2-9a11-a628ec08dc2a

2.配置自动挂载

[root@node2 ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Fri Mar 19 22:38:50 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=87963a70-7bf1-415a-90dc-952c441fb8a9 /                       xfs     defaults        0 0
UUID=67c8633f-d3f0-4901-9677-c5bdf032d810 /boot                   xfs     defaults        0 0
UUID=86cc5bb5-f6fa-45de-9d97-efef926f6549 swap                    swap    defaults        0 0
UUID=3f5b3145-6c43-48e2-9a11-a628ec08dc2a /data/stratis xfs defaults,x-systemd.requires=stratisd.service 0 0 

3.挂载目录

[root@node2 ~]# 
[root@node2 ~]# mount -a

4.查看磁盘

[root@node2 ~]# df -hT |grep stratis
/dev/mapper/stratis-1-2b0561ccf26a47ae96f08e0ff198654c-thin-fs-3f5b31456c4348e29a11a628ec08dc2a xfs       1.0T  7.2G 1017G   1% /data/stratis

五、向精简池添加设备

[root@node2 ~]# stratis pool add-data pool01 /dev/sdd

六、stratis的快照设置

1.创建快照

[root@node2 ~]# stratis filesystem snapshot pool01 fs01 snap01

2.恢复快照

①删除文件系统

[root@node2 ~]# umount /stratis/pool01/fs01
[root@node2 ~]# stratis  filesystem destroy pool01 fs

②还原文件系统

[root@node2 ~]# stratis filesystem snapshot pool01 snap01 fs01
Execution failure caused by:
ALREADY EXISTS: fs01

③查看文件系统

[root@node2 ~]# stratis filesystem list
Pool Name  Name    Used     Created            Device                  UUID                              
pool01     fs01    546 MiB  Jun 22 2022 15:14  /stratis/pool01/fs01    3f5b31456c4348e29a11a628ec08dc2a  
pool01     snap01  546 MiB  Jun 22 2022 15:26  /stratis/pool01/snap01  958fe41bcd3342a79bb95709f97c40c2 

七、startis的基本管理

1.查看文件系统

[root@node2 ~]# stratis filesystem list
Pool Name  Name    Used     Created            Device                  UUID                              
pool01     fs01    546 MiB  Jun 22 2022 15:14  /stratis/pool01/fs01    3f5b31456c4348e29a11a628ec08dc2a  
pool01     snap01  546 MiB  Jun 22 2022 15:26  /stratis/pool01/snap01  958fe41bcd3342a79bb95709f97c40c2 

2.查看精简池

[root@node2 ~]#  stratis  blockdev list pool01
Pool Name  Device Node    Physical Size   State  Tier
pool01     /dev/sda              20 GiB  In-use  Data
pool01     /dev/sdb              20 GiB  In-use  Data

3.删除文件系统

[root@node2 ~]# stratis  filesystem destroy pool01 fs

4.删除精简池

[root@node2 ~]# stratis pool destroy pool01 

5.关于快照相关命令

[root@node2 ~]# stratis filesystem snapshot --help
usage: stratis filesystem snapshot [-h] pool_name origin_name snapshot_name

positional arguments:
  pool_name      pool name
  origin_name    origin name
  snapshot_name  snapshot name

optional arguments:
  -h, --help     show this help message and exit

6.关于文件系统相关命令

[root@node2 ~]# stratis filesystem --help
usage: stratis filesystem [-h] {create,snapshot,list,destroy,rename} ...

optional arguments:
  -h, --help            show this help message and exit

subcommands:
  {create,snapshot,list,destroy,rename}
    create              Create filesystems in a pool
    snapshot            Snapshot the named filesystem in a pool
    list                List filesystems
    destroy             Destroy filesystems in a pool
    rename              Rename a filesystem

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下的stratis高级存储 的相关文章

  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • docker 非 root 绑定安装权限,WITH --userns-remap

    all 尝试让绑定安装权限正常工作 我的目标是在容器中绑定安装卷 以便 a 容器不以 root 用户身份运行入口点 二 docker daemon 配置了 userns remap 这样容器 主机上没有 root c 我可以绑定挂载和读 写
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • GMail 421 4.7.0 稍后重试,关闭连接

    我试图找出为什么它无法使用 GMail 从我的服务器发送邮件 为此 我使用 SwiftMailer 但我可以将问题包含在以下独立代码中
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • 为什么 fopen("any_path_name",'r') 不给出 NULL 作为返回值?

    在调试一些代码时 我得到如下内容 include
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • 我什么时候应该编写 Linux 内核模块?

    有些人出于某种原因想要将 Linux 中的代码从用户空间移动到内核空间 很多时候 原因似乎是代码应该具有特别高的优先级 或者只是 内核空间更快 这对我来说似乎很奇怪 我什么时候应该考虑编写内核模块 有一套标准吗 我怎样才能激励将代码保存在
  • 如何在 Mac OSX Mavericks 中正确运行字符串工具?

    如何在 Mac OSX Mavericks 中正确运行字符串工具 我尝试按照我在网上找到的示例来运行它 strings a UserParser class 但我收到此错误 错误 Applications Xcode app Content
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的

随机推荐