Linux学习笔记之七

来源:互联网 发布:我的世界0.14作弊js 编辑:程序博客网 时间:2024/05/18 02:20

1. 设备相关操作及知识点拾遗

设备类型分辨
/dev/xdx ####硬盘设备
/dev/cdrom ####光驱
/dev/mapper/* ####虚拟设备

blkid 查看所有可以使用的设备id及名称
mount 设备 挂载点
#####通过挂载点访问设备

示例:mount /dev/vdb1 /mnt#将设备/dev/vdb1挂载到/mnt上

这里写图片描述
umount 设备|设备挂载点 ####卸载设备

示例:umount /mnt | /dev/vdb1

当用umount卸载设备时设备繁忙时如何卸载设备
lsof 设备|设备挂载点 #####查看设备或挂载点上运行的程序
fuser -kvm 设备|挂载点 #####结束设备或挂载点上运行的进程
fuser -k ####结束进程
-v ####详细信息
-m ####差挂载点上运行的程序

2. 设备加密相关

假设在这一步我们已经创建了名字为/dev/vdb1的分区,下面我们将对这一分区进行加密,限制用户访问
此过程常见操作如下:

cryptsetup luksFormat /dev/vdb1#为设备安装加密层cryptsetup open /dev/vdb1 halo#打开加密层mkfs.xfs /dev/mapper/halo#初次挂载前需要格式化设备mount /dev/mapper/halo /mnt#将格式化的设备挂载到/mnt上umount /mnt/#卸载设备cryptsetup close /dev/vdb1 halo#关闭加密层(必须在设备卸载之后进行,要不然会提示错误)

下图演示了如何为一个设备进行加密以及加密后设备特征信息的识别,接下来就需要执行

格式化设备:mkfs.xfs /dev/mapper/halo将格式化后的设备挂载到可访问目录上:mount /dev/mapper/halo /mnt

这里写图片描述

如果不想再使用这个设备而且不想让别人看到的话就需要依次执行

umount /mnt/#卸载设备cryptsetup close halo#关闭加密层

如果出现以下错误信息,那么原因是:你的设备还在使用中,也就是没有卸载掉
这里写图片描述
加密磁盘永久挂载(除了reboot之外配置顺序随便,注意名称要对应)
(机密信息存放文件名称随便起,里面存放加密用到的密码,但是其他地方使用时一定要对应)

配置加密表vim /etc/crypttablockey /dev/vdb1 /root/lockey配置加密文件vim /root/lockeychmod 660 /root/lockey配置开机自检文件vim /etc/fstab/dev/mapper/lockey /mnt xfs defaults 0 0指定读取的密码文件,如果不配置这一项每次开机都需要输入加密设备的密码才能顺利开机crptsetup luksAddKey /dev/vdb1 /root/lockey#这一步一定要有,要不然开机会提示需要输入加密磁盘的密码才能继续reboot

加密清除

删掉开机自检文件中的配置vim /etc/fstab卸载设备关闭加密层

3. 设置磁盘配额

mount -o usrquota /dev/vdb1 /mnt
quotaon -uv /dev/vdb1
edquota -u user
这里写图片描述
这里写图片描述
设置hard为合理的容量
切换用户之后使用
dd if=/dev/zero of=/mnt/userfile bs=1M count=no
来验证可以为用户设置的容量

配置磁盘配额永久生效
vim /etc/fstab
/dev/vdb1 /mnt xfs defaults,usrquota 0 0
这里写图片描述

(读2|写2|读写3)(RAID0|1|0+1)

4. 磁盘阵列RAID

贴段百度百科

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

利用虚拟机模拟实现磁盘阵列RAID

1. 划分三个分区如下(t参数指定磁盘类型为fd)

   Device Boot      Start         End      Blocks   Id  System/dev/vdb1            2048     6293503     3145728   fd  Linux raid autodetect/dev/vdb2         6293504    12584959     3145728   fd  Linux raid autodetect/dev/vdb3        12584960    18876415     3145728   fd  Linux raid autodetect

2. mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
#利用三个设备创建磁盘阵列,参数解释:

    -C  ##创建磁盘阵列    -a  ##/dev/md0如果没有自动创建    -l  ##raid阵列级别    -n  ##使用设备的个数    -x  ##闲置或者说备用设备的个数

3. 格式化md0设备使得文件系统可以识别,然后挂载访问

mkfs.xfs /dev/md0mount /dev/md0 /mnt

挂载之后可以通过以下命令测试阵列的使用或者是功能

mdadm  -D /dev/md0  ##查看raidmdadm -f /dev/md0  /dev/vdb1    ##损坏一个raid组件mdadm -r /dev/md0 /dev/vdb1     ##移除损坏的raid组件mdadm -a /dev/md0 /dev/vdb1     ##添加新的raid组件

监控md0的改变以及挂载目录的变化

watch -n 1 'cat /proc/mdstat; df -h /mnt'

这里写图片描述
4.删除磁盘阵列RAID

1.umount /dev/md0(或者/mnt)#卸载或者停止设备2.mdadm -S  /dev/md0    ##停止raid4.fdisk /dev/vdb#然后删除设备5.rm -fr /dev/md*       ##删除文件

5. lvm实现磁盘扩容和缩减以及磁盘快照

首先我们来个引子:

 比如说有一堆橘子(设备),如何获取所需要的一部分橘质(比如说一个半橘子,也就是说一个半设备的容量),当然是把橘子都柞汁,放到一个大瓶子里,想喝多少倒多少到杯子里就可以了,pv就是将橘子柞汁的过程,vg就是将所有汁子放到一个大瓶子里,lv就是往小杯子按需倒的操作过程中你不要管橘子成了橘子汁,本质一样就可以了

名词解释:

pv:物理卷vg:物理卷组lv:逻辑卷pe:物理拓展

1 。lvm环境的部署
pv—>vg—–>lv

pvfdisk--->分区--->修改分区id---->pvcreatepvs     ##用来查看pv设备pvcreate 分区 ##自作pv设备vgvgcreate vg名称   pv设备vgs     ##vg设备的查看lvlvcreate -L 大小 -n 名字 vg名称lvs     ##lvm设备的查看mkfs.xfs /dev/vg0/lv0mount /dev/vg0/lv0 /mnt#好了,弹性容量有了,可以使用了

操作图示:
这里写图片描述
lvm的管理

2. 扩大设备容量
这里写图片描述

pvcreate /dev/vdb2\#添加了一个新的设备(橘子,用来扩充瓶子中橘子汁)vgextend vg0 /dev/vdb2      \##扩大vglvextend -L 800M /dev/vg0/lv0   \##扩大lvmxfs_growfs /dev/vg0/lv0     \##用于扩大xfs文件系统或者resize2fs  /dev/vg0/lv0     \##用于扩大ext文件系统

3. 缩减设备容量(xfs系统不支持,例子使用ext4文件系统)

watch -n 1 'pvs;echo ========;vgs;echo ======;lvs;echo ======;df -h /mnt'#左边监控命令

这里写图片描述

首先,将文件系统格式化为能够支持缩减的类型mkfs.ext4 /dev/vg0/lv0umount  设备e2fsck -f /dev/vg0/lv0  ##扫瞄数据大小resize2fs /dev/vg0/lv0 300M ##缩减文件系统lvreduce -L 300M /dev/vg0/lv0   ##缩减lvm设备

4. 缩减vg

确定缩减的pv设备如果要缩减的设备是/dev/vdb3,但是/dev/vdb3上有数据那么执行数据迁移pvmove /dev/vdb3 /dev/vdb2vgreduce vg0 /dev/vdb3  ##缩减vg0,/dev/vdb3上一定没有数据才能缩减pvremove /dev/vdb3  ##还原/dev/vdb3成为物理分区

5. lvm删除

umount /mntlvremove  /dev/vg0/lv0  ##删除lvmvgremove  vg0       ##删除vgpvremove /dev/vdb2  ##删除pv

6. lvm快照

操作示例:删除了文件内容之后通过快照进行恢复
这里写图片描述
lvcreate -L 10M -n lv0-backup -s /dev/vg0/lv0
#为设备/dev/vg0/lv0创建快照,-L 10M是用来存贮你修改过的数据的,大小不一定,需要根据自己修改的内容的大小进行估算

mount /dev/vg0/lv0-backup /mnt/#把快照挂上去#快照坏了卸载删除重新照重新挂载
原创粉丝点击