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高级存储 的相关文章

  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • gethostbyname() 或 getnameinfo() 如何在后台工作?

    How gethostbyname or getnameinfo 在后台工作 include
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1
  • 无法执行'x86_64-conda_cos6-linux-gnu-gcc':没有这样的文件或目录(pysam安装)

    我正在尝试安装 pysam 执行后 python path to pysam master setup py build 这个错误的产生是 unable to execute x86 64 conda cos6 linux gnu gcc
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • linux x86 汇编语言 sys_read 调用的第一个参数应为 0 (stdin)

    我正在编写一个简单的汇编程序来从标准输入读取 如 scanf 这是我的代码 section bss num resb 5 section txt global start start mov eax 3 sys read mov ebx 0
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • Linux 桌面快捷方式和安装图标

    我需要添加什么到我的 spec文件来创建桌面快捷方式并在安装过程中为快捷方式分配一个图标 rpm 如果需要脚本 一个示例将非常有帮助 您在 Linux 下使用 desktop 文件作为图标 图标放置的位置取决于您使用的发行版和桌面环境 由于
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs

随机推荐