本文将介绍在linux中对磁盘的加秘密,磁盘阵列,和逻辑卷管理(LVM)
一:磁盘的加密
(1)加密磁盘,设置密码
cryptsetup luksFormat /dev/vdb1(2)打开磁盘,并将打开的磁盘命名为test
cryptsetup open /dev/vdb1 test可以看到再/dev/mapper 下,多了一个我们刚刚命名为 test的 文件
(3)格式化
mkfs.xfs /dev/mapper/test(4)挂载
mount /dev/mapper/test挂载后,我们可以查看到
(5)关闭打开的加密磁盘
cryptsetup close /dev/mapper/test(6)测试
在 /mnt 下 创建几个文件
将加密磁盘关闭后,就看不到文件了
(7)对加密磁盘永久挂载
A
vim /etc/crypttab格式
解密后设备管理文件 设备 加密字符存放文件
B
创建加密字符文件,一般将文件放在/root 下,以保证文件的安全性
C 用命令添加钥匙
D 设置/etc/fstab 文件
完成之后,重启检验是否成功自动挂载加密磁盘
二 磁盘阵列,raid
(1)了解磁盘阵列 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。 磁盘阵列是由很多价格较便宜的 磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 磁盘阵列还能利用同位检查(Parity Check)的观念,在 数组中任意一个 硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。 RAID 级别 RAID 0 (磁盘写入速度快) RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中, 它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。 RAID 1(磁盘读取速度快) RA RAID 1示意图 ID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。 RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。 RAID 5 (RAID 0 + RAID 1) 从RA RAID0+1示意图 ID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。(2)添加磁盘阵列
首先分3个大小相同的区,为下面的步骤准备
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
(2)格式化
(3)挂载
(4)查看
watch -n 1 'cat /proc/mdstat ; df -h /mnt'
三:LVM
了解LVM
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
(1)创建LVM
首先需要建 lvm文件系统的一个分区,
然后用命令建立 pv vg lv
格式化
挂载
用watch命令监控
watch -n 1 'pvs; echo ====; vgs; echo ====; lvs; df -h /mnt'(2)LVM扩容
lvextend -L 150M /dev/vg0/lv0扩容文件系统
扩容后的信息
增加pv
新建一个LVM文件系统的分区
格式化后按照前面的LVM创建的步骤
添加一个分区到LVM
添加 vg
查看片pv vg LVM信息,可以看到pv多了一个区;vg 变大了
(3)lvm的缩减
只有ext4文件系统的分区才可以缩减,xfs的分区只能增加容量
先格式化一个ext4 的分区
先试一试扩容,
缩减
卸载
umount /mnt检查磁盘缩减文件系统的大小(先缩减文件系统再缩减磁盘)
重新挂载
mount /dev/vg0/lv0 /mnt 缩减LVM再次查看LVM 的大小,可以看见已经成功缩小了LVM的大小
(4)文件的快照
文件快照
先卸载
再挂载
mount /dev/vg0/lv0-backup /mnt移除文件快照 lvremove /dev/vg0/lv0-backup(5)删除LVM
先卸载
umount /mnt依次删lv vg pv
查看移除后的 pv vg lv
四:磁盘配额
给不同用户分配指定的磁盘容量,以让磁盘给多人使用
执行以下命令
给用户配额
edquota -u student在第四列的hard 下面输入需要给用户限制的大小(单位是K)
测试
切换成studnet 用户,然后往磁盘里转数据,由于之前设定student的配额是10M , 所以只能用10M的空间
设置开机自动给用户配额
vim /etc/fsatb