设备——文件系统——文件 设备在最底层
设备——加密——文件系统——文件
1.加密
v1:
LUKS(Linux统一密钥设置)是标准的设备加密格式
LUKS可以对分区或卷进行加密
必须首先对加密的卷进行解密,才能挂载中的文件系统
v2:创建新加密的卷
使用fdisk创建新分区
Cryptsetup luksFormat /dev/vdaN 可对新分区进行加密并设置解密密码
在输入正确的解密密码之后,cryptsetuo luksOpen /dev/vdaN name 会将加密的卷 /dev/vdaN 解锁为 /dev/mapper/name
解密的卷上创建 xfs文件系统 : mkfs -t xfs /dev/mapper/name • 创建目录挂载点 ,并挂载文件系统 : mkdir /secret – mount /dev/mapper/name /secret • 完成之后 , umount /dev/mapper/name 并运行 cryptsetup luksClose name 以锁定加密的卷
[root@localhost ~]# cryptsetup luksFormat /dev/vdb1 ##给设备加密
WARNING!
========
This will overwrite data on /dev/vdb1 irrevocably.
Are you sure? (Type uppercase yes): YES
Enter passphrase: ##至少八个字符
Verify passphrase:
[root@localhost ~]# mount /dev/vdb1 /mnt/ ##显示已加密
mount: 未知的文件系统类型“crypto_LUKS”
[root@localhost ~]# cryptsetup open /dev/vdb1 westos ##解密
Enter passphrase for /dev/vdb1:
[root@localhost ~]# ll /dev/mapper/westos
lrwxrwxrwx. 1 root root 7 2月 19 20:41 /dev/mapper/westos -> ../dm-0
[root@localhost ~]# cryptsetup close /dev/mapper/westos ##关掉
[root@localhost ~]# mount /dev/mapper/westos /mnt/
mount: 特殊设备 /dev/mapper/westos 不存在
[root@localhost ~]# vim /root/passwdfile ##写加密文件
[root@localhost ~]# chmod 600 passwdfile
[root@localhost ~]# cryptsetup luksAddKey /dev/vdb1 /root/passwdfile ##添加加密信息到设备
Enter any passphrase:
[root@localhost ~]# vim /etc/crypttab
[root@localhost ~]# vim /etc/rc.d/rc.local
2.取消加密
[root@localhost ~]# vim /root/passwdfile
[root@localhost ~]# vim /etc/rc.d/rc.local
[root@localhost ~]# vim /etc/crypttab
[root@localhost ~]# rm -fr /root/passwdfile
[root@localhost ~]# mkfs.xfs /dev/vdb1
mkfs.xfs: cannot open /dev/vdb1: 设备或资源忙
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 10473900 4832368 5641532 47% /
devtmpfs 927072 0 927072 0% /dev
tmpfs 942660 140 942520 1% /dev/shm
tmpfs 942660 17064 925596 2% /run
tmpfs 942660 0 942660 0% /sys/fs/cgroup
[root@localhost ~]# ll /dev/mapper/date
lrwxrwxrwx. 1 root root 7 2月 19 21:16 /dev/mapper/date -> ../dm-0
[root@localhost ~]# cryptsetup close date
[root@localhost ~]# ll /dev/mapper/date
ls: 无法访问/dev/mapper/date: 没有那个文件或目录
[root@localhost ~]# cryptsetup close /dev/mapper/date ##盖盖子
Device /dev/mapper/date is not active.
[root@localhost ~]# mkfs.xfs /dev/vdb1
mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (crypto_LUKS).
mkfs.xfs: Use the -f option to force overwrite.
[root@localhost ~]# mkfs.xfs /dev/vdb1 -f ##格式化
meta-data=/dev/vdb1 isize=256 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 10473900 4832664 5641236 47% /
devtmpfs 927072 0 927072 0% /dev
tmpfs 942660 140 942520 1% /dev/shm
tmpfs 942660 17032 925628 2% /run
tmpfs 942660 0 942660 0% /sys/fs/cgroup
[root@localhost ~]# fdisk -l
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 20970332 10484142+ 83 Linux
设备 Boot Start End Blocks Id System
/dev/vdb1 2048 206847 102400 83 Linux
##删除分区/dev/vdb1
[root@localhost ~]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除
命令(输入 m 获取帮助):wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# partprobe
########软件磁盘阵列##########
RAID:容错廉价磁盘阵列。RAID可以通过一些技术将多个较小的磁盘设备整合成一个较大的磁盘设备;而这个较大的磁盘功能可不止是存储而已,它还具有数据保护的功能。整个RAID由于选择的等级不同,而使得整合后的磁盘具有不同的功能,基本常见的等级有:
v1:RAID-0 等量模式:性能最佳
v2:RAID-1 映像模式:完整备份
v3:RAID-5 性能与数据备份的均衡考虑
fdisk /dev/vdb ## 建立三个分区,选择t进行 raid 分配
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
-C 新建RAID的参数
/dev/md0 设备名称
-a yes 决定新建后面接的软件磁盘阵列设备
-l 1 设置这组磁盘阵列的等级
-n 2 2个磁盘作为磁盘阵列的设备
-x 1 1个作为备用设备
[root@localhost ~]# mount /dev/md0 /mnt/
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
[root@localhost mnt]# mdadm -D /dev/md0 ##查看mdadm的状态
/dev/md0:
Version : 1.2
Creation Time : Sun Feb 19 22:22:01 2017
Raid Level : raid1
Array Size : 2096064 (2047.28 MiB 2146.37 MB)
Used Dev Size : 2096064 (2047.28 MiB 2146.37 MB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Sun Feb 19 22:26:48 2017
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Name : localhost:0 (local to host localhost)
UUID : 47fb8d91:3d3a6a72:d07db4ac:f7137178
Events : 17
Number Major Minor RaidDevice State
0 253 17 0 active sync /dev/vdb1
1 253 18 1 active sync /dev/vdb2
2 253 19 - spare /dev/vdb3
[root@localhost ~]# mdadm -f /dev/md0 /dev/vdb1 ##手动破坏
mdadm: set /dev/vdb1 faulty in /dev/md0
[root@localhost ~]# mdadm -r /dev/md0 /dev/vdb1 ##删除破坏设备
mdadm: hot removed /dev/vdb1 from /dev/md0
[root@localhost ~]# mdadm -a /dev/md0 /dev/vdb1 ##手动添加设备
mdadm: added /dev/vdb1
[root@localhost ~]# mdadm -S /dev/md0 ##停止设备工作
mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?
[root@localhost ~]# umount /mnt/
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/vda1 10473900 4832424 5641476 47% /
devtmpfs 927072 0 927072 0% /dev
tmpfs 942660 140 942520 1% /dev/shm
tmpfs 942660 17084 925576 2% /run
tmpfs 942660 0 942660 0% /sys/fs/cgroup
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# rm -fr /dev/md0
[root@localhost ~]# fdisk /dev/vdb ##进行删除
问题:
[root@localhost ~]# mkfs.xfs /dev/vdb1
mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (linux_raid_member).
mkfs.xfs: Use the -f option to force overwrite.
[root@localhost ~]# mkfs.xfs /dev/vdb1 -f ##强行格式化
########磁盘配额##########
管理员适当限制硬盘的空间给用户,以妥善分配系统资源
会倒计时的宽限时间:只有在用户的磁盘用量介于soft和hard之间时,才会出现且会倒数的一个时间,由于达到hard限值时,用户的磁盘使用权可能会被锁住,一般默认的宽限时间为7天,如果7天内你都不进行任何磁盘管理,那么soft限制值会即刻替代hard限制来作为quota的限制。
[root@localhost ~]# mount -o usrquota,grpquota /dev/vdb1 /pub/ ##给用户和组进行配额挂载
/dev/vdb1 on /pub type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[root@localhost ~]# quotaon -ugv /dev/vdb1 ##开启配额
quotaon: Enforcing group quota already on /dev/vdb1
quotaon: Enforcing user quota already on /dev/vdb1
[root@localhost ~]# edquota -u student ##对用户进行编辑配额的限制
Disk quotas for user student (uid 1000):
Filesystem blocks(数据区) soft(软件大小) hard(硬件大小) inodes(个数) soft(个数) hard(个数)
/dev/vdb1 0 0 102400 0 0 0
[student@localhost ~]$ dd if=/dev/zero of=/pub/file bs=1M count=110 ##超过最大限制时
dd: error writing ‘/pub/file’: Disk quota exceeded
101+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.487621 s, 215 MB/s
[root@localhost ~]# repquota -a ##显示配额信息
*** Report for user quotas on device /dev/vdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 0 0 0 3 0 0
student -- 102400 0 102400 1 0 0
[root@localhost ~]# vim /etc/fstab ##错误编写会影响开机
[root@localhost ~]# reboot