磁盘容量配额
Linux系统的设计初衷就是让许多人一起使用并执行各自的任务,从而成为多用户、多任务的操作系统。但是,硬件资源是固定且有限 的,如果有些用户不断的在Linux系统上创建文件或者存放电影,硬盘空间总有一天会被占满。
针对这种情况,root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。
可以使用quota命令进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。quota命令还有软限制和硬限制的功能。
1.软限制:当达到软限制时会提示用户,但仍允许用户组限定的额度内继续使用
2.硬限制:当达到硬限制时会提示用户,且终止用户的操作
RHEL 7系统中已经安装了quota磁盘容量配额服务程序包,但存储设备却默认没有开启对quota的支持,此时需要手动编辑配置文件,让RHEL 7系统中的/boot目录能够支持quota磁盘配额技术。
1.编辑/etc/fstab文件,添加参数让存储设备支持磁盘配额技术。
早期文件系统添加的参数为usrquota参数,而xfs文件系统使用的是uquota或usrquota。
(1)vim /etc/fstab
(2). . .
(3)UUID-9d5e3b22-75ac-4f47-9e2b-dd33a06b0f81 /boot xfs defaults,uquota 1 2
(4)/dev/sdb1 /newFS ext4 defaults,usrquota 0 0
#添加uquota参数(XFS文件系统,usrquota也行)
#添加usrquota参数(早期文件系统专用参数)
2.重启系统,使用mount命令查看目录是否已经支持quota磁盘配额技术。
(1)reboot
(2)mount | grep /boot
#从mount命令的输出结果中,查找出含有/boot字样的行
(3)mount | greo /newFS
#如果输出结果有usrquota的字眼,说明该目录已经支持quota磁盘配额技术
3.设置quota磁盘配额。
xfs_quota命令:一个专门针对XFS文件系统来管理quota磁盘容量配额服务而设计的命令
(1)-c参数用于以参数的形式设置要执行的命令
(2)-x参数是专家模式
让运维人员能够对quota服务进行更多复杂的配置。
edquota命令:用于编辑用户的quota配额限制
为用户设置了quota磁盘容量配额限制后,可以使用edquota命令按需修改限额的数值。
(1)-u参数表示要针对哪个用户进行设置
(2)-g参数表示要对哪个用户组进行设置
(3)-v显示指令执行的过程
软硬方式链接
在Linux系统中存在硬链接和软连接两种文件。
硬链接(hard link):
可以将它理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode和文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。我们每添加一个硬链接,该文件的inode连接数就会增加1;而且只有当该文件的inode连接数为0时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件inode的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。需要注意的是,由于技术的局限性,我们不能跨分区对目录文件进行链接。
软链接(也称为符号链接[symbolic link]):
仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效,从这一点上来说与Windows系统中的“快捷方式”具有一样的性质。
ln命令:用于创建链接文件
其可用的参数以及作用如表6-6所示。在使用ln命令时,是否添加-s参数,将创建出性质不同的两种“快捷方式”。
ln命令中可用的参数以及作用
-s:创建“符号链接”(如果不带-s参数,则默认创建硬链接)
-f:强制创建文件或目录的链接
-i:覆盖前先询问
-v:显示创建链接的过程
RAID磁盘冗余阵列
RAID技术通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上,从而起到了非常好的数据冗余备份效果。
任何事物都有他的两面性。RAID技术不仅有非常好的数据冗余备份功能,还降低了硬盘设备损坏猴丢失数据的几率,还提升了硬盘设备的读写速度,所以它在绝大多数运营商或大中型企业中得以广泛部署和应用。
1.RAID 0
RAID 0技术把多块物理硬盘设备(至少两块)通过硬件或者软件的方式串到一起,组成一个大的卷组,并将数据依次写入到各个物理盘中。这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。通俗来说,RAID 0技术能有效的提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力。
2.RAID 1
RAID 1技术是把两块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。
3.RAID 5
RAID5技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID 5磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除了自身以外的其他每一块硬盘设备上,这样的好处是其中任何一设备损坏后不至于出现致命缺陷。
4.RAID 10
RAID 10技术是RAID 1+RAID 0技术的一个“组合体”。如图7-4所示,RAID 10技术需要至少4块硬盘来组建,其中先分别两两制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对两个RAID 1磁盘阵列实施RAID 0技术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏50%的硬盘设备而不丢失数据。由于RAID 10技术继承了RAID 10的高读写速度和RAID 1的数据安全性, 不考虑成本的情况下RAID 10的性能都超过了RAID 5,因此当前成为广泛使用的一种存储技术。
部署磁盘阵列
mdadm命令用于管理Linux系统中的软件RAID硬盘阵列,格式为“madam [模式] <RAID设备名称> [选项] [成员设备名称]”
madam命令的常用参数和作用
损坏磁盘阵列及修复
在生产环境中部署RAID10磁盘阵列组目的就是为了提高存储设备的IO读写速度及数据的安全性。RAID磁盘阵列组损坏后的处理方法首先确认有一块物理硬盘设备出现损坏不能再继续正常使用后,应该使用madam命令来予以移除之后查看下RAID磁盘阵列组的状态已经被改变。
移除阵列中一块硬盘来模拟一块硬盘损坏。
磁盘阵列+备份盘
部署RAID 5磁盘阵列时,至少需要用三块盘,还需要再加一块备份硬盘。
还原虚拟机。部署RAID 5 + 1 备份盘