一、分区加密

cryptsetup       luksFormat/dev/vdb1
WARNING!
========
This will overwrite data on /dev/vdb1irrevocably.
 
Are you sure? (Type uppercase yes): YES    ##确定加密
Enter passphrase:                 ##密码大于8位,并且不能太简单
Verify passphrase:                 ##确认密码
 
[root@diskctrl ~]# cryptsetup open/dev/vdb1  westos  ##解密
Enter passphrase for /dev/vdb1:                #输入密码
[root@localhost ~]# ll /dev/mapper/
total 0
crw-------. 1 root root 10, 236 Aug  5 00:04 control
lrwxrwxrwx. 1 root root       7 Aug  5 00:15 westos -> ../dm-0 
[root@diskctrl ~]# mkfs.xfs  /dev/mapper/westos    ##用管理文件格式化设备
[root@diskctrl ~]# mount/dev/mapper/westos  /mnt/   ##使用设备
[root@diskctrl ~]# umount/dev/mapper/westos       ##卸载设备
[root@diskctrl mnt]# cryptsetup closewestos      ##关闭设备加密层
[root@localhost ~]# ll /dev/mapper/
total 0
crw-------. 1 root root 10, 236 Aug  5 00:04 control


2、加密磁盘的永久挂载

  1Vim /etc/crypttab

    解密后设备管理文件   设备     加密再付存放文件

     westos           /dev/vdb1   /root/luckspsfile

  2vim/root/luckspsfile

    在这个文件中写入开启磁盘解密的密码,将此文件的权限设成600,为了安全

  3》在文件/etc/fstab中添加开机挂载/dev/vdb1

    /dev/mapper/westos    /mnt   xfs         defaults  0   0

注意:/dev/mapper/westos中的westos/etc/crypttab中额解密后设备管理文件名称

3、加密清除

  将添加到/etc/fstab/etc/crypttab中的添加的开机挂载选项删除,删除密码文件,然后卸载改在到mnt目录下的/dev/mapper/westos然后使用cryptsetup  close  /dev/mapper/westos 关闭加密

二、磁盘阵列

1、raid理论知识

1.1 RAID 0描述

RAID 0又称为stripe(条带化)striping(条带模式),他在所有RAID级别中具有最高的存储性能,RAID0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,当有数据读写时,每个磁盘读写属于自己的那份数据请求。要做RAID0 要求至少是一块物理磁盘,一般用来做RAID的不同磁盘大小最好一样(可以充分发挥优势);而数据分散存储于不同的磁盘上,在读写的时候可以实现并发,所有读写性能好;但是没有容错功能,即任何一个磁盘的损坏会导致整个RAID的数据全部丢失,单块盘只能做RAID0,否则可能不能使用。

RAID 0 使用的场景:

   1》负载均衡集群下面的多个相同RS节点服务器

   2》分布式文件存储下面的主节点或CHUNK SERVER

   3》以及MySQL,主从复制的多个Slave服务器;

   4》对性能要求很高,对冗余要求很低的相关业务                       

   容量:是4块盘加在一起的容量,在RAID级别中具备最高的存储性能,原理是把连续的数据分散到多个磁盘上存取。

   性能理论上磁盘读写速度比单盘提升4倍,磁盘越多倍数越小。

1.2 RAID 1级别详解

 RAID1又称为mirrormirroring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性。RAID1的操作方式是把用户写入磁盘的数据百分之百的自动复制到另外一个磁盘上,从而实现数据的存储双份的数据。要做RAID1至少是两块磁盘,整个RAID大小等于两个磁盘中最小的那块磁盘的容量,数据有50%的冗余,工作中磁盘可以用监控.

   RAID1 使用的场景:

   1》适用于存放重要数据,如服务器分区和对性能要求不高的数据库存储等

   容量:损失50%的数据容量

   性能:mirror不能提高存储性能,理论上写性能和单盘相差不大。

   冗余:在所有RAID级别中,RAID1提供最高的数据安全保障,冗余度50%    

   特点:50%冗余,容量损失一半

1.3 RAID5基本详解

   RAID5是一种存储性能、数据安全和存储成本兼顾的解决方案,RAID5需要3块或者以上的物理磁盘,可以提供热备盘显现故障的恢复;采用奇偶校验,可靠性强,且只有损坏两块硬盘时数据才会完全损坏,只损坏一块盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备盘重建故障磁盘上的数据

   RAID5使用的场景:

   1》RAID5可以理解为RAID0RAID5的折中方案。适合对性能和冗余都有一定的要求,又不是十分高的情况,比如MySQL的主从库、存储等。普通服务器为了减少维护成本,又保持一定冗余和读性能都可以做RAID5.

   容量:损失一块磁盘的容量.

   性能:RAID5RAID0具有相似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比单个磁盘进行写入操作稍慢

   冗余:RAID5数据安全保障比RAID1低而磁盘空间利用率比RAID1

   特点:容量损失一块盘,写数据通过奇偶校验;

1.4 RAID(0+1)和RAID(1+0)称为RAID10

   他在提供与 RAID 0 RAID 1一样的数据安全保障的同时,也提供了与RAID 0接近的存储性能。我认为RAID10和RAID01分别先后做RAID1和RAID0,所以RAID 10系统要比RAID 01系统冗余度高,安全高

2、使用软件做RAID

fdisk  /dev/vdb  #使用fdisk分区分出3块硬盘,分别为/dev/vdb1/dev/vdb2//dev/vdb将其分区类型改为linux raid

举例:下面将在系统上做一个RAID1

mdadm -C /dev/md0 -a yes –l 1 –n  2  -x 1/dev/vdb{1..3}
    -C     ##建立
    -a    ##文件不存在建立文件
    -l    ##raid级别
    -n    ##设备个数
    -x    ##闲置设备个数
mkfs.xfs /dev/md0
mount /dev/md0 /mnt/
#文件/proc/mdstat记录了阵列的状态,也可以使用 mdadm  -D  /dev/md0查看状态
##下面做一个简单的对比
[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid0] 
md0 : active raid0 vdb2[1] vdb1[0]
      2096128 blocks super 1.2 512k chunks
      
unused devices: <none>
[root@localhost ~]# dd if=/dev/zero of=/mnt/feng  bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 4.73301 s, 222 MB/s
[root@localhost ~]# umount /mnt/
[root@localhost ~]# dd if=/dev/zero of=/mnt/hui  bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 8.50535 s, 123 MB/s

3、删除RAID

mdadm /dev/md0    -f  /dev/vdb2  #让/dev/veb2损坏 
mdadm -r  /dev/md0  /dev/vdb1   #移除/dev/vdb2
mdadm -a /dev/md0 /dev/vdb1      #装载一个/dev/vdb1
umount   /dev/md0
mdadm -S /dev/md0               #停止raid
#使用fdisk 删除分区

三、磁盘配额

1、创建配额

mount -o usrquota /dev/vdb1 /pub
quotaon /dev/vdb1
edquota -u  student
repquota -a        ##root可以执行,查看用户配额信息
quota            ##配额限制用户查看自己配额信息命令

2、设置永久挂载

/etc/fstab中添加

/dev/vdb2 /mnt  xfs defaults,usrquota  0   0

3、删除配额

删除vim /etc/fstab中的配额参数

quotaoff -ugv 设备

四、LVM管理

lvm 逻辑卷,可以让设备自由伸缩的一个设备管理软件
pv 物理卷
vg  物理卷组
pe  物理拓展,lvm最小的存储单元

1、LVM的制作(针对xfs问价系统)

 首先划分lvm所用到的设备,这些设备的功能id必须是linux LVM

1.1 lvm建立
pvcreate  /dev/vdb1     ##把物理分区做成物理卷
pvs|pvdisplay         ##查看物理卷
vgcreate vg0  /dev/vdb1   ##用制作好的/dev/vdb1这个物理卷制作一个物理卷组vg0
vgs|vgdisplay         ##查看物理卷组
lvcreate -L 200M-n lv0 vg0 ##在vg0这个组中建立出lv0设备 -L 指定设备大小 -n 指定设备名字
lvs|lvdisplay         ##对逻辑卷设备进行查看
1.2 lvm设备的扩大
mkfs.xfs  /dev/lv0/vg0        #格式化
mount /dev/lv0/vg0  /mnt        #挂载
#如果/mnt/目录下的存储容量不够使用则可以扩展vg0
vgextend -L  500M  /dev/vg0/lv0  #将lv0扩展到500M
#这时应扩大xfs文件系统到设备大小
xfs_growfs  /dev/vg0/lv0

2、LVM的制作(针对xfs问价系统)

2.1 lv 扩大

umount  /mnt     #将刚才的目录卸载
mkfs.ext4  /dev/vg0/lv0    #将其文件系统格式化成ext4文件系统
mount /dev/vg0/lv0  /mnt   #重新挂载
lvextend  -L  800M  /dev/vg0/lv0
resize2fs   /dev/vg0/lv0

2.2 lv缩小

umount  /mnt
e2fsck -f  /dev/vg0/lv0
resizefs /dev/vg0/lv0  200M
mount  /dev/vg0/lvo  /mnt
lvreduce -L  200 M  /dev/vg0/lv0

2.3 vg扩大

pvcreate /dev/vdb3    ##在pv中增加一块设备/dev/vdb3
vgextend vg0 /dev/vdb3  ##把新建立的/dev/vdb2添加到vg0中

2.4 vg缩减

#在vg缩减时只能缩减没有被占用的设备
pvmove  设备1  设备2     ##把设备1上的所有数据移动到设备2上
vgreduce vg0  /dev/vdb1     ##把vg0中的/dev/vdb1删除
pvremove /dev/vdb1            ##移除设备/dev/vdb1

3、删除lvm

umount   /mnt
lvremove  /dev/vg0/lv0
vgremove  vg0
pvremove  /dev/vdb2

4、lvm快照

lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0
##给/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板设备
mount  /dev/vg0/lv0-backup/userdate
当快照设备里的数据被更改,如果想还原,删除快照设备,在重新建立快照即可