九、 高级文件系统管理

磁盘配额

定义:限制用户和组在指定分区上的使用空间和文件数目(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                 

转载于:https://www.cnblogs.com/outsrkem/p/11170622.html

你可能感兴趣的:(九、 高级文件系统管理)