就这么学Linux 存储结构与管理硬盘-下

添加硬盘设备

fdisk

fdisk 命令用于新建、修改及删除磁盘的分区表信息,英文全称为“format disk”,语法格式为“fdisk 磁盘名称”。

在 Linux 系统中,管理硬盘设备最常用的方法就当属 fdisk 命令了。它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”。不过与前面讲解的直接写到命令后面的参数不同,这条命令的参数是交互式的一问一答的形式,因此在管理硬盘设备时特别方便,可以根据需求动态调整。
在这里插入图片描述
首先使用 fdisk 命令来尝试管理/dev/sdb 硬盘设备。在看到提示信息后输入参数 p 来查看硬盘设备内已有的分区信息,其中包括了硬盘的容量大小、扇区个数等信息:

fdisk /dev/sdb

输入参数 n 尝试添加新的分区。系统会要求用户是选择继续输入参数 p 来创建主分区,还是输入参数 e 来创建扩展分区。这里输入参数 p 来创建一个主分区:

Command (m for help):n
Select (default p): p

可以输入 partprobe 命令手动将分区信息同步到内核,而且一般推荐连续两次执行该命令,效果会更好。如果使用这个命令都无法解决问题,那么就重启计算机吧,这个“杀手锏”百试百灵,一定会有用的。

file /dev/sdb1
partprobe
partprobe
file/dev/sdbl

这个 mkfs 命令很贴心地把常用的文件系统名称用后缀的方式保存成了多个命令文件,用起来也非常简单—mkfs.文件类型名称。例如要将分区为 XFS 的文件系统进行格式化,则命令应为 mkfs.xfs /dev/sdb1。

mkfs.xfs /dev/sdbl
mkdir /newFS
mount /dev/sdb1 /newFS
df -h

du

du 命令用查看分区或目录所占用的磁盘容量大小,英文全称为“disk usage”,语法格式为“du -sh 目录名称”。

既然存储设备已经顺利挂载,接下来就可以尝试通过挂载点目录向存储设备中写入文件了。在写入文件之前,先来看一个用于查看文件数据占用量的 du 命令。简单来说,该命令就是用来查看一个或多个文件占用了多大的硬盘空间。

在使用 Window 系统时,我们总会遇到“C 盘容量不足,清理垃圾后又很快被占满”的情况。在 Linux 系统中可以使用 du -sh /*命令来查看在 Linux 系统根目录下所有一级目录分别占用的空间大小,在 1s 之内就能找到哪个目录占用的空间最多:

du -sh /*

先从某些目录中复制过来一批文件,然后查看这些文件总共占用了多大的容量:

cp -rf /etc/* /newFS
ls /newFS
du -sh /newFS

让这个设备文件的挂载永久有效,则需要把挂载的信息写入配置文件中:

vim /etc/fstab

添加交换分区

交换(SWAP)分区是一种通过在硬盘中预先划分一定的空间,然后把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其
设计目的是为了解决真实物理内存不足的问题。通俗来讲就是让硬盘帮内存分担压力。但由于交换分区毕竟是通过硬盘设备读写数据的,速度肯定要比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源。

交换分区的创建过程与前文讲到的挂载并使用存储设备的过程非常相似。在对/dev/sdb存储设备进行分区操作前,有必要先说一下交换分区的划分建议:在生产环境中,交换分区的大小一般为真实物理内存的 1.5~2 倍。为了让大家更明显地感受交换分区空间的变化,这里取出一个大小为 5GB 的主分区作为交换分区资源:

fdisk /dev/sdb
n
p
<enter>
<enter>

磁盘容量配额

硬件资源是固定且有限的,如果某些用户不断地在 Linux 系统上创建文件或者存放电影,硬盘空间总有一天会被占满。针对这种情况,root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。可以使用 quota技术进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。quota技术还有软限制和硬限制的功能。

➢ 软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
➢ 硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。
默认没有开启对 quota 技术的支持,此时需要手动编辑配置文件并重启一次系统,让系统中的启动目录(/boot)能够支持 quota 磁盘配额技术。

vim /etc/fstab

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

mount | grep boot

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

useradd tom
chmod -R 0+w /boot

xfs_quota

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

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

xfs_quota -x-c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot
xfs_quota -x -c report /boot

edquota

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

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

在这里插入图片描述

VDO (虚拟数据优化)

在这里插入图片描述

软硬方式链接

Linux 系统中存在软链接和硬链接两种不同的类型。
➢ 软链接:也叫符号链接(symbolic link),仅包含所链接文件的名称和路径,很像一个记录地址的标签。当原始文件被删除或移动后,新的链接文件也会随之失效,不能被访问。可以针对文件、目录设置软链接,跨文件系统进行链接也不是问题。从这一点来看,它与 Windows 系统的“快捷方式”具有一样的性质。用户访问软链接的效果如图 6-15 所示。

➢ 硬链接:可以将它理解为一个“指向原始文件 block 的指针”,系统会创建出一个与原来一模一样的 inode 信息块。所以,硬链接文件与原始文件其实是一模一样的,只是名字不同。每添加一个硬链接,该文件的 inode 个数就会增加 1;而且只有当该文件的 inode 个数为 0 时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件 block 的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。需要注意的是,由于技术的局限性,不能跨分区对目录文件进行硬链接。用户访问硬链接的效果如图 6-16 所示

在这里插入图片描述

ln

ln 命令用于创建文件的软硬链接,英文全称为“link”,语法格式为“ln [参数]原始文件
名 链接文件名”。

ln 命令的可用参数以及作用如表 6-8 所示。在使用 ln 命令时,是否添加-s 参数,将创建出性质不同的两种“快捷方式”。因此如果没有扎实的理论知识和实践经验做铺垫,尽管能够成功完成实验,但永远不会明白为什么会成功。
在这里插入图片描述

echo "welcome to linuxprobe.com" > old.txt
ln -s old.txt new.txt
cat old.txt
cat new.txt
ls -l old.txt

rm -f old.txt
cat new.txt

echo "Welcome to linuxprobe.com"> old.txt
ln old.txt new.txt
cat old.txt
cat new.txt
ls -l old.txt

rm -f old.txt
cat new.txt

猜你喜欢

转载自blog.csdn.net/AdamCY888/article/details/131376404