Linux——磁盘、高级卷管理管理

一、parted和fdisk的区别

Linux中的parted和fdisk是两个用于管理硬盘分区的工具,它们之间存在一些明显的区别,主要体现在以下几个方面:

  1. 执行风险:
  • parted:在执行分区命令时,每个命令都是实时执行的,即一旦执行,就会立即对磁盘进行分区操作。因此,使用parted进行分区操作时需要特别谨慎,避免在生产环境中进行不必要的实验性操作。
  • fdisk:在分区时,所有的修改都是在内存中进行的,并不会立即写入磁盘。只有在执行w命令后,才会将所做的修改写入磁盘。这种设计使得fdisk在分区过程中具有更高的灵活性,但也增加了误操作的风险。
  1. 分区大小限制:
  • fdisk:只能处理小于2TB的磁盘分区。对于大于2TB的磁盘,fdisk无法创建大于2TB的分区。
  • parted:没有这种大小限制,可以处理大于2TB的磁盘分区。这使得parted在处理大容量磁盘时具有更大的优势。
  1. 分区表格式支持:
  • fdisk:主要支持DOS类型的分区表(MBR)以及BSD或SUN类型的磁盘列表。
  • parted:支持多种分区表格式,包括GUID分区表(GPT)、MS-DOS(MBR)等。这使得parted在处理不同类型的磁盘和分区时具有更大的灵活性。
  1. 兼容性:
  • fdisk:与parted不完全兼容。在某些情况下,使用fdisk无法看到parted创建的分区。
  • parted:可以识别和处理fdisk创建的分区。但是,由于执行风险较高,建议在使用parted之前备份重要数据。

存储解决方案:

  1. 存储设备

    1. 分区
    2. 逻辑卷
    3. 高级卷管理
    4. ceph  GlusterFS  Clusterfs (构建存储集群)
    5. nas nfs  samba
    6. san 存储网络   iSCSI
  2. 文件系统

    1. XFS //支持热扩容,文件系统支持体积较大文件的存储,同时支持海量文件的存储

stratis 配置过程

  1. 安装并启动服务
  2. 创建存储池
  3. 创建文件系统
  4. 挂载
[root@user ~]# lsblk 
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk 
├─sda1        8:1    0   10G  0 part 
├─sda2        8:2    0    5G  0 part 
└─sda3        8:3    0    1G  0 part /mnt/sda3
sdb           8:16   0   20G  0 disk 
sdc           8:32   0   50G  0 disk 
sdd           8:48   0   50G  0 disk 
sr0          11:0    1  7.9G  0 rom  /mnt/cdrom
nvme0n1     259:0    0   50G  0 disk 
├─nvme0n1p1 259:1    0  300M  0 part /boot
├─nvme0n1p2 259:2    0    2G  0 part [SWAP]
└─nvme0n1p3 259:3    0 47.7G  0 part /
[root@user ~]# 

[root@user ~]# yum -y install stratis-cli stratisd     #下载stratis

[root@user ~]# systemctl enable --now  stratisd        #开启stratisd服务

[root@user ~]# systemctl status stratisd          #查看statisd服务

[root@user ~]# stratis pool create pool1  /dev/sdb /dev/sdc  /dev/sdd   

#将三个磁盘/dev/sdb /dev/sdc  /dev/sdd 添加到pool1的存储池中

[root@user ~]# stratis  pool list  #列出系统上所有已创建的 Stratis 存储池

Name                     Total Physical

pool1  120 GiB / 55.27 MiB / 119.95 GiB

[root@user ~]# stratis  pool list

Name                     Total Physical

pool1  120 GiB / 55.27 MiB / 119.95 GiB

[root@user ~]# stratis blockdev list   #列出指定 Stratis 存储池中的所有块设备

Pool Name  Device Node  Physical Size  Tier

pool1      /dev/sdb            20 GiB  Data

pool1      /dev/sdc            50 GiB  Data

pool1      /dev/sdd            50 GiB  Data

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

#告诉 Stratis 存储管理工具在名为 pool1 的 Stratis 存储池中创建一个新的文件系统,并将其命名为 fs1

[root@user ~]# ll /dev/std

stderr  stdin   stdout  

[root@user ~]# ll /stratis

total 0

drwxr-xr-x. 2 root root 17 May 13 09:50 pool1

[root@user ~]# ll /stratis/ -d     #-d 选项来仅显示目录本身的属性

drwxr-xr-x. 3 root root 19 May 13 09:50 /stratis/

[root@user ~]# ll /stratis/

total 0

drwxr-xr-x. 2 root root 17 May 13 09:50 pool1

[root@user ~]# ll /stratis/pool1/

total 0

lrwxrwxrwx. 1 root root 9 May 13 09:50 fs1 -> /dev/dm-5

[root@user ~]# mkdir /mnt/stratis1

[root@user ~]# mount /stratis/pool1/fs1  /mnt/stratis1/

[root@user ~]# df -hT | grep stratis

/dev/mapper/stratis-1-98453552c35b44ce8e5cf07dc1c436b4-thin-fs-58ae65971a2b4075a194d6ba0045dc93 xfs       1.0T  7.2G 1017G   1% /mnt/stratis1

[root@user ~]# stratis pool list

Name                      Total Physical

pool1  120 GiB / 601.29 MiB / 119.41 GiB

[root@user ~]# lsblk --output=UUID /stratis/pool1/fs1

UUID

58ae6597-1a2b-4075-a194-d6ba0045dc93

[root@user ~]# vim /etc/fstab #设置自动挂载

[root@user ~]# dd if=/dev/zero of=/mnt/stratis1/test bs=1MB count=100

  • if=/dev/zero: 指定输入文件(input file)为 /dev/zero/dev/zero 是一个特殊的文件,它提供无限的空字符(NULL 字符,即值为 0 的字节)。读取 /dev/zero 会得到无限多的零字节。
  • of=/mnt/stratis1/test: 指定输出文件(output file)为 /mnt/stratis1/test。这个命令将会在这个位置创建一个文件(如果它不存在的话)或者覆盖一个已存在的文件。
  • bs=1MB: 设置块大小(block size)为 1MB。这意味着 dd 将会以 1MB 的块为单位从输入文件读取并写入到输出文件。
  • count=100: 指定要复制的块的数量为 100。由于块大小是 1MB,所以总共会写入 100MB 的数据。

综上所述,这个命令将会从 /dev/zero 读取 100MB 的零字节数据,并将这些数据写入到 /mnt/stratis1/test 文件中。这个文件最终的大小将会是 100MB,并且文件中将只包含零字节。

100+0 records in
100+0 records out
100000000 bytes (100 MB, 95 MiB) copied, 0.0748237 s, 1.3 GB/s
[root@user ~]# ll /mnt/stratis1/test  -h 
-rw-r--r--. 1 root root 96M May 13 10:01 /mnt/stratis1/test
[root@user ~]# df -hT | grep stratis
/dev/mapper/stratis-1-98453552c35b44ce8e5cf07dc1c436b4-thin-fs-58ae65971a2b4075a194d6ba0045dc93 xfs       1.0T  7.3G 1017G   1% /mnt/stratis1
[root@user ~]# stratis pool list 
Name                      Total Physical
pool1  120 GiB / 697.29 MiB / 119.32 GiB

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值