磁盘配额,RAID和LVM

时间:2022-09-17 23:04:55
磁盘配额:
     磁盘配额可以限制指定账户或组能够使用的磁盘空间,这样可以避免因某用户或某个组的成员过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。centos6主要使用quota工具来实现磁盘配额,quota磁盘配额功能只在指定的文件系统(分区)内有效,用户使用其它未设置配额的文件系统时,将不会受到限制。quota主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。通过设置磁盘配额可以对用户或组进行两方面的限制:磁盘容量、文件数量
 

磁盘配额配置步骤

  • 对需要使用磁盘配额的分区启用配额挂载选项
  • 创建建磁盘配额数据库
  • 启用磁盘配额数据库
  • 设置配额项
  • 测试

  (1)如果存放的文件空间不足,虽然分区后不能直接扩容,但是可以迁移,下面以/home目录示例:

1、新建分区,同步分区表 /dev/sda6
2、mkfs.ext4 /dev/sda6              
3、mkdir /mnt/home
mount /dev/sda6 /mnt/home           格式分区后挂载分区
4、cp -av /home/* /mnt/home,备份/home
5、init 1 单用户模式 断网              不建议使用,否则不能远程,所以轻易不要扩家目录,除非没人使用或者就在服务器旁
6、rm -rf /home/*                        删除时有必要做好备份,第四步就可以备份
7、vim /etc/fstab
/dev/sda6  /home ext4 defaults 0 0   
mount -a                                    写入开机启动挂载
9、umount /mnt/home                取消第一次挂载的路径,使其挂载到家目录下
10、df,用户登录确认是否正常        可以创建文件检查,检查家目录是否破坏,

     (2)  实现磁盘配额:

1.重新挂载家目录,使用具有磁盘配额特性   mount -o remount,usrquota,grpquota /home

2.mount 检查是否开启特性

3.禁用selinux     setenforce 0                    可以酌情写入开机启动

4.创建磁盘配额数据库:  quotacheck -cug  /hmoe                     -c 是创建的意思,后面是用户

5.启动磁盘配额:  quotaon  -p /home                      查看状态

                          quotaon     /home                       启用

6.设置磁盘配额: edquota    users                           会启动临时vim编辑,里面有格式,单位是K,也可以设置ionde号

                                       -g  groups                      设置组的磁盘配额

     磁盘配额的命令帮助man quota    翻到最后会有以上用到的所有命令,知道怎么用就行

    

 

 

RAID

独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。

  

   (3)实现磁盘阵列:RAID5

1.准备至少三个以上的硬盘                                因为RAID5轮回校验硬盘使用率n-1/n

2.创建分区大小并指定RAID磁盘格式                   fdisk    t    fd ,分区同时指定后同步磁盘,lsblk 和blkid检查

3.mdadm -C -a yes /dev/md5  -l 5 -n 3 -x 1  /dev/sd*    

                   -C   :创建阵列              -a yes   :自动   后面接指定的阵列名      

                   -l    :指定阵列级别,0,1,5,      -n : 指定组成的磁盘个数 

                   -x   :指定备用分区                    最后指定组成的所有磁盘

4.完成后格式阵列:mkfs.ext4 /dev.md5           然后挂载只目录

5.mdadm -D /dev/md5                                   查看阵列信息

删除阵列:

1.取消挂载

2.停止阵列: mdadm -S /dev/sd5

3.删除分区

4.清空硬盘阵列信息:mdadm –zero-superblock /dev/sd*       

 

 

RAID磁盘阵列级别级其比较表

磁盘配额,RAID和LVM

  • RAID 0: 带区集。它将两个以上的磁盘并联起来,成为一个大容量的磁盘。在存放数据时,分段后分散存储在这些磁盘中,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失。
  • RAID 1: 两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。如果用两个不同大小的磁盘建RAID 1,可用空间为较小的那个磁盘,较大的磁盘多出来的空间也可以分区成一个区来使用,不会造成浪费。
  • RAID 5: 一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分区)技术。RAID 5至少需要三块硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用“回写缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。
  • RAID 6: 与RAID 5相比,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性。RAID 6需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算,相对于RAID 5有更大的IO操作量和计算量,其“写性能”强烈取决于具体的实现方案,因此RAID6通常不会通过软件方式来实现,而更可能通过硬件/固件方式实现。同一数组中最多容许两个磁盘损坏。更换新磁盘后,数据将会重新算出并写入新的磁盘中。依照设计理论,RAID 6必须具备四个以上的磁盘才能生效。可使用的容量为硬盘总数减去2的差,乘以最小硬盘容量。
  • RAID 10: 先做RAID1,在RAID1的基础上作RAID0。

 

(4)

LVM

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

  • PV(Physical Volume): 物理卷。磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID)
  • VG(Volume Group): 卷组。类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)
  • LV(Logical Volume): 逻辑卷。类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)

 

 

1.和创建阵列的第一步一样,分区格式磁盘,指定lvm格式;  格式号码是8e

2.先创建物理卷PV: pvcreate  /dev/sd*                     指定组成的pv磁盘个数

3.创建卷组vg      :vpcreate  vg0 -s 16M  /devsd*     把单个的pv组成vg,指定vg名 vg0   ,指定pe 大小16M  默认4M

4.创建逻辑卷      :lvcreatr    -n lv0  -L 5G  vg0       指定逻辑卷名字lv0,指定大小5G,注意区别+5G, 后面指从空间VG0组中创建

5.创建文件系统   : mkfs.ext4 /dev/lvo                   逻辑卷的路径完成第四步会有显示,或者查看lvs ,lvdisplay.

6.挂载使用即可

 

 .....................................


volume group 卷组


PE: 物理盘区 小的存储空间

dm : device mapper
设备映射

设备文件: /dev/卷组名/逻辑卷名
/dev/myvg/lvdata


逻辑卷特有编号 用fdisk 调整 8e
物理管理命令 pv 开头
pvcreate /dev/sd*** 创建物理卷
pvs 查看物理卷
pvdisplay 查看详细信息
pvscan
pvmove 移动盘区到不移出的硬盘上
pv

卷组的管理命令 vg开头
vgs查看有哪些卷组
vgcareate 创建 cgcreate myvg /dev/ sdb{1,2}
vgdisplay
vgextend 扩容
vgreduce 减少

cgcreate -s 8MB myvg /dev/sdb{2,3}
创建充值PE大小

 


逻辑卷的管理命令 lv开头

lvcreate 创建
-L 空间大小
-n lv名称

#lvcreate -L size -n Name vg_name
lvextend 扩容
lvremove 移出


逻辑卷扩展的步骤
1 先确定扩展的大小, 并确保所属的卷组有足够的剩余空间
2 扩展物理边界
#lvextend -L[+size] /path/to/lv_device

3扩展逻辑边界
# resize2fs /path/to/lv_device


缩减逻辑卷的步骤
1 卸载卷,并执行强制
检测
# e2fsck -f /path/to/lv_device

2缩减逻辑边界
# resizefs /path/to/lv_device

3 缩减物理边界
#lvreduce -L [-]size /path/to/lv_device

 

 


1.和创建阵列的第一步一样,分区格式磁盘,指定lvm格式; 格式号码是8e

2.先创建物理卷PV: pvcreate /dev/sd* 指定组成的pv磁盘个数

3.创建卷组vg :vpcreate vg0 -s 16M /devsd* 把单个的pv组成vg,指定vg名 vg0 ,指定pe 大小16M 默认4M

4.创建逻辑卷 :lvcreatr -n lv0 -L 5G vg0 指定逻辑卷名字lv0,指定大小5G,注意区别+5G, 后面指从空间VG0组中创建

5.创建文件系统 : mkfs.ext4 /dev/lvo 逻辑卷的路径完成第四步会有显示,或者查看lvs ,lvdisplay.


6挂载使用即可


逻辑卷的扩展

lvextend -r -L 6G /dev/vgo/lv0 同样注意和+6G的区别,+6G表示增加了6G,

卷组的扩展

1.pvcreat /dev/sdd 先创建物理卷PV

2.vgextend vgo /dev/sdd 扩展指定的卷组,后面加上物理卷即可

缩减逻辑卷

1.取消挂载 把要缩减的逻辑卷先取消挂载(切记,一定要先取消再缩减)

2.e2fsck -f /dev/vg0/lv0 强制检查

3.resize2fs /dev/vg0/lv0 3G 先缩减文件系统

4.lvreduce /dev/vg0/lv0 – L 3G 缩减逻辑卷到3G

5.再次挂载上去,缩减成功; 注意:先缩减文件系统再缩减逻辑卷

从卷组中移除硬盘

1.pvmove /dev /sdb

2.vgreduce vg0 /dev/sdb

3.pvremove /dev/sdb

删除逻辑卷

1.卸载逻辑卷

2.lvremove /dev/vg0/lv0

创建快照逻辑卷

lvcreate -n snapshotlv0 -L 3G -s -p r /dev/vg0/lv0

指定名字 指定大小 -s 创建快照,-p r 只读

 

 

 

 

 

 

 

 

...