Linux加强篇-存储结构与管理硬盘(三)

这篇具有很好参考价值的文章主要介绍了Linux加强篇-存储结构与管理硬盘(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 ⛳️推荐

磁盘容量配额

VDO虚拟数据优化

软硬方式链接


 ⛳️推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

磁盘容量配额

使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。可以使用quota技术进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。quota技术还有软限制和硬限制的功能。

软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。

硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。

手动编辑配置文件并重启一次系统,让系统中的启动目录(/boot)能够支持quota磁盘配额技术

[root@localhost ~]# vim /etc/fstab  

UUID=147464a6-27ee-477f-8dfd-0c157a0aabc7 /                       xfs     defaults        0 0

UUID=b7107860-5e6f-4ff5-abb3-880ab7e6caca /boot                   xfs     defaults,uquota        0 0

UUID=1396ecbf-4d87-4e65-898b-28048721d05e none                    swap    defaults        0 0

/dev/cdrom /media/cdrom iso9660 defaults 0 0

/dev/nvme0n2p1 /newfile xfs defaults 0 0

/dev/nvme0n2p2 swap swap defaults 0 0

[root@localhost ~]# reboot

在重启系统后使用mount命令查看,即可发现/boot目录已经支持quota磁盘配额技术了:

[root@localhost ~]# mount | grep boot

/dev/nvme0n1p1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,usrquota)

创建一个用于检查quota磁盘容量配额效果的用户tom,并针对/boot目录增加其他人的写权限,保证用户能够正常写入数据:

[root@localhost ~]# useradd tom

[root@localhost ~]# chmod -R o+w /boot

xfs_quota命令用于管理设备的磁盘容量配额,语法格式为“xfs_quota [参数] 配额 文件系统”

针对XFS文件系统来管理quota磁盘容量配额服务而设计的命令。其中,-c参数用于以参数的形式设置要执行的命令;-x参数是专家模式,让运维人员能够对quota服务进行更多复杂的配置。接下来使用xfs_quota命令来设置用户tom对/boot目录的quota磁盘容量配额。具体的限额控制包括:硬盘使用量的软限制和硬限制分别为3MB和6MB;创建文件数量的软限制和硬限制分别为3个和6个

[root@localhost ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot

[root@localhost ~]# xfs_quota -x -c report /boot

User quota on /boot (/dev/nvme0n1p1)

                              Blocks                      

User ID          Used       Soft       Hard    Warn/Grace      

---------- --------------------------------------------------  

root           179368          0          0     00 [--------]

tom                 0       3072       6144     00 [--------]

使用的参数分为两组,分别是isoft/ihard与bsoft/bhard,isoft和ihard就是通过限制系统最大使用的inode个数来限制了文件数量。bsoft和bhard则是代表文件所占用的block大小,也就是文件占用的最大容量的总统计。

soft是软限制,超过该限制后也只是将操作记录写到日志中,不对用户行为进行限制。而hard是硬限制,一旦超过系统就会马上禁止,用户再也不能创建或新占任何的硬盘容量。

尝试切换到一个普通用户,然后分别尝试创建一个体积为5MB和8MB的文件,但是我实验起来并没有发现有限制,之前的命令也没什么问题,可能是系统问题

edquota命令用于管理系统的磁盘配额,语法格式为“edquota [参数] 用户名”

用户设置了quota磁盘容量配额限制后,可以使用edquota命令按需修改限额的数值。-u参数表示要针对哪个用户进行设置;-g参数表示要针对哪个用户组进行设置

 edquota命令中可用参数及作用

参数 作用
-u 对某个用户进行设置
-g 对某个用户组进行设置
-p 复制原有的规则到新的用户/组
-t 限制宽限期限

edquota命令会调用Vi或Vim编辑器来让root管理员修改要限制的具体细节,试一下改小能不能行

[root@localhost ~]# edquota -u tom  

Disk quotas for user tom (uid 8889):

 Filesystem                   blocks       soft       hard     inodes     soft     hard

 /dev/nvme0n1p1                 4096       3072       3072          1        3        6

终于生效了,可能是我写的hard太大了

[tom@localhost boot]$ dd if=/dev/zero of=/boot/tom bs=8M count=2

dd: error writing '/boot/tom': Disk quota exceeded

1+0 records in

0+0 records out

0 bytes copied, 0.00387253 s, 0.0 kB/s

[tom@localhost boot]$ dd if=/dev/zero of=/boot/tom bs=8M count=1

dd: error writing '/boot/tom': Disk quota exceeded

1+0 records in

0+0 records out

0 bytes copied, 0.00278153 s, 0.0 kB/s

VDO虚拟数据优化

VDO(Virtual Data Optimize,虚拟数据优化)是一种通过压缩或删除存储设备上的数据来优化存储空间的技术,VDO针对各种类型文件的压缩效果

对各种类型文件压缩效果汇总表

文件名 描述 类型 原始大小(KB) 实际占用空间(KB)
dickens 狄更斯文集 英文原文 9953 9948
mozilla Mozilla的1.0可执行文件 执行程序 50020 33228
mr 医用resonanse图像 图片 9736 9272
nci 结构化的化学数据库 数据库 32767 10168
ooffice Open Office.org 1.01 DLL 可执行程序 6008 5640
osdb 基准测试用的MySQL格式示例数据库 数据库 9849 9824
reymont 瓦迪斯瓦夫·雷蒙特的书 PDF 6471 6312
samba samba源代码 src源码 21100 11768
sao 星空数据 天文格式的bin文件 7081 7036
webster 辞海 HTML 40487 40144
xml XML文件 HTML 5220 2180
x-ray 透视医学图片 医院数据 8275 8260

VDO技术支持本地存储和远程存储,可以作为本地文件系统、iSCSI或Ceph存储下的附加存储层使用。

司服务器上已有的dm-crypt之类的技术是可以与VDO技术兼容的,但记得要先对卷进行加密再使用VDO。因为加密会使重复的数据变得有所不同,因此删重操作无法实现。

Linux加强篇-存储结构与管理硬盘(三),Linux修行路,服务器,linux,运维,数据库

VDO技术不可叠加使用,1TB的物理存储提升成10TB的逻辑存储没问题,但是再用10TB翻成100TB就不行

把虚拟机关闭,添加一块容量为20GB的新硬盘进来,开机后就能看到这块名称为/dev/nvme0n3的新硬盘了:

[root@localhost ~]# ll /dev/nvme0n3

brw-rw----. 1 root disk 259, 7 Nov 21 16:45 /dev/nvme0n3

RHEL/CentOS 8系统中默认已经启用了VDO技术

[root@localhost ~]# dnf install kmod-kvdo vdo

Last metadata expiration check: 2:19:07 ago on Tue 21 Nov 2023 02:29:37 PM CST.

Package kmod-kvdo-6.2.5.72-81.el8.x86_64 is already installed.

Package vdo-6.2.5.74-14.el8.x86_64 is already installed.

Dependencies resolved.

Nothing to do.

Complete!

创建一个全新的VDO卷,新添加进来的物理设备就是使用vdo命令来管理的,其中name参数代表新的设备卷的名称;device参数代表由哪块磁盘进行制作;vdoLogicalSize参数代表制作后的设备大小,20GB硬盘将翻成200GB的逻辑存储:

[root@localhost ~]# vdo create --name=storage --device=/dev/nvme0n3 --vdoLogicalSize=200G

Creating VDO storage

     The VDO volume can address 16 GB in 8 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 storage

Starting compression on VDO storage

VDO instance 0 volume is ready at /dev/mapper/storage

在创建成功后,使用status参数查看新建卷的概述信息:

[root@localhost ~]# vdo status --name=storage

VDO status:

 Date: '2023-11-21 16:51:21+08:00'

 Node: localhost.localdomain

Kernel module:

 Loaded: true

 Name: kvdo

 Version information:

   kvdo version: 6.2.5.72

Configuration:

 File: /etc/vdoconf.yml

 Last modified: '2023-11-21 16:50:47'

输出信息中包含了VDO卷创建的时间、主机名、版本、是否压缩(Compression)及是否删重(Deduplication)等

对新建卷进行格式化操作并挂载使用,新建的VDO卷设备会被乖乖地存放在/dev/mapper目录下,并以设备名称命名,对它操作就行。另外,挂载前可以用udevadm settle命令对设备进行一次刷新操作,避免刚才的配置没有生效:

[root@localhost mapper]# mkfs.xfs /dev/mapper/storage

meta-data=/dev/mapper/storage    isize=512    agcount=4, agsize=13107200 blks

        =                       sectsz=4096  attr=2, projid32bit=1

        =                       crc=1        finobt=1, sparse=1, rmapbt=0

        =                       reflink=1

data     =                       bsize=4096   blocks=52428800, imaxpct=25

        =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0, ftype=1

log      =internal log           bsize=4096   blocks=25600, version=2

        =                       sectsz=4096  sunit=1 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

Discarding blocks...Done.

[root@localhost mapper]# udevadm settle

[root@localhost mapper]# mkdir /storage

[root@localhost mapper]# mount /dev/mapper/storage /storage

查看设备的实际使用情况,使用vdostats命令即可。human-readable参数的作用是将存储容量自动进位,以人们更易读的方式输出(比如,显示20G而不是20971520K):

[root@localhost mapper]# vdostats --human-readable

Device                    Size      Used Available Use% Space saving%

/dev/mapper/storage      20.0G      4.0G     16.0G  20%           99%

显示的Size是实际物理存储的空间大小(即20.0GB是硬盘的大小),如果想看逻辑存储空间,使用df命令进行查看:

[root@localhost mapper]# df -h

Filesystem           Size  Used Avail Use% Mounted on

devtmpfs             878M     0  878M   0% /dev

tmpfs                896M     0  896M   0% /dev/shm

tmpfs                896M  9.4M  886M   2% /run

tmpfs                896M     0  896M   0% /sys/fs/cgroup

/dev/nvme0n1p3        18G  7.1G   11G  41% /

/dev/nvme0n1p1       295M  193M  102M  66% /boot

/dev/sr0              11G   11G     0 100% /media/cdrom

/dev/nvme0n2p1       2.0G   78M  2.0G   4% /newfile

tmpfs                179M   12K  179M   1% /run/user/42

tmpfs                179M     0  179M   0% /run/user/0

/dev/mapper/storage  200G 1.5G  199G   1% /storage

复制一个大文件过来,看看占用了多少容量,以及空间节省率(Space saving)是多少:

[root@localhost mapper]# ls -lh /media/cdrom/images/install.img

-r--r--r--. 1 root root 681M Nov 13  2021 /media/cdrom/images/install.img

[root@localhost mapper]# cp /media/cdrom/images/install.img /storage/

[root@localhost mapper]# vdostats --human-readable

Device                    Size      Used Available Use% Space saving%

/dev/mapper/storage      20.0G      4.7G     15.3G  23%           12%

再复制一份相同的文件过来,看看这次占用了多少空间,空间节省率也从12%提升到了55%,用了不到100M:

[root@localhost mapper]# cp /media/cdrom/images/install.img /storage/rhel.img

[root@localhost mapper]# vdostats --human-readable

Device                    Size      Used Available Use% Space saving%

/dev/mapper/storage      20.0G      4.7G     15.3G  23%           53%

VDO设备卷在创建后会一直存在,但需要手动编辑/etc/fstab文件后才能在下一次重启后自动挂载生效

/dev/mapper/storage: UUID="debbe4ed-97e0-410c-bde4-441ac474c3ff" BLOCK_SIZE="4096" TYPE="xfs"

[root@localhost storage]# vim /etc/fstab

UUID=147464a6-27ee-477f-8dfd-0c157a0aabc7 /                       xfs     defaults        0 0

UUID=b7107860-5e6f-4ff5-abb3-880ab7e6caca /boot                   xfs     defaults,uquota        0 0

UUID=1396ecbf-4d87-4e65-898b-28048721d05e none                    swap    defaults        0 0

/dev/cdrom /media/cdrom iso9660 defaults 0 0

/dev/nvme0n2p1 /newfile xfs defaults 0 0

/dev/nvme0n2p2 swap swap defaults 0 0

UUID=debbe4ed-97e0-410c-bde4-441ac474c3ff /storage      xfs        defaults,_netdev   0 0 文章来源地址https://www.toymoban.com/news/detail-861424.html

到了这里,关于Linux加强篇-存储结构与管理硬盘(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器数据恢复—EVA存储raid5硬盘离线的数据恢复案例

    服务器数据恢复环境: 某品牌EVA某型号存储,底层是RAID5阵列,划分了若干lun。 服务器故障分析: 该存储设备中raid5阵列有两块硬盘掉线,存储中的lun丢失。 将故障服务器存储中的所有磁盘编号后取出,硬件工程师检测后发现掉线硬盘不存在物理故障,也没有发现坏道,都

    2024年01月24日
    浏览(44)
  • 服务器数据恢复—nas硬盘故障导致raid6失效、存储无法访问的数据恢复案例

    服务器故障分析: 一台nas存储中有一组由十几块硬盘组建的raid6磁盘阵列。 nas存储中的raid6阵列成员盘出现故障离线,磁盘阵列崩溃,nas存储无法正常访问。 北亚企安数据恢复工程师将nas存储内的所有硬盘编号后取出,经过硬件工程师检测后,发现所有硬盘(包括离线的硬盘

    2024年02月08日
    浏览(34)
  • Linux 定位服务器硬盘槽位的方法

    2024年02月04日
    浏览(45)
  • 命令查看Linux服务器内存、CPU、显卡、硬盘使用情况

    使用命令:free -m 大致结果类似下图: 内存占用情况 参数解释: Mem行(单位均为M): total:内存总数 used:已使用内存数 free:空闲内存数 shared:当前废弃不用 buffers:缓存内存数(Buffer) cached:缓存内舒数(Page) (-/+ buffers/cache)行: (-buffers/cache): 真正使用的内存数,指

    2024年02月04日
    浏览(74)
  • Linux中该如何查看当前CPU、内存、硬盘占用情况,如何判断当前服务器负载情况

    要查看当前 Linux 系统的 CPU、内存、硬盘占用情况,可以使用以下命令: 查看 CPU 占用情况: 该命令会显示当前系统进程的 CPU 占用情况,以及每个进程占用的 CPU 百分比和内存使用情况等信息。 查看内存占用情况: 该命令会显示当前系统的内存总量、已使用的内存量、空闲

    2024年02月11日
    浏览(72)
  • Linux | Ubuntu20.04系统使用命令从移动硬盘/U盘拷贝文件到服务器上

    *确认自己移动硬盘、U盘的格式,本文为exfat格式 查看disk默认位置 查看最后的位置,我的显示为 Device, 位置为 /dev/sdb1 ,2048, (后面省略) *注意:此时无法直接查看硬盘内容 进入Linux系统主界面,如果是user的话,获取管理员权限 挂载移动硬盘/U盘 命令如下,其中/dev/sdb1为disk默

    2024年02月14日
    浏览(56)
  • RTSP/Onvif视频服务器LntonNVR(源码版)在Windows/Linux电脑上如何实现硬盘录像机NVR的功能?

    NVR即网络硬盘录像机,它最主要的功能是通过网络接收IPC(网络摄像机)设备传输的数字视频码流,并进行存储、管理,从而实现网络化带来的分布式架构优势。 现在无论是城市监控、园区管理还是幼儿园监控,这些安防监控需求已经成为我们生活中不可或缺的一环。那么要

    2024年01月20日
    浏览(51)
  • 【Linux对磁盘进行清理、重建、配置文件系统和挂载,进行系统存储管理调整存储结构】

    继上一篇 【Linux上创建一个LVM卷组,将多个物理卷添加到卷组中使用】 创建一个卷组,并将多个物理卷添加到该卷组中。 在卷组上创建一个逻辑卷,并进行文件系统格式化。 将逻辑卷挂载到指定目录并自动挂载。 扩展逻辑卷的大小,并调整文件系统以适应扩容后的存储空间

    2024年01月22日
    浏览(46)
  • 常用服务器和存储设备管理口默认IP用户名密码汇总(持续更新)

    一、服务器设备默认管理 1、宝德4卡服务器 默认用户名:ADMIN        密码:11111111 2、超微服务器 默认用户名:ADMIN   密码:admin000 默认用户名:ADMIN   密码:ADMIN 3、浪潮服务器 默认用户/密码:admin/admin ------------------------------------------ 浪潮AS5300/5500 默认 IP 为 192.168.1.

    2024年02月05日
    浏览(57)
  • 开源对象存储服务器MinIO本地部署并结合内网穿透实现远程访问管理界面

    MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是

    2024年02月01日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包