• 九、 高级文件系统管理


    磁盘配额

    定义:限制用户和组在指定分区上的使用空间和文件数目(inode号数量)
    磁盘配额限制类型:
    1.限制用户和组对磁盘空间的使用量
    2.限制用户和组在磁盘内创建文件的个数
    磁盘配额限制级别:
    1.软限制:低级限制,此限制可以突破,突破时会被警告,超出部分会有宽限天数,宽限天数到期后超出部分被清空, 软限制不能超过硬限制
    2.硬限制:绝对限制,此限制不会被突破,达到指定限制后无法使用更多空间
    3.宽限天数:当有数据超过软限制后,超出部分会被计时,宽限天数到期后软限制会变成硬限制,宽限天数默认是7天
    注:磁盘配额是针对分区进行设置的,无法实现“某用户在系统中共计只能使用50MB磁盘空间”只能设置某用户在/home分区能使用30M这样的限制。磁盘配额是针对分区的。

    RAID磁盘阵列
    1、定义:独立磁盘构成的具有冗余能力的阵列
    2、磁盘阵列分类:一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真
    1.通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能
    2.通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度
    3.通过镜像或校验操作提供容错能力

    raid比较
    卷名 磁盘数量 磁盘容量 读写速度 动态扩容 磁盘容错 存储空间 安全等级 坏1块 坏2块
    Raid 0 n>=2 必须一样 最快 否 否 100% 低 报废 报废
    Raid 1 n=2 必须一样 最慢 否 是 50% 最低 可用 报废
    Raid 10 n>=4 一样 最快 否 是 50% 高 可用 可用,不是一边坏
    Raid 5 n>=3 必须一样 较快 否 是 n-1 高 可用 报废

    LVM逻辑卷组

    1、LVM构成
    硬盘 → 物理卷PV → 卷组VG → 逻辑卷LV
    	物理卷PV:由磁盘或分区转化而成
    	卷组VG:将多个物理卷组合在一起组成了卷组,组成同一个卷组的可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区,类似于一块硬盘。
    逻辑卷LV:类似于硬盘的分区
    
    1) 准备多块磁盘
    2) 将硬盘转化成物理卷(PV)
    	# pvcreate /dev/sdf 				生成物理卷
    	# pvscan   或 # pvdisplay 			查看物理卷PV
    	# pvremove 							删除物理卷
    3) 将创建好的物理卷组合成卷组(VG)。
    	vgcreate  [选项]  卷组名 物理卷名(可以写多个,空格分开)
    				-s	大小:指定VG的PE大小
    	# vgcreate vg0 /dev/sdd /dev/sde	生成卷组
    	# vgscan   或 # vgdisplay 			查看卷组VG
    	# vgextend	卷组名	物理卷名			增加卷组容量
    	# vgreduce	卷组名	物理卷名 			减小卷组容量
    	# vgreduce –a 卷组 					删除指定卷组内所有空的物理卷
    	# vgremove							删除卷组
    4) 将卷组划分成逻辑卷(LV),逻辑卷也是可以随意调整大小的,逻辑卷相当于分区,必须进行格式化和挂载。
    	lvcreate	选项	-n 逻辑卷名	卷组名
    		-L	容量:指定创建的逻辑卷大小,单位:MB,GB,TB等
    		-l(小)	个数:按照PE个数来指定逻辑卷大小
    		-n	逻辑卷名:指定逻辑卷叫什么名
    	# lvcreate -L 40G -n lv0 vg0		生成逻辑卷
    	# mkfs.ext4 /dev/vg0/lv0			格式化(写入文件系统)
    	# mount /dev/vg0/lv0 /D/			挂载
    5) 修改逻辑卷容量--lvextend
    	修改lv及文件系统的大小,必须先将lv及文件系统卸载(umount)
    	lvextend -L +10G /dev/vg0/lv0			先增加lv的大小(修改MBR分区表数据)
    	resize2fs -f /dev/vg0/lv0 30G			再修改文件系统的大小(修改super block数据)
    	减少lv空间的操作是有风险的,		操作之前一定要做好备份,以免数据丢失。
    	# e2fsck -f /dev/vg0/lv0				检查文件系统
    	# resize2fs /dev/vg0/lv0 newsize		减少后文件系统大小
    	# lvreduce -L newsize /dev/vg0/lv0		减少后lv大小
    

    dd命令

    1、dd:用指定大小的块拷贝一个文件。
    if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
    of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
    count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
    dd if=/dev/zero of=/movie/* bs=1M count=40
    	if=数据来源地址
    	of=数据目标地址
    	bs=每次写入指定目标时,所写入的块的大小(最好用4096-保证和block大小一致)
    	count=所写入的块的个数
    伪设备文件:
    	/dev/zero 		:拥有无限个0的设备
    	/dev/null		:“黑洞”,也称为位桶(bit bucket),可以接收任何数据(不限大小)
    	/dev/urandom	:随机设备文件,输出随机字符
    2、dd应用实例
    1.将本地的/dev/hdb整盘备份到/dev/hdd
    		dd if=/dev/hdb of=/dev/hdd
    2.将/dev/hdb全盘数据备份到指定路径的image文件
    		dd if=/dev/hdb of=/root/image
    3.将备份文件恢复到指定盘
    		dd if=/root/image of=/dev/hdb
    4.备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
    		dd if=/dev/hdb | gzip > /root/image.gz
    5.将压缩的备份文件恢复到指定盘
    		gzip -dc /root/image.gz | dd of=/dev/hdb
    6.备份与恢复MBR
    a.备份磁盘开始的512个字节大小的MBR信息到指定文件,拷贝一个512字节的块:
    	dd if=/dev/hda of=/root/image bs=512 count=1
    b.恢复:将备份的MBR信息写到磁盘开始部分
    	dd if=/root/image of=/dev/had
    7.拷贝内存内容到硬盘
    		dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)
    8.拷贝光盘内容到指定文件夹,并保存为cd.iso文件
    		dd if=/dev/cdrom(sr0) of=/root/cd.iso
    9.增加swap分区文件大小
    第一步:创建一个大小为256M的文件:
    	dd if=/dev/zero of=/swapfile bs=1024 count=262144
    第二步:把这个文件变成swap文件:
    	mkswap /swapfile
    第三步:启用这个swap文件:
    	swapon /swapfile
    第四步:编辑/etc/fstab文件,使在每次开机时自动加载swap文件:
    	/swapfile swap swap default 0 0
    10.销毁磁盘数据
    		dd if=/dev/urandom of=/dev/hda1
    		注意:利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。
    11.测试硬盘的读写速度
    		dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
    		dd if=/root/1Gb.file bs=64k | dd of=/dev/null
    通过以上两个命令输出的命令执行时间,可以计算出硬盘的读、写速度。
    12.确定硬盘的最佳块大小:
    		dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
    		dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
    		dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
    		dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
    通过比较以上命令输出中所显示的命令执行时间,即可确定系统最佳的块大小。
    
    13. 数据销毁:
    	# dd if=/dev/zero of=/dev/sdb 
    14. 测试磁盘的读写效率
    	# dd if=/dev/zero of=/movie/aaa bs=4096 count=512		15. 测试写入效率
    	# dd if=/movie/aaa of=/dev/null bs=4096 				
    


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Java进阶之内部类
    Java进阶之集合框架
    Java进阶之异常
    Java进阶之JVM虚拟机(Java Virtual Machine)
    Java进阶之String类
    Java进阶之Nnumber类和Math
    Java基础之流程控制语句
    Java基础之标识符与修饰符
    Java基础之数据类型与运算符
    数据库事务与事务隔离级别
  • 原文地址:https://www.cnblogs.com/outsrkem/p/11170622.html
Copyright © 2020-2023  润新知