1 文件管理
用户或组配额管理
为了设定每用户对文件系统的使用个配额分配,文件系统配额统一管理
配置配额系统
在内核中实现执行
以文件系统为单位启用
对不同组或者用户的策略不同
根据块或者节点进行限制
执行软限制 soft limit
硬限制 hard limit
如果要实现配额分配需要挂载的文件系统支持 quota功能
在挂载选项中添加 usrquota,grpquota
并且初始化数据库 quotacheck
quotacheck
-u初始化用户quota
-g初始化组quota
为用户开启或关闭配额 quotaon quotaoff
直接编辑配额 edquota username mount_point对某个用户进行磁盘配额分配
同时也可以 直接使用shell进行编辑
setquota username soft hard (inode)soft (inode)hard
定义原始标准用户
edquota -p username 可以直接设定为原始的磁盘配额使用额度
报告配额状态
用户调查 quota username
配额概述 repquota /path/to/mount_point 可以查看指定用户或组对本分区的磁盘使用率
2 RAID
RAID Redundant Array of Inexpensive(Independent) Disks
1988 年由加利福尼亚大学伯克利分校研发
将多个磁盘合成一个"阵列"来提供更好的性能,冗余或两者都提供
RAID 的好处
提高IO能力
磁盘并行读写
提高耐用性
磁盘冗余来实现
级别 多块磁盘组织在一起的工作方式有所不同
RAID实现的方式
外接式磁盘阵列 通扩展卡提供适配功能
内接式RAID 主板集成RAID控制器
安装OS前在bios里设置
软件RAID 通过OS实现
常见的RAID级别
RAID-0 条带式 即将数据分成多分 分别存储到不同磁盘但是当有一个磁盘损坏,整个数据将都不可以使用
可用空间 N*min(D1,D2...)
无容错能力
最少磁盘 2
RAID-1 镜像 即将数据存储成两份 当有一个损坏时,数据不会丢失,还可以继续使用
读性能提升,写性能略有下降
可用空间 1*min(D1,D2...)
有冗余能力
最少磁盘 2
RAID-4 多块数据盘异或运算,将异或数据存放到专用检验盘,但是不能同时坏两张盘
可用空间(n-1)*min(D1,D2...)
最少磁盘数 3
RAID-5 是RAID0和RAID1 折中的方案,将校验为存放到不同磁盘上
可用空间(n-1)*min(D1,D2...)
容错能力最多1块磁盘损坏
最少磁盘数 3
RAID-10 是先组合raid1然后在此基础上在组合raid0
读写能力提升
可用空间 每一组镜像最多坏一块
最少磁盘数 4
软RAID的实现
mdadm 模块化工具
创建 -C
装配 -A
监控 -F
管理 -f(损坏) -r(移除) -a(添加)
-C 创建模式
-n 是有多少块设备创建此RAID 不加空闲磁盘
-l 指定RAIDjibie
-a {yes|no} 自动创建目标RAID设备的设备文件
-c 指定chunk_size 的大小
-x 指定空闲磁盘的个数
-D 显示RAID的详细信息
mdadm -D /dev/md#
-f 将某个磁盘标记为损坏
-a 添加磁盘
mdadm -G /dev/md# -n# -a /dev/sd##
-r 移除磁盘
生成配置文件 mdadm -D -s > /etc/mdadm.conf
停止设备 mdadm -S /dev/md#
激活设备 mdadm -A -s /dev/md#
强制启动 mdadn -R /dev/md#
删除RAID信息 mdadm --zero-super-block /dev/sd##
注意需要先将磁盘从raid中移除 在删除raid信息
1 :创建一个可用空间为1G 的RAID1 设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup 目录
1 mdadm -C /dev/md0 -l 1 -n 2 -x 1 /dev/sdc1 /dev/sdf1 mkfs.ext4 /dev/
2 编辑 /etc/fstab 添加一行
/dev/md0 /backup ext4 default 0 0
2 :创建由三块硬盘组成的可用空间为2G 的RAID5 设备,要求其chunk 大小为256k ,文件系统为ext4 ,开机可自挂载至 至/mydata
1 mdadm -C /dev/md1 -l 5 -n 3 -c 256k /dev/sd{c1,d1,e1}
2 编辑 /etc/fstab 添加一行
/dev/md0 /mydata ext4 default 0 0
3 lvm
lvm logical volumn mangement 逻辑卷管理器
允许对多个进行方便操作的抽象层,包括重组设定文件系统的大小
允许在多个设备间重新组织文件系统
将设备指定为逻辑卷
用一个或多个物理卷来创建卷组
物理卷使用固定大小的物理区域(physical Extent,PE) 来定义
在物理卷上创建逻辑卷
可以在逻辑卷上创建文件系统
lvm
dm:device mapper 将多个底层设备块组织成一个设备的模样
设备名 /dev/dm-#
软连接 /dev/mapper/vg_name/lv_name
/dev/mapper/lv_name
/dev/vg_name/lv_name
/dev/vg_name/lv_name
pv
pvcreate 创建pv
pvcreate -v device 带过程的创建pv
pvremove device
pvmove 移动数据 将放到此分区中的数据放到其他同卷组的其他pv上
vg
vgcreate vgname device[pv]
-s 指定pe大小
vgextend volumegroup device
vgreduce volumegroup device 之前要做 pvremove device
vgremove vgname
lv
lvcreate
-s le 大小
-n lvname
-l pe 的个数
-L lv大小
lvcreate -L # -n lvname vgname
lvremove /dev/vg_name/lvname
扩展逻辑卷
lvextend -L [+]#单位 /dev/vg_name/lvname
lvextend -L 5G /dev/vg_name/lvname
逻辑空间虽然扩大了,但是文件系统大小并没有变化所以接下来要扩展文件系统大小
e2fsck -f /dev/vg_name/lvname first
resize2fs /dev/vg_name/lvname lvmresize xfs resizevolumn
缩减逻辑卷 lvreduce
先缩减文件系统的边界大小 然后修改物理边界大小
1.卸载文件系统
2.e2fsck [xfs_repair] -f /dev/vg_name/lvname
3.resize2fs /dev/vg_name/lvname size
4.lvreduce -L [-]#单位 /dev/vg_name/lvname
5. mount
lvm的迁移
1 取消挂载
2 确保没有重名的vg vgrename vgnamenewname
3 vgchange -an newname
4 vgexport newname
5 拆除磁盘
插到另一台机子上
1 插入新主机
pvscan 重新扫描一下 pv
vgimport newname
vgchange -ay newname
1 、创建一个至少有两个PV 组成的大小为20G 的名testvg的 的VG ;要求PE 大小为16MB, 而后在卷组中创建大小5G 的逻辑卷testlv ;挂载至/users 目录
1 pvcreate /dev/sdb1 /dev/sdc1
2 vgcreate -b 16MB testvg /dev/sdb1 /dev/sdc
3 lvcreate -L 5G -n testlv testvg
4 mkfs.ext4 /dev/testvg/testlv
2、 新建用户archlinux ,要求其家目录为/users/archlinux,而后su 切换至archlinux 用户,复制/etc/pam.d 目录至自己
的家目录
1 useradd archlinux -d /users/archlinux
2 cp /etc/pam.d /users/archlinux
3 、扩展testlv 至7G ,要求archlinux 用户的文件不能丢失
1 umount fs
2 lvextend -L 7G /dev/tesvg/testlv
3 lvextend -r -L 7G /dev/tesvg/testlv 可以不用在扩展文系统
4 fsck.ext4 -f /dev/testvg/testlv
5 resize2fs /dev/testvg/test/lv 7G
6 mount
4 、收缩testlv 至3G ,要求archlinux 用户的文件不能丢失
1 umount fs
2 fsck.ext4 -f /dev/testvg/testlv
3 resize2fs /dev/testvg/testlv 3G
4 lvreduce -L 3G /dev/testvg/testlv
5 、对testlv 创建快照,并尝试基于快照备份数据,验正快照的功能
lvcreate -L 4G -p r -s -n snap_testvg /dev/testvg/testlv